文档首页> Linux命令> yum安装postgresql-14

yum安装postgresql-14

发布时间:2025-07-16 00:08       

以下是使用 yum在RHEL/CentOS系统安装PostgreSQL 14的详细专业指南,严格遵循官方文档和Linux最佳实践:


🔍 一、环境准备(关键步骤)

  1. 确认系统版本
    执行命令:

    cat /etc/redhat-release  # 输出示例:CentOS Linux release 7.9.2009
    ​

    📌 注意:PostgreSQL 14要求系统为RHEL/CentOS 7或8,不支持已停止维护的版本(如CentOS 6)

  2. 启用官方仓库
    PostgreSQL官方提供YUM仓库(PGDG):

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

    ✅ 作用:获取最新稳定版软件包及依赖


⚙️ 二、安装PostgreSQL 14

  1. 安装服务端与客户端

    sudo yum install -y postgresql14-server postgresql14-contrib
    ​
    • postgresql14-server:核心数据库服务
    • postgresql14-contrib:附加功能模块(如pgcrypto、hstore等)
  2. 初始化数据库

    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    ​

    📍 重要:初始化后数据目录为 /var/lib/pgsql/14/data,包含配置文件


🔧 三、配置与启动服务

  1. 启动服务并设开机自启

    sudo systemctl enable postgresql-14
    sudo systemctl start postgresql-14
    ​
  2. 验证服务状态

    sudo systemctl status postgresql-14
    ​

    ✅ 预期输出:active (running)


🔐 四、安全加固(必做项)

  1. 修改数据库密码

    sudo -u postgres psql -c "ALTER USER postgres PASSWORD '强密码替换此处';"
    ​
  2. 配置远程访问(按需)
    修改配置文件:

    sudo vi /var/lib/pgsql/14/data/postgresql.conf
    ​

    取消注释并修改:

    listen_addresses = '*'  # 监听所有IP
    ​

    修改客户端认证策略:

    sudo vi /var/lib/pgsql/14/data/pg_hba.conf
    ​

    在文件末尾添加:

    host    all             all             0.0.0.0/0               md5
    ​

    ⚠️ 警告:开放远程访问需结合防火墙规则限制IP范围

  3. 重启服务生效

    sudo systemctl restart postgresql-14
    ​

🛡️ 五、防火墙配置

# 开放5432端口
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
​

🧪 六、连接验证

psql -h localhost -U postgres -d postgres
​

输入密码后出现 postgres=#提示符即表示安装成功 🎉


⚠️ 常见问题排查

  1. 端口冲突
    检查端口占用:ss -tuln | grep 5432
  2. 日志分析
    日志路径:/var/lib/pgsql/14/data/log/postgresql-*.log
  3. SELinux拦截
    临时禁用:setenforce 0
    永久解决需调整策略(参考 audit2allow工具)

最佳实践建议:
1️⃣ 生产环境建议禁用 postgres超级用户远程登录,创建业务专用账户
2️⃣ 定期备份 /var/lib/pgsql/14/data/pg_hba.conf和 postgresql.conf
3️⃣ 使用 pg_basebackup工具建立持续备份方案

通过以上步骤,您已完成符合企业级安全标准的PostgreSQL 14部署。建议参考官方文档进一步优化配置参数。