我已经使用以下命令启动了pgpool
sudo pgpool -n &它开始在终端上发出以下消息:
2012-05-04 10:54:29日志: pid 4109: pgpool成功启动.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配置文件,如网上标准教程中提到的那样。
发布于 2012-05-26 17:46:02
尝试以下命令:
createdb -p 9999 -h 127.0.0.1 bench_replication默认情况下,PostgreSQL尝试使用套接字。
发布于 2013-01-12 13:32:53
反应迟,但对后代有用:
当你跑的时候
createdb -p 9999 bench_replication在root下,这将在日志中生成以下错误:
主机"12.34.56.78“、用户”根“、数据库”pg_hba.conf“、SSL的pg_hba.conf条目
这意味着您应该明确提到用户名,如下所示:
createdb -U postgres -p 9999 bench_replication然后,您将得到另一个错误:
没有主机"12.34.56.78“的pg_hba.conf条目,用户"postgres",数据库"postgres",SSL
所以你被HBA级别的第二个节点阻塞了。在这种情况下,您应该允许从第一个节点访问第二个节点(在pg_hba.conf中):承载所有postgres 12.34.56.77信任,或者设置密码: createdb -U postgres -p 9999 bench_replication -W SoMeP4Ssw0rD
如果这还不够清楚,就检查一下你的日志。
https://stackoverflow.com/questions/10443171
复制相似问题