欢迎,来自IP地址为:18.97.9.172 的朋友
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 就会部完成。