共计 2230 个字符,预计需要花费 6 分钟才能阅读完成。
PostgreSQL,也称为 Postgres,是一个功能强大的开源对象关系数据库管理系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地保存和扩展最复杂的数据工作负载。
PostgreSQL 附带了许多旨在帮助程序员开发应用程序的功能,管理员可以保护数据完整性并创建容错环境,并帮助您管理数据,无论数据集有多大或多小。
除了免费和开源之外,PostgreSQL 还具有极高的可扩展性。例如,您可以添加自己的数据类型,开发自定义函数,甚至可以编写各种编程语言的代码,而无需重新编译数据库!
在本文中,我们将详述如何在 RHEL 8 Linux 发行版中安装,保护和配置 PostgreSQL 数据库管理系统。
安装 PostgreSQL 包
1. PostgreSQL 包含在 RHEL 8 的默认存储库中,可以使用以下 dnf 命令进行安装,该命令将安装 PostgreSQL 服务器 10,库和客户端二进制文件。
# dnf install @postgresql
在 RHEL 8 中安装 PostgreSQL
注意:要在 RHEL 8 系统上安装 PostgreSQL 11 软件包,您需要安装 PostgreSQL RPM 存储库,其中包含许多不同的软件包,如 PostgreSQL 服务器,客户端二进制文件和第三方加载项。
# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-RedHat-repo-latest.noarch.rpm
# dnf update
# dnf install postgresql11-server postgresql11 postgresql11-contrib
初始化 PostgreSQL 数据库
2. 安装 PostgreSQL 软件包后,下一步是使用 /usr/bin/postgresql-setup 实用程序初始化新的 PostgreSQL 数据库集群,如下所示。
# /usr/bin/postgresql-setup –initdb
初始化 PostgreSQL 数据库
3. 现在初始化 PostgreSQL 集群,您需要启动 PostgreSQL 服务,然后启用它以在系统引导时自动启动并使用 systemctl 命令验证其状态。
# systemctl start postgresql
# systemctl enable postgresql
# systemctl status postgresql
验证 PostgreSQL 安装
保护和配置 PostgreSQL 数据库
在本节中,我们将展示如何保护 Postgres 用户帐户和管理用户帐户。然后我们将介绍如何配置 PostgreSQL,尤其是如何设置客户端身份验证。
4. 使用 passwd 实用程序为 postgres 系统用户帐户创建密码,如下所示。
# passwd postgres
为 Postgres 用户设置密码
5. 接下来,切换到 postgres 系统用户帐户并通过为其创建密码来保护 PostgreSQL 管理数据库用户帐户(请记住设置强大且安全的密码)。
$ su – postgres
$ psql -c “ALTER USER postgres WITH PASSWORD ‘adminpasswdhere123’;”
设置 PostgreSQL 管理员密码
6. 各种 PostgreSQL 配置文件可以在 /var/lib/pgsql/data/ 目录中找到。要查看目录结构,可以使用树(使用 dnf install tree 安装它)命令。
# tree -L 1 /var/lib/pgsql/data/
PostgreSQL 配置文件
主服务器配置文件是 /var/lib/pgsql/data/postgresql.conf。并且可以使用 /var/lib/pgsql/data/pg_hba.conf 配置客户端身份验证。
7. 接下来,我们来看看如何配置客户端身份验证。PostgreSQL 数据库系统支持不同类型的身份验证,包括基于密码的身份验证。在基于密码的身份验证下,您可以使用以下方法之一:md5,crypt 或 password(以明文形式发送密码)。
虽然上述密码验证方法的工作方式类似,但它们之间的主要区别在于:用户输入时,用户密码存储(在服务器上)以及通过连接发送的方式。
为了防止攻击者密码嗅探并避免以明文形式在服务器上存储密码,建议使用 md5,如图所示。现在打开客户端身份验证配置文件。
# vi /var/lib/pgsql/data/pg_hba.conf
并查找以下行并将身份验证方法更改为 md5。
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
配置 PostgreSQL 密码验证
8. 现在重新启动 Postgres 服务以应用配置中的最近更改。
# systemctl reload postgresql
9. 在此阶段,您的 PostgreSQL 数据库服务器安装现在是安全的。您可以切换到 postgres 帐户并开始使用 PostgreSQL。
# su – postgres
$ psql
您可以阅读官方的 PostgreSQL 文档(记得为已安装的版本选择文档),以了解 PostgreSQL 的工作原理以及如何使用它来开发应用程序。
目前为止就这样了!在本指南中,我们展示了如何在 RHEL 8 中安装,保护和配置 PostgreSQL 数据库管理系统。请记住,您可以通过下面的反馈表给我们反馈。
: