Rocky Linux 安装 PostgreSQL 数据库完整指南(2025版)

1,202 阅读2分钟

一、环境准备

  1. 系统要求

    • 推荐使用Rocky Linux 9.4及以上版本(支持PostgreSQL 16+)
    • 确保已安装dnf包管理工具和wget
    • 建议关闭SELinux(临时测试):setenforce 0
  2. 添加官方仓库

    bash
    sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    sudo dnf -qy module disable postgresql  # 禁用系统默认模块[1](@ref)
    

二、安装PostgreSQL

  1. 选择版本安装

    版本安装命令数据目录
    15.xsudo dnf install postgresql15-server postgresql15-contrib/var/lib/pgsql/15/data
    16.xsudo dnf install postgresql16-server postgresql16-contrib/var/lib/pgsql/16/data
  2. 初始化数据库

    bash
    sudo /usr/pgsql-16/bin/postgresql-16-setup initdb  # 根据实际版本调整[1](@ref)
    

三、服务配置

  1. 启动服务

    bash
    sudo systemctl enable --now postgresql-16
    sudo systemctl status postgresql-16  # 验证运行状态
    
  2. 关键配置修改

    • postgresql.conf

      bash
      listen_addresses = '*'  # 允许所有IP访问
      port = 5432             # 默认端口
      shared_buffers = 4GB    # 内存优化(根据服务器配置调整)
      max_connections = 200   # 最大连接数
      
    • pg_hba.conf

      bash
      # 允许本地连接
      local   all             all                                     trust
      # 允许远程连接(需配合防火墙)
      host    all             all             0.0.0.0/0               scram-sha-256
      

四、安全加固

  1. 设置密码

    bash
    sudo -u postgres psql
    ALTER USER postgres WITH PASSWORD 'YourSecurePassword123!';
    
  2. 防火墙配置

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

五、高级操作

  1. 创建数据库与用户

    sql
    CREATE DATABASE mydb;
    CREATE USER myuser WITH PASSWORD 'UserPass456!';
    GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
    
  2. 备份与恢复

    • 全量备份

      bash
      pg_dump -U postgres -Fc mydb > mydb.dump
      
    • 恢复数据库

      bash
      pg_restore -d mydb mydb.dump
      

六、扩展方案(可选)

  1. 编译安装PostgreSQL 17

    bash
    sudo dnf install meson ninja-build openssl-devel
    git clone https://github.com/postgresql/postgresql.git
    meson setup build --prefix=/opt/pgsql17 -Dssl=openssl
    ninja -C build
    sudo ninja -C build install
    
  2. PostGIS扩展

    bash
    sudo dnf install postgis32_16  # 安装地理空间扩展[2](@ref)
    psql -c "CREATE EXTENSION postgis;" mygisdb
    

常见问题排查

  • GPG签名错误:重新导入仓库密钥

    bash
    sudo rpm --import https://www.postgresql.org/media/keys/ACCC4CF8.asc
    
  • 端口冲突:检查systemctl status postgresql-16服务状态

  • 权限问题:确保数据目录权限正确

    bash
    sudo chmod 700 -R /var/lib/pgsql/16/data
    

通过本文指南,您可以在Rocky Linux系统上快速部署安全可靠的PostgreSQL数据库环境。建议生产环境使用PostgreSQL 16版本,并定期通过dnf update进行安全更新

。如需最新特性,可参考PostgreSQL官方文档进行编译安装。