我正在使用 pgAdmin3 并使用 pkg 安装 postgreSQL 和 pg。我正在尝试通过 tomcat 连接到 postgreSQL。当我从我的 tomcat /bin 目录执行 ./startup.sh 时,日志文件显示此错误:
原因:org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext-coreDataServices.xml]中定义名称为“metaModelDAO”的bean创建错误:调用init方法失败;嵌套异常是 org.apache.cayenne.CayenneRuntimeException:[v.3.0.1.LB Nov 16 2011 05:24:11] 检测数据库类型时出错:无法创建 PoolableConnectionFactory(致命:主机“10.0.0.197 没有 pg_hba.conf 条目", 用户 "abc_writer", 数据库 "abc", SSL 关闭)
这是我在 context.xml 中的内容:
<Context>
<Resource username="abc_writer" password="levelsbeyond"
url="jdbc:postgresql://localhost:5432/abc"
type="javax.sql.DataSource" name="jdbc/abc-workflow"
maxWait="10000" maxIdle="20" maxActive="50"
driverClassName="org.postgresql.Driver" auth="Container" />
</Context>
这是我的 pg_hba.config 的样子:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres md5
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
host abc abc_writer 10.0.0.197 md5
当我从 postgresql/bin 打开 postmaster 时,它显示:
localhost:~ bryanraymond$ /Library/PostgreSQL/9.3/bin/postgres ; exit;
postgres cannot access the server configuration file
"/Library/PostgreSQL/9.3/data/postgresql.conf": Permission denied
logout
它说我在 pg_hba.conf 中没有条目的原因是否是因为我没有权限如果是这样我如何获得权限?如果这不是问题,我是否有设置错误?
--- 谢谢,布赖恩