CentOS 7系统上安装PostgreSQL的详细步骤及注意事项
一、安装步骤
1. 添加PostgreSQL官方仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2. 安装PostgreSQL服务端和客户端
# 安装最新版本(例如PostgreSQL 14)
sudo yum install -y postgresql14-server
# 或指定其他版本(如PostgreSQL 12)
# sudo yum install -y postgresql12-server
3. 初始化数据库
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
4. 启动服务并设置开机自启
sudo systemctl start postgresql-14
sudo systemctl enable postgresql-14
5. 修改PostgreSQL管理员密码
sudo -u postgres psql
\password postgres # 交互式设置密码
\q # 退出
6. 配置远程访问
-
修改
pg_hba.conf
:sudo vim /var/lib/pgsql/14/data/pg_hba.conf
将以下行中的
ident
改为md5
,允许密码认证:# IPv4本地连接: host all all 127.0.0.1/32 md5 # 允许所有IP访问(生产环境需谨慎): host all all 0.0.0.0/0 md5
-
修改
postgresql.conf
:sudo vim /var/lib/pgsql/14/data/postgresql.conf
取消注释并修改:
listen_addresses = '*'
7. 重启服务使配置生效
sudo systemctl restart postgresql-14
8. 配置防火墙(如果启用)
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
二、注意事项
-
版本选择
- 官方仓库默认提供最新版本,如需旧版需指定版本号(如
postgresql12-server
)。 - 通过
yum list postgresql*
查看可用版本。
- 官方仓库默认提供最新版本,如需旧版需指定版本号(如
-
目录路径
- 数据目录默认位于
/var/lib/pgsql/<版本号>/data/
,确保磁盘空间充足。
- 数据目录默认位于
-
安全建议
- 生产环境避免使用
0.0.0.0/0
开放所有IP,应限定访问来源IP。 - 定期更新PostgreSQL版本以修复安全漏洞。
- 生产环境避免使用
-
SELinux问题
如果启用了SELinux,需确保策略允许PostgreSQL运行:sudo setenforce 0 # 临时关闭 sudo vim /etc/selinux/config # 永久关闭需修改为SELINUX=disabled
-
备份配置
修改配置文件前,建议备份:sudo cp /var/lib/pgsql/14/data/postgresql.conf{,.bak}
三、验证安装
-
检查服务状态:
systemctl status postgresql-14
-
连接测试:
psql -U postgres -h 127.0.0.1
-
查看版本:
psql --version
通过以上步骤,您可以在CentOS 7上完成PostgreSQL的安装和基础配置。根据实际需求调整安全策略和性能参数。