安装
官网下载地址: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、初始化数据库、开机自启动。
设置默认密码
-
使用超级用户(例如root用户)登录到系统。
-
使用以下命令切换到postgres用户:
su - postgres
-
运行以下命令登录到PostgreSQL数据库服务器:
psql
-
运行以下命令设置新密码:
\password
系统将提示您输入新密码,并要求您确认密码。
-
输入新密码并确认。
外网访问
要让CentOS上安装的PostgreSQL数据库可以从外部网络访问,您需要进行以下步骤:
-
确保CentOS防火墙允许PostgreSQL的访问。运行以下命令以允许PostgreSQL默认端口5432的流量通过防火墙:
sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload
-
编辑PostgreSQL的配置文件
postgresql.conf
。运行以下命令打开配置文件:sudo vi /var/lib/pgsql/data/postgresql.conf
找到以下行并进行修改:
#listen_addresses = 'localhost'
将其修改为:
listen_addresses = '*'
保存并关闭文件。
-
编辑PostgreSQL的
pg_hba.conf
文件以配置允许访问的主机。运行以下命令打开文件:sudo vi /var/lib/pgsql/data/pg_hba.conf
添加以下行到文件的末尾,以允许所有主机访问数据库:
host all all 0.0.0.0/0 md5
保存并关闭文件。
-
重新启动PostgreSQL服务以应用更改:
sudo systemctl restart postgresql-16
测试连接
打开 Navicat 软件,点击 连接 -> PostgreSQL
,主机输入服务器 IP 地址,端口、初始数据库、用户名都保持默认,密码输入刚才设置的。
点击 测试连接
: