我最近不得不替换我的 postgresql.conf 文件,并且我认为我的设置正确,但是当我尝试运行 Postgresql 时,出现此错误:
ESTFATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": No such file or directory
我的解决方法是以 root 身份在 /var/run 中创建一个名为 postgresql 的文件夹,然后将该文件夹的所有者更改为 postgres。
最大的问题是每次启动计算机时我都需要这样做,但文件夹不知何故会自动删除。
我尝试注释掉 conf 文件中的外部 pid 文件位,但这并没有改变任何东西。
答案1
- 你正在运行哪个版本的 postgresql?
- 它来自哪个 repo?
- 您可以发布您的配置文件和初始化脚本吗?
我尝试注释掉 conf 文件中的外部 pid 文件位,但这并没有改变任何东西。
尝试将 pid 文件写入 /var/run/FILE 而不是 /var/run/postgresql/FILE。
[编辑1]:
应用程序的默认套接字目录通常是 /tmp,因为它是所有人可写的(var 不是,当然,创建目录并设置权限可以使其工作,这是非标准的,使用标准设置可能会更好)。另外,我会将额外的 pid 行注释掉,因为 init 脚本不使用它。