温馨提示×

PostgreSQL在CentOS怎么配置

小樊
32
2026-07-09 17:08:39
栏目: 云计算

下面给你一份在 CentOS 上配置 PostgreSQL 的完整实操指南,从安装到基本配置、远程访问、用户与数据库创建,适合生产/学习环境。


一、安装 PostgreSQL(CentOS 7 / 8 / Stream)

1️⃣ 安装官方仓库(推荐)

CentOS 默认仓库版本较旧,建议使用 PostgreSQL 官方源。

# CentOS 7
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# CentOS 8 / Stream
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2️⃣ 安装 PostgreSQL(以 16 为例)

# CentOS 7
sudo yum install -y postgresql16-server postgresql16-contrib

# CentOS 8 / Stream
sudo dnf install -y postgresql16-server postgresql16-contrib

可替换 1615 / 14 / 13


二、初始化与启动

1️⃣ 初始化数据库

sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

2️⃣ 启动并设置开机自启

sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

查看状态:

systemctl status postgresql-16

三、基础配置

1️⃣ 切换到 postgres 用户

sudo -i -u postgres

进入数据库:

psql

2️⃣ 修改 postgres 用户密码

ALTER USER postgres WITH PASSWORD 'StrongPassword';

退出:

\q
exit

四、远程访问配置(常用)

1️⃣ 修改监听地址

编辑配置文件:

sudo vi /var/lib/pgsql/16/data/postgresql.conf

修改:

listen_addresses = '*'

2️⃣ 配置允许访问 IP

编辑 pg_hba.conf

sudo vi /var/lib/pgsql/16/data/pg_hba.conf

添加(示例):

# IPv4 远程访问
host    all    all    0.0.0.0/0    md5

或更安全:

host    all    all    192.168.1.0/24    md5

3️⃣ 开放防火墙端口

sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

4️⃣ 重启 PostgreSQL

sudo systemctl restart postgresql-16

五、创建用户与数据库

sudo -i -u postgres
psql
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

六、常用配置参数(性能/生产)

编辑 postgresql.conf

max_connections = 200
shared_buffers = 2GB
work_mem = 16MB
maintenance_work_mem = 512MB

修改后重启生效。


七、常见问题排查

✅ 端口是否监听

ss -lntp | grep 5432

✅ 查看日志

tail -f /var/lib/pgsql/16/data/log/

✅ 连接测试

psql -h 127.0.0.1 -U myuser -d mydb

八、版本速查

系统 命令
CentOS 7 yum
CentOS 8 / Stream dnf
默认数据目录 /var/lib/pgsql/16/data

如果你愿意,我可以帮你:

  • ✅ 写 生产环境 PostgreSQL 配置文件
  • ✅ 配置 主从复制 / 高可用
  • ✅ 优化 CentOS + PostgreSQL 性能
  • ✅ 排查 无法远程连接问题

直接告诉我你的 CentOS 版本 + PostgreSQL 版本 + 使用场景 即可。

0