pgpool无法创建数据库

时间:2012-05-04 05:31:36

标签: database postgresql pgpool

我已使用命令

启动pgpool
sudo pgpool -n &

它开始在终端上发出以下消息:

  

2012-05-04 10:54:29日志:pid 4109:pgpool-II成功启动。版本2.3.2.1(tomiteboshi)

但是当我尝试运行以下命令时:

createdb -p 9999 bench_replication

我收到以下错误消息:

  

createdb:无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录。   服务器是否在本地运行并接受Unix域套接字“/var/run/postgresql/.s.PGSQL.9999”上的连接?

当我将端口从9999更改为5432时,仅在本地节点上创建数据库bench_replication,而不是在从属节点上创建。但是,教程说要在此命令中提及端口9999,以便通过bench_replication在所有从属节点上创建数据库pgpool

要确认pgpool是否真的在运行,我会停止pgpool使用命令

2012-05-04 10:58:50 LOG:   pid 4109: received smart shutdown request
stop request sent to pgpool. waiting for termination...done.
[1]+  Done                    sudo -A pgpool -n

确认pgpool实际上正在运行。我究竟做错了什么?我已经更改了我在网络标准教程中提到的所有pgpool配置文件。

2 个答案:

答案 0 :(得分:4)

尝试此命令:

createdb -p 9999 -h 127.0.0.1 bench_replication

默认情况下,PostgreSQL尝试使用套接字。

答案 1 :(得分:0)

迟到的回应,但对后代有用:

运行时

createdb -p 9999 bench_replication

在root下,这会在日志中生成以下错误:

  

没有pg_hba.conf条目主机“12.34.56.78”,用户“root”,数据库   “postgres”,SSL off

这意味着您应该明确提及用户名:

createdb -U postgres -p 9999 bench_replication

然后你会得到另一个错误:

  

主机“12.34.56.78”,用户“postgres”,数据库没有pg_hba.conf条目   “postgres”,SSL off

所以你被HBA级别的第二个节点阻止了。 在这种情况下,您应该首先允许第二个节点访问(在pg_hba.conf中): 主持所有postgres 12.34.56.77信任 或者你应该设置密码: createdb -U postgres -p 9999 bench_replication -W SoMeP4Ssw0rD


如果这还不够清楚 - 只需检查您的日志。