我第一次尝试安装 postgresql 10,需要运行 initdb 设置。不幸的是,这会失败并从 nologin shell 返回错误。
server# /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database ...
failed, see /var/lib/pgsql/10/initdb.log
server# cat /var/lib/pgsql/10/initdb.log
This account is currently not available.
我对命令进行了跟踪并验证了 su 命令可能是导致此问题的原因,似乎 postgres 用户的默认设置是 /sbin/nologin。在我见过的各种例子中,没有提到这是一个可能的问题。默认情况下,这将如何在任何其他系统上工作?我觉得临时修改登录 shell 会起作用,但我想从应用程序端更具体地了解这个问题。
centos 7.8
selinux 模式:permissive
postgresql 10