【问题标题】:pgpool can't create databasepgpool 无法创建数据库
【发布时间】:2012-05-04 05:31:36
【问题描述】:

我已经使用命令启动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,以便通过pgpool 在所有从节点上创建数据库bench_replication

为了确认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 配置文件。

【问题讨论】:

    标签: database postgresql pgpool


    【解决方案1】:

    试试这个命令:

    createdb -p 9999 -h 127.0.0.1 bench_replication
    

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

    【讨论】:

    • 四年后仍在工作!这应该是公认的答案!
    【解决方案2】:

    反应迟缓但对后代有用:

    当你跑步时

    createdb -p 9999 bench_replication
    

    在根目录下,这会在日志中生成以下错误:

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

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

    createdb -U postgres -p 9999 bench_replication
    

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

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

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


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

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 2013-07-24
      相关资源
      最近更新 更多