Linux(CentOS)安装PostgreSQL数据库(外网访问)

发布时间:2024年01月19日

安装

官网下载地址:https://www.postgresql.org/download/

根据自己的操作系统选择,由于 CentOS 是基于红帽的操作系统,所以这里我选择的是 Red Hat

查询操作系统的版本号:

[root@random ~]# cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="8.8"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:8:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.8
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.8

可以看出当前版本号为 8.8

查询操作系统架构:

uname -a
Linux random 5.15.0-105.125.6.2.1.el8uek.x86_64 #2 SMP Thu Sep 14 21:58:59 PDT 2023 x86_64 x86_64 x86_64 GNU/Linux

我这台服务器是基于 x86 平台的架构,如果是 arm 应该会看到 aarch 之类的关键词。


选择数据库版本、操作系统版本、操作系统架构,执行所有命令,会安装 PostgreSQL、初始化数据库、开机自启动。

设置默认密码

  1. 使用超级用户(例如root用户)登录到系统。

  2. 使用以下命令切换到postgres用户:

    su - postgres
    
  3. 运行以下命令登录到PostgreSQL数据库服务器:

    psql
    
  4. 运行以下命令设置新密码:

    \password
    

    系统将提示您输入新密码,并要求您确认密码。

  5. 输入新密码并确认。

外网访问

要让CentOS上安装的PostgreSQL数据库可以从外部网络访问,您需要进行以下步骤:

  1. 确保CentOS防火墙允许PostgreSQL的访问。运行以下命令以允许PostgreSQL默认端口5432的流量通过防火墙:

    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    
  2. 编辑PostgreSQL的配置文件postgresql.conf。运行以下命令打开配置文件:

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

    找到以下行并进行修改:

    #listen_addresses = 'localhost'
    

    将其修改为:

    listen_addresses = '*'
    

    保存并关闭文件。

  3. 编辑PostgreSQL的pg_hba.conf文件以配置允许访问的主机。运行以下命令打开文件:

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

    添加以下行到文件的末尾,以允许所有主机访问数据库:

    host    all    all    0.0.0.0/0    md5
    

    保存并关闭文件。

  4. 重新启动PostgreSQL服务以应用更改:

    sudo systemctl restart postgresql-16
    

测试连接

打开 Navicat 软件,点击 连接 -> PostgreSQL,主机输入服务器 IP 地址,端口、初始数据库、用户名都保持默认,密码输入刚才设置的。

点击 测试连接

文章来源:https://blog.csdn.net/qq_44600038/article/details/135692695
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。