【问题标题】:pid file disappears after starting pgpool with ubuntu and postgresql使用 ubuntu 和 postgresql 启动 pgpool 后,pid 文件消失
【发布时间】:2015-02-22 17:31:16
【问题描述】:

我已经在 ubuntu 12.04 上使用 pgpoolII-3.3.3 和 pgPoolAdmin 安装了 postgresql 9.1

如果我尝试使用 sudo pgpool 从终端运行 pgpool,它似乎会启动。查看ubuntu文件资源管理器我可以看到一个pgpool.pid文件是如何在/var/run/pgpool/pgpool.id创建的(这是pgpool.conf中的路径)

但是一秒钟后文件消失了。

我已尝试更改目录的所有者和目录权限,但似乎没有任何问题。

如果在那之后我尝试使用 sudo pgpool -m fast stop 停止 pgpool,我得到一个错误:错误。找不到pid文件

文件似乎被创建并突然被销毁。我想知道为什么。

如果我尝试从 pgPoolAdmin 运行 pgpool,我得到了这个错误:pgpool start failed。未找到 pgpool.pid。

像其他时候一样,这可能是一个愚蠢的问题,我无法解决它,因为我对这些系统没有高水平的知识。

知道要尝试什么吗?

Xrry 圣诞节

【问题讨论】:

  • 也许不是 pid 文件被破坏,而是 pgpool 进程启动并且由于某种原因被中止(这就是看到文件出现和消失的原因)?

标签: linux postgresql ubuntu pgpool


【解决方案1】:

在配置 PgPool-II 时,我发现 some documentation 解释说使用默认目录 /var/run/pgpool 保存 PID 文件是一个坏主意,因为该文件可能会在服务重新启动时被删除。

/var/run 目录的内容(包括 pgpool 目录)可能会在重新启动期间被操作系统删除。这 /var/run/pgpool 目录不应用作 pgpool.pid 文件。

using Ubuntu 时似乎出现此问题。

因此,一个可能的解决方案是将 PID 文件存储在一个名为的目录中,以便与可以重新启动的服务的名称不匹配。例如,您可以更改 pgpool.conf 文件:

 pid_file_name = '/var/run/pgpool4ever/pgpool.pid'

由于我不使用 Ubuntu,我无法自己尝试,但也许这可以帮助面临类似问题的人。虽然我不确定超越基本的 Ubuntu 工作方式是否非常明智....

【讨论】:

    【解决方案2】:

    使用 ls -la 命令检查 tmp 目录并删除文件 .s.PGSQL.9999 和 .s.PGSQL.9898 并重新启动服务器

    【讨论】:

      【解决方案3】:

      解决了。我认为问题是由权限问题引起的。尝试后

      sudo mkdir /var/run/pgpool
      sudo chmod 777 /var/run/pgpool
      sudo chown postgres/postgres /var/run/pgpool
      sudo postgresql service restart
      

      它现在似乎正在工作。

      【讨论】:

        猜你喜欢
        • 2015-08-27
        • 2021-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-06
        • 1970-01-01
        • 2011-01-10
        • 1970-01-01
        相关资源
        最近更新 更多