在没有 postgresql-server 的情况下重新启动 PostgreSQL



我在 CentOS 7 上,我正在尝试解决'PG::ConnectionBad: 致命:对等身份验证失败的用户'错误。

所以我已经想出我应该改变pg_hba.conf(对等到md5),我已经做到了。看来我必须重新启动 postgres,但这并不像我想象的那么容易。

我尝试了"service postgresql

restart",结果是"无法重新启动 postgresql.service:找不到单元"。

然后尝试安装 posgresql-server。有:

oct 23 01:16:15 serverct1 pg_ctl[3280]: HINT:  Is another postmaster already running on port 5432? If ...try.
oct 23 01:16:15 serverct1 pg_ctl[3280]: WARNING:  could not create listen socket for "localhost"
oct 23 01:16:15 serverct1 pg_ctl[3280]: FATAL:  could not create any TCP/IP sockets
oct 23 01:16:16 serverct1 pg_ctl[3280]: pg_ctl: could not start server
oct 23 01:16:16 serverct1 systemd[1]: postgresql.service: control process exited, code=exited status=1
oct 23 01:16:16 serverct1 systemd[1]: Failed to start PostgreSQL database server.

关于5432端口使用情况:

postgres        5432/tcp        postgresql      # POSTGRES
postgres        5432/udp        postgresql      # POSTGRES

所以我很好奇:

1) postgresql

和 postgresql-server 是分开工作的吗?

2)是否可以在没有postgresql-server的情况下重新启动posgresql?

3) 如果没有 - 如何免费获取端口 5432 以运行 postgresql-server?

如果您使用标准 postgres pg_ctl,您可以避免serverct1的麻烦,例如:

pg_ctl reload

或者如果需要pg_ctl reload -D $PGDATA

您无需重新启动 postgres 即可应用pg_hba更改:https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

pg_hba.conf 文件在启动时和主服务器时读取 进程接收 SIGHUP 信号。如果在活动 系统,您需要向邮局局长发出信号(使用pg_ctl重新加载或 kill -HUP) 使其重新读取文件。

最新更新