温馨提示×

CentOS怎么修改PostgreSQL端口

小樊
43
2026-08-20 03:47:15
栏目: 云计算

在 CentOS 上修改 PostgreSQL 端口,可以按下面步骤操作(以常见的 PostgreSQL 12/13/14/15 为例,路径基本一致)。


一、修改 PostgreSQL 配置文件

1. 找到 postgresql.conf

常见路径(根据你的版本可能不同):

/var/lib/pgsql/版本号/data/postgresql.conf

例如:

/var/lib/pgsql/14/data/postgresql.conf

如果你不确定路径,可以用:

ps -ef | grep postgres

sudo -u postgres psql -c "SHOW config_file;"

2. 修改端口号

编辑配置文件:

vim /var/lib/pgsql/14/data/postgresql.conf

找到:

#port = 5432

修改为(例如改成 5433):

port = 5433

⚠️ 注意:去掉前面的 # 注释符号


二、配置防火墙(非常关键)

如果 CentOS 启用了 firewalld,需要放行新端口。

1. 查看当前端口

firewall-cmd --list-ports

2. 放行新端口

firewall-cmd --permanent --add-port=5433/tcp
firewall-cmd --reload

三、重启 PostgreSQL 服务

systemctl restart postgresql-14

(版本号根据实际情况调整)

查看状态:

systemctl status postgresql-14

四、验证端口是否生效

方法 1:使用 psql

psql -h 127.0.0.1 -p 5433 -U postgres

方法 2:查看监听端口

ss -lntp | grep 5433

netstat -lntp | grep 5433

五、允许远程访问(可选)

如果修改端口后还需要远程连接,需要修改:

1. postgresql.conf

listen_addresses = '*'

2. pg_hba.conf

vim /var/lib/pgsql/14/data/pg_hba.conf

添加:

host  all  all  0.0.0.0/0  md5

然后重启 PostgreSQL。


六、常见问题

Q1:端口修改后连不上?

✅ 检查:

  • 是否去掉 #
  • 防火墙是否放行
  • 是否重启 PostgreSQL

Q2:SELinux 是否影响?

如果启用了 SELinux,可能需要:

semanage port -a -t postgresql_port_t -p tcp 5433

如果你愿意,可以告诉我:

  • ✅ PostgreSQL 版本
  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是否要远程访问

我可以给你 完全针对你环境的命令

0