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数据库管理系统。请记住,您可以通过下面的反馈表给我们反馈。