Bootstrap

CentOS 9 Stream 上安装 PostgreSQL 16

CentOS 9 Stream 上安装 PostgreSQL 16

在 CentOS 9 Stream 上安装 PostgreSQL 16 可以通过以下步骤完成:

  1. 添加 PostgreSQL 官方仓库
    PostgreSQL 提供了 RPM 仓库,使用它可以方便地安装特定版本。

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. 禁用默认的 PostgreSQL 模块
    CentOS 9 Stream 默认会提供系统自带的 PostgreSQL 版本,需要禁用以避免冲突。

    sudo dnf -qy module disable postgresql
    
  3. 安装 PostgreSQL 16
    使用 dnf install 命令安装 PostgreSQL 16。

    sudo dnf install -y postgresql16 postgresql16-server
    
  4. 初始化数据库
    在第一次启动 PostgreSQL 之前,需初始化数据库。

    sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
    
  5. 启动并启用 PostgreSQL 服务
    将 PostgreSQL 设置为开机自启并立即启动服务。

    sudo systemctl enable postgresql-16
    sudo systemctl start postgresql-16
    
  6. 验证安装
    可以通过查看 PostgreSQL 版本来验证安装是否成功。

    psql --version
    
  7. 配置防火墙(可选)
    如果你需要远程访问 PostgreSQL,请打开防火墙的 5432 端口。

    sudo firewall-cmd --add-service=postgresql --permanent
    sudo firewall-cmd --reload
    
  8. 调整 PostgreSQL 配置(可选)
    编辑 pg_hba.confpostgresql.conf 文件,根据需要修改监听地址、访问权限等。

    配置文件路径通常为:

    /var/lib/pgsql/16/data/postgresql.conf
    /var/lib/pgsql/16/data/pg_hba.conf
    

完成上述步骤后,PostgreSQL 16 应该已经在 CentOS 9 Stream 上成功安装并运行了。

设置密码并且远程连接

在 CentOS 9 Stream 上安装 PostgreSQL 16 后,可以按以下步骤连接数据库并设置密码:

  1. 切换到 PostgreSQL 用户
    默认情况下,PostgreSQL 会创建一个名为 postgres 的系统用户。切换到该用户,以便直接访问 PostgreSQL 管理命令。

    sudo -i -u postgres
    
  2. 进入 PostgreSQL 命令行界面
    使用 psql 命令行工具连接到 PostgreSQL。

    psql
    
  3. 设置 postgres 用户密码
    psql 中,使用以下命令为 postgres 数据库用户设置密码(可以更改为你需要的密码):

    ALTER USER postgres WITH PASSWORD 'your_secure_password';
    

    完成后,输入 \q 退出 psql

  4. 配置允许远程连接(可选)
    如果需要远程连接 PostgreSQL,需要在配置文件 postgresql.conf 中设置 listen_addresses,并在 pg_hba.conf 中调整访问权限。

    • 修改 postgresql.conf 文件

      sudo nano /var/lib/pgsql/16/data/postgresql.conf
      

      找到 listen_addresses 参数,将其设置为 '*',表示监听所有 IP 地址:

      listen_addresses = '*'
      
    • 修改 pg_hba.conf 文件

      sudo nano /var/lib/pgsql/16/data/pg_hba.conf
      

      在文件底部添加以下行,允许远程 IP 使用密码方式访问:

      host    all             all             0.0.0.0/0               md5
      
  5. 重启 PostgreSQL 服务
    应用新的配置。

    sudo systemctl restart postgresql-16
    
  6. 本地测试连接
    如果要从本地使用新设置的密码连接 PostgreSQL,可以运行以下命令:

    psql -U postgres -h localhost
    

    然后输入刚才设置的密码 your_secure_password

  7. 远程连接(可选):
    如果启用了远程连接,可以使用 psql 或其他客户端(如 DBeaver、pgAdmin)通过 IP 地址连接,示例命令如下:

    psql -U postgres -h server_ip -p 5432
    

完成这些步骤后,PostgreSQL 就可以通过密码进行本地或远程连接了。

;