在 CentOS 上配置 PostgreSQL 通常包括 安装、初始化、启动服务、配置远程访问和用户/数据库创建 等步骤。下面以 CentOS 7 / 8 / Stream + PostgreSQL 14/15 为例,给你一套完整、实用的配置流程。
CentOS 默认仓库版本较旧,建议使用官方源。
# 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
# 查看可用版本
yum search postgresql
# 安装 PostgreSQL 15(示例)
sudo yum install -y postgresql15-server postgresql15-contrib
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
✅ 初始化完成后,数据目录一般在:
/var/lib/pgsql/15/data
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
查看状态:
systemctl status postgresql-15
sudo -i -u postgres
进入数据库:
psql
ALTER USER postgres WITH PASSWORD 'StrongPassword123';
退出:
\q
postgresql.confvim /var/lib/pgsql/15/data/postgresql.conf
修改或取消注释:
listen_addresses = '*'
pg_hba.confvim /var/lib/pgsql/15/data/pg_hba.conf
在文件末尾添加:
# IPv4 remote connections
host all all 0.0.0.0/0 md5
或只允许指定 IP:
host all all 192.168.1.0/24 md5
sudo systemctl restart postgresql-15
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
sudo -i -u postgres
psql
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
psql -h 127.0.0.1 -U myuser -d mydb
psql -h <服务器IP> -U myuser -d mydb
listen_addressespg_hba.confsetenforce 0
| 项目 | 路径 |
|---|---|
| 配置文件 | /var/lib/pgsql/15/data |
| 日志 | /var/lib/pgsql/15/data/log |
| 服务名 | postgresql-15 |
如果你告诉我:
我可以给你 更精确的生产级配置方案。