5

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

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

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

我试图更改目录的所有者和目录权限,但似乎没有任何解决办法。

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

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

如果我尝试从 pgPoolAdmin 运行 pgpool,我会收到此错误:pgpool start failed。未找到 pgpool.pid。

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

关于尝试什么的任何想法?

Xrry 圣诞节

4

3 回答 3

3

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

于 2017-09-12T10:51:39.073 回答
2

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

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

它现在似乎正在工作。

于 2015-01-01T20:42:52.470 回答
1

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

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

使用 Ubuntu时似乎会出现此问题。

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

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

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

于 2018-06-12T13:20:42.453 回答