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

一、环境准备

  1. 系统要求

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

    less 复制代码
    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.x sudo dnf install postgresql15-server postgresql15-contrib /var/lib/pgsql/15/data
    16.x sudo dnf install postgresql16-server postgresql16-contrib /var/lib/pgsql/16/data
  2. 初始化数据库

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

三、服务配置

  1. 启动服务

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

    • postgresql.conf

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

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

四、安全加固

  1. 设置密码

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

    css 复制代码
    bash
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload

五、高级操作

  1. 创建数据库与用户

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

    • 全量备份

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

      lua 复制代码
      bash
      pg_restore -d mydb mydb.dump

六、扩展方案(可选)

  1. 编译安装PostgreSQL 17

    bash 复制代码
    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扩展

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

常见问题排查

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

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

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

    bash 复制代码
    bash
    sudo chmod 700 -R /var/lib/pgsql/16/data

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

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

相关推荐
ai_coder_ai24 分钟前
论 NoSQL 数据库技术及其应用
数据库·nosql
AOwhisky2 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr8732 小时前
C# 定时数据库备份工具
开发语言·数据库·c#
睡不醒男孩0308232 小时前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
AOwhisky2 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
猫猫聚会Ing3 小时前
数据库设计 Prompt 提示词 - 构建与迭代
数据库
上海云盾-小余3 小时前
源站隐藏实战:规避裸 IP 被直接攻击的完整方案
数据库·网络协议·tcp/ip
微学AI3 小时前
时序大模型 TimechoAI 赋能工业时序数据底层技术优势与实操
数据库·大模型·时序大模型
北顾笙9804 小时前
MYSQL-day03
数据库·sql·mysql
MXsoft6184 小时前
**混合云统一监控实践:私有云+公有云的一体化运维方案**
运维·网络·数据库