学习PostgreSQL:如何在CentOS Linux上安装PostgreSQL

465 阅读7分钟

在这篇文章中,我们将学习如何在CentOS上安装PostgreSQL。就像Ubuntu和Redgate一样,CentOS是一个Linux发行版,被许多组织使用。

在这篇文章中,我们将谈论以下内容。

  1. 如何在虚拟机上安装CentOS。
  2. 如何在CentOS上安装和配置PostgreSQL。
  3. 如何安装和配置pgAdmin4。

首先,让我们准备一个演示环境。

准备演示环境

我从这里下载了一个 CentOS 的图像文件。我在 Oracle VM Virtual Box 中创建了一个名为 CentOS 的虚拟机。我在虚拟光驱中安装了CentOS Linux的磁盘镜像。

Disk image of CentOS

现在,点击 "开始",开始安装。

Start virtual machine

在第一个屏幕上,选择安装CentOS Linux 8

CentOS installer

安装过程开始。在 "欢迎来到CentOS Linux 8"屏幕上,选择你想在安装过程中使用的语言。我选择了英语。点击继续

Select installer Language

在 "安装摘要 "屏幕上,您可以配置本地化、软件和系统配置。我们没有选择任何软件,所以点击软件选择。

Select software

在软件选择屏幕上,你可以选择基本环境和附加软件的类型。在该屏幕上,你可以查看各种基础环境和附加软件的列表。我正在安装带有图形用户界面的CentOS服务器,所以我选择了带有图形用户界面的服务器选项。单击 "完成"。

Select Server with GUI

我想启用根用户,所以在安装摘要屏幕上点击根密码选项。

Set root password

在 "根密码 "屏幕上,输入想要的密码,然后点击 "完成"。

Enter user password

回到安装摘要屏幕,你可以看到开始安装按钮已经启用。除了根用户,我想添加另一个名为Nisarg的用户。要做到这一点,请点击用户创建。

Create user

在创建用户屏幕上,指定Nisarg为用户名,并提供所需的密码。我想让这个用户成为管理员,所以我选择了让这个用户成为管理员选项。点击 "完成 "来创建用户。

Enter details of the user

现在,点击开始安装,开始CentOS 8的安装过程。

Begin installation

安装过程开始。

Installation process of CentOS

注意:我已经下载了基本的媒体镜像;因此,安装过程将从CentOS资源库中下载所需的软件包。

一旦安装完成,点击重新启动系统,重新启动虚拟机。

CentOS installed

一旦虚拟机被重新启动,就会出现登录屏幕,这表明CentOS已经安装完毕。

Login screen

现在,让我们在上面安装PostgreSQL。

在CentOS上安装PostgreSQL。

我们将从CentOS 8资源库中安装PostgreSQL。要安装PostgreSQL服务器和客户端软件包,请运行以下命令。

  [root@localhost /]# sudo yum install   postgresql-server.x86_64

一旦PostgreSQL和客户端工具安装完毕,运行下面的命令来初始化PostgreSQL数据库。

  [root@localhost /]# sudo postgresql-setup initdb

现在,通过执行下面的命令启动PostgreSQL服务。

 [root@localhost /]# sudo systemctl start postgresql

你可以通过运行下面的命令来查看PostgreSQL服务的状态

 [root@localhost /]# sudo systemctl start postgresql

我们希望在服务器重启时自动启动PostgreSQL服务,因此,运行下面的命令来自动启动服务。

 [root@localhost /]# systemctl enable postgresql

现在,让我们访问PostgreSQL数据库服务器。我们将使用pSQL命令行工具。首先,我们必须设置Postgres用户的密码。让我们用pSQL连接到PostgreSQL数据库服务器。

连接到PostgreSQL

当我们在Linux上安装PostgreSQL时,安装程序会自动创建一个名为postgres的用户。在连接到PostgreSQL之前,我们必须设置postgres用户的密码。要做到这一点,运行下面的命令

[root@localhost ~]# passwd postgres

它将提示你为PostgreSQL用户输入一个新密码。指定所需的密码并点击 Enter。

Password of Postgres user

postgres用户的密码已经被成功设置。现在,运行下面的命令,切换到postgres用户并启动pSQL。

[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql

输出

Connect to postgres

让我们运行几个查询,并验证我们是否可以正确地访问数据库。首先,让我们获得数据库的列表。

查询

  postgres=# \l

输出

View databases of PostgreSQL on CentOS

现在,在PostgreSQL中创建一个名为VSDatabase的数据库。

查询

postgres=# Create database VSDatabase;
postgres=# \l

输出

New database have been created on PostgreSQL on CentOS

正如你所看到的,两个查询都成功执行了,这是预期的行为,表明PostgreSQL已经成功安装。

安装和配置pgAdmin4

pgAdmin4是一个基于网络的工具,帮助管理PostgreSQL数据库服务器。httpd服务必须运行以使用pgAdmin4,如果你在你的环境中使用防火墙,那么80和443端口必须在防火墙中打开。当我们在 Windows 上安装 PostgreSQL 时,pgAdmin 4 会自动安装。在Linux中,我们必须手动进行。

首先,通过运行下面的命令启用pgAdmin和EPEL资源库。

[root@localhost ~]# dnf install epel-release
[root@localhost ~]# dnf install -y https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-1-1.noarch.rpm

运行以下查询来安装pgAdmin4。

[root@localhost ~]# yum install pgadmin4

pgAdmin4软件包包含一个配置脚本,用于配置网络服务。它执行了以下任务。

  1. 它创建了一个用户账户,用于连接到pgAdmin4网络界面。
  2. 它配置了SELinux策略和Apache webserver。

要运行该脚本,请执行以下命令。

[root@localhost ~]# /usr/pgadmin4/bin/setup-web.sh

输出

Configure pgAdmin

一旦配置完成,脚本会显示访问pgAdmin4网页界面的URL。在这个演示中,web界面的URL是http://127.0.0.1/pgadmin4。

屏幕截图

PgAdmin for PostgreSQL on Linux

pgAdmin4 已经被成功安装和配置。现在,让我们来访问它。

在 CentOS 上配置 PostgreSQL 的认证

在访问网页界面之前,我们必须配置认证方法,这样客户端工具如 pgAdmin4 可以连接到 PostgreSQL。PostgreSQL 支持使用以下任何一种密码认证方式。

  1. Md5
  2. 加密
  3. 密码

在这个演示中,我们使用的是md5认证方法。认证方法在 /var/lib/pgsql/data/pg_hba.conf文件中。使用vi编辑器编辑配置文件。运行以下命令

[root@localhost ~]# vi /var/lib/pgsql/data/pg_hba.conf

在配置文件中,将认证从ident改为md5,如下图所示。

Authentication methods in PostgreSQL on CentOS

一旦做出改变,保存配置文件。通过执行以下命令重新启动PostgreSQL服务。

[root@localhost ~]# service postgresql restart

一旦服务被启动,我们就可以开始配置pgAdmin4。

访问pgAdmin4的网页界面。

登录到CentOS并打开firefox或所需的网络浏览器。在**http://127.0.0.1/pgadmin4**地址栏中指定URL并点击回车。在网页上,输入电子邮件ID和密码以访问网页界面。

pgAdmin interface of PostgreSQL on CentOS

pgAdmin4就会启动。在浏览器面板上,你可以查看PostgreSQL服务器的列表。我们还没有添加任何服务器,所以点击添加新服务器。

Add new Server

在创建服务器屏幕上,输入以下参数的值

一般标签。

  1. 名称:指定服务器的名称
  2. 服务器组:指定服务器组的名称。我们没有创建任何服务器组,所以我没有改变默认值。
  3. 注释:指定服务器的细节

General Parameters

连接标签

  1. 主机名/地址:指定安装 PostgreSQL 的主机名或 IP 地址。我已经指定了虚拟机的 IP 地址。
  2. 端口:指定PostgreSQL服务所运行的端口。我们使用的是默认端口
  3. 维护数据库:指定维护数据库的名称
  4. 用户名:指定我们用来连接PostgreSQL的用户名。
  5. 密码:指定我们用来连接PostgreSQL的用户密码。

Connection Parameters

我们没有配置SSH和SSL,因此,我没有改变SSL和SSH隧道标签中的配置参数。点击 "保存"。一旦连接被创建,你就可以在浏览器面板上查看它。

Dashboard of PostgreSQL on CentOS

你可以看到,我们使用pgAdmin4连接到PostgreSQL数据库。

总结

在这篇文章中,我们学习了如何在CentOS上安装PostgreSQL。我们涵盖了以下的步骤。

  1. CentOS Linux的一步步安装过程。
  2. CentOS上PostgreSQL的安装和配置过程。
  3. pgAdmin4工具的安装和配置过程。