IP Address:3.236.108.61



PostgreSQL 是一款功能强大、开源、跨平台、设计先进的对象关系型数据库管理系统,因其独特的架构、高稳定性、数据集成功能以及丰富的扩展被大家所认可。

pgAdmin 则是一款 PostgreSQL 的开源 Web 管理界面,可以方便的进行 PostgreSQL 数据库管理。

本文将详细讲解如何在 CentOS 8 系统安装 PostgreSQL 12 数据库以及 pgAdmin 4管理界面。

步骤1、在 CentOS 8系统安装 PostgreSQL

1. 由于要安装最新版的 PostgreSQL,则首先需要使用如下命令禁用内置 PostgreSQL 软件模块:

# dnf -qy module disable postgresql

2. 然后,使用如下命令安装 PostgreSQL 官方软件库:

# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

3. 官方软件库安装完成后,就可以使用如下命令安装 PostgreSQL 12服务器及客户端:

# dnf install postgresql12 postgresql12-server

4. 安装完成后,需要使用如下命令初始化数据库并设置相关服务,最后显示一下数据库状态查看服务器是否工作正常:

# /usr/pgsql-12/bin/postgresql-12-setup initdb
# systemctl start postgresql-12
# systemctl enable postgresql-12
# systemctl is-enabled postgresql-12
# systemctl status postgresql-12

可以看到,PostgreSQL 数据库服务已经正常启动,则可以进行下一步。

步骤2、PostgreSQL 安全设置

1. 首先,设置 PostgreSQL 管理账户 Postgres 的帐户密码:

# passwd postgres

2. 切换到 postgres 用户,使用如下命令设置管理数据库密码:

# su - postgres
$ psql -c "ALTER USER postgres WITH PASSWORD 'daehub.com';"
$ exit

3. 现在,设置 PostgreSQL 的客户端认证方式,这将直接影响 pgAdmin 的配置,需要特别注意。这些方式包括采用 MD5、Crypt 以及明文方式认证。

本教程将采用 MD5 方式进行客户端认证,PostgreSQL 配置文件默认为”/var/lib/pgsql/12/data/pg_hba.conf”,将配置文件中的对应内容进行如下修改:

host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

4. 全部修改完成后,重新启动 PostgreSQL 服务以使修改生效:

# systemctl restart postgresql-12

步骤3、CentOS 8 安装 pgAdmin

1. 通过 EPEL 软件库,安装 pgAdmin 4:

# dnf install epel-release
# dnf --enablerepo=PowerTools install pgadmin4

2. EPEL 软件库的 pgAdmin 包含了 Apache 服务器,安装完成后启动 Web 服务器并设置成开机启动:

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

步骤4、配置 pgAdmin 4

1. pgAdmin 是一套使用 Python 3 开发的 Web 应用程序,软件包中包含了示例配置文件,使用如下命令启用 pgAdmin 的示例配置文件:

# cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

2. 之后,测试配置文件是否有问题,测试通过后重新启动 Apache 服务器:

# httpd -t
# systemctl restart httpd

3. 现在,创建 pgAdmin 的库目录以及日志目录:

# mkdir -p /var/lib/pgadmin4/
# mkdir -p /var/log/pgadmin4/

4. 目录创建完成后,就需要修改 pgAdmin 的配置文件”/usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py”,指定日志文件、SQLite数据库文件、会话文件以及存储目录的位置,修改文件为如下内容:

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'

5. 之后,创建 pgAdmin 的管理帐户以及配置数据库:

# python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py

6. 现在,修改相关目录的属主,以便 pgAdmin 网站可以进行读写操作:

# chown -R apache:apache /var/lib/pgadmin4
# chown -R apache:apache /var/log/pgadmin4

7. 如果系统启用了 SELinux,则使用如下命令设置访问规则:

# chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R
# chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R
# setsebool -P httpd_can_network_connect 1

8. 如果系统启用了 Firewalld 防火墙,则使用如下命令放行80和443端口:

# firewall-cmd --permanent --zone public --add-port 80/tcp
# firewall-cmd --permanent --zone public --add-port 443/tcp
# firewall-cmd --reload

9. 最后,重新启动 Apache 服务,让所有设置生效:

# systemctl restart httpd

步骤5、使用 pgAdmin 界面管理 PostgreSQL

1. 网站启动成功后,就可以通过浏览器访问如下地址进入管理界面:

http://SERVER_IP/pgadmin4
OR
http://localhost/pgadmin4

其中”SERVER_IP”表示安装了 pgAdmin 网站的服务器 IP 地址。

2. 浏览器访问 pgAdmin 的 URL,就会见到如下登录界面:

输入之前设置的 pgAdmin 管理帐户和密码,点击”Login”登录系统(方便起见,可以将语言设置成为中文):

在主界面的”快速链接”栏有一个”添加服务器”图标,其功能是添加 PostgreSQL 数据库服务器进行管理,点击该图标,就会弹出添加服务器窗口:

在常规选项卡填写 PostgreSQL 数据库服务器的基本信息,这些内容会在 pgAdmin 界面显示,可以自行设置。

在连接选项卡填写 pgAdmin 连接的 PostgreSQL 数据库信息,由于是连接本机,示例采用”localhost”即可。

全部填写完成后,就可以点击”保存”完成服务器添加。

此时,就会进入数据库服务器界面,点击对应的功能菜单就会显示相应信息。

至此,CentOS 8 系统安装 PostgreSQL 和 pgAdmin 就会部完成。

发表评论

电子邮件地址不会被公开。 必填项已用*标注