0

我已经开始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在网上标准教程中提到的所有配置文件。

4

2 回答 2

5

试试这个命令:

createdb -p 9999 -h 127.0.0.1 bench_replication

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

于 2012-05-26T17:46:02.377 回答
0

反应迟缓但对后代有用:

当你跑

createdb -p 9999 bench_replication

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

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

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

createdb -U postgres -p 9999 bench_replication

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

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

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


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

于 2013-01-12T13:32:53.890 回答