我已使用命令
启动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
配置文件。
答案 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
如果这还不够清楚 - 只需检查您的日志。