运行以下命令进行全新安装。
yum install postgresql-server postgresql-contrib
postgresql-setup initdb
systemctl start postgresql
采用标准配置,无需进行任何更改。
Nov 02 10:33:17 xxx.org pg_ctl[87482]: LOG: could not bind IPv4 socket: Address already in use
Nov 02 10:33:17 xxx.org pg_ctl[87482]: HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
但实际上它已成功绑定到 127.0.0.1:5432。我在 postgres 启动之前运行了 netstat -anp,5432 端口未被使用。启动 postgresl 后,我可以看到它已成功绑定到 5432。
netstat -anp | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 12421/postgres
unix 2 [ ACC ] STREAM LISTENING 46516 12421/postgres /tmp/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 46514 12421/postgres /var/run/postgresql/.s.PGSQL.5432
上周,我在另一台相同的服务器上安装了相同的映像,一切正常。我比较了 pg 版本和 /etc/hosts 文件,发现它们是相同的。我甚至复制了相同的 postgres conf,但仍然出现相同的问题。Postgresql 已启动,我可以正常连接!只是它在启动时会抛出该消息,这很烦人。
答案1
listen_addresses = '*'
port = 5432
事实证明,您需要在 postgresql.conf 中使用它。尽管默认情况下,它会绑定到该端口!