PostgreSQL 服务器无法在 ArchLinux 上启动:致命:无法创建锁定文件 »/run/postgresql/.s.PGSQL.5432.lock«



我是 Arch 的新手,也是 PostgreSQL 的初学者,所以这可能是一个非常基本的问题。

我从 extra 安装了 postgresql 11.5-4 和从 AUR 安装了 pgadmin 4,两者似乎都运行良好。 我使用以下命令创建了一个测试数据库:

initdb -D /home/lg/test-db

我得到了答案:

You can start the db-server using:
pg_ctl -D /home/lg/test-db -l logdatei start

我试过了,得到了:

pg_ctl -D /home/lg/test-db -l logdatei start
waiting for serer to start.... stopped 
pg_ctl: could not start the server
check the log.

日志只说无法创建锁定文件 »/run/postgresql/.s.PGSQL.5432.lock«,因为找不到该文件夹。在/run 下没有一个名为"postgresql"的文件夹。我想postgresql无法创建此文件夹,因为它没有权限。但是,一些在线帖子建议将数据库的用户/所有者更改为sudo。但是,Postgresql 可以防止这种情况。当我尝试任何命令作为sudo时,postgresql告诉我这个命令不能以root身份运行。我在这里的想法中一定有一些非常基本的错误,但我已经 3 个小时没有解决它了。

在启动服务器之前,您必须从postgresql.confunix_socket_directories中删除/run/postgresql

可能你有/var/run 符号链接到/run,并且 run 在 tmpfs 上。你应该在/usr/lib/tmpfiles.d/postgresql.conf 中添加类似d /run/postgresql 0755 postgres postgres -的东西

相关内容

最新更新