PostgreSQL 教程: 在 Linux 上使用 yum 安装 PostgreSQL

十月 12, 2023

摘要:在本教程中,您将学习如何在 Linux 上使用 yum 下载并安装 PostgreSQL。

大多数 Linux 平台(例如 Debian、Red Hat / CentOS、SUSE 和 Ubuntu)都将 PostgreSQL 与其软件包管理集成在一起。

建议您以这种方式安装 PostgreSQL,因为它可以确保与操作系统正确集成,包括自动修补和其他更新管理功能。

要在 Linux 上下载并安装 PostgreSQL,请访问下载页面并选择您的 Linux 发行版。

在本教程中,我们将向您展示如何在 Red Hat Enterprise Linux 8 上安装 PostgreSQL。

在 Linux 上安装 PostgreSQL

访问 Red Hat 的 PostgreSQL 下载页面后,您会找到允许您在 Red Hat 上安装 PostgreSQL 的脚本。你需要逐一执行。

首先,执行以下命令来安装 PostgreSQL 的 yum 仓库配置:

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

第二步,禁用系统内置安装的 PostgreSQL 组件:

$ sudo yum -qy module disable postgresql

第三步,更新软件包列表:

$ sudo yum update

最后,安装 PostgreSQL 版本 14:

$ sudo yum install -y postgresql14-server

由于 Red Hat 系列发行版的策略,PostgreSQL 安装将不会启用自动启动或自动初始化数据库。要完成数据库安装,您需要根据您的发行版执行以下步骤:

$ sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
$ sudo systemctl enable postgresql-14
$ sudo systemctl start postgresql-14

下载并安装 PostgreSQL 需要几分钟时间。

通过 psql 连接到 PostgreSQL 数据库服务器

在 PostgreSQL 中,用户账号称为角色。默认情况下,PostgreSQL 使用 ident 身份验证。

这意味着 PostgreSQL 会将其角色与 Linux 的系统账号关联起来。如果 PostgreSQL 中存在角色,则具有相同名称的同一 Linux 用户账号可以作为该角色登录。

当您安装 PostgreSQL 时,安装过程会创建一个名为postgres的与默认postgres角色关联的用户账号。

要使用该postgres角色连接到 PostgreSQL,您可以通过键入以下内容切换到服务器上的postgres账号:

$ sudo -i -u postgres

它会提示输入当前用户的密码。您需要提供密码并敲击Enter键。

然后,您可以通过键入以下命令使用psql来访问 PostgreSQL:

$ psql

您将会看到像这样的 postgres 提示符:

postgres=#

从这里,您可以与 PostgreSQL 进行交互,例如发出查询。

要退出 PostgreSQL 提示符,请运行以下命令:

postgres=# \q

上面的命令将使您返回到 postgres Linux 命令提示符。

postgres@redhat-dev:~$

要返回常规系统用户,请执行如下exit命令:

postgres@redhat-dev:~$ exit

加载示例数据库

要将示例数据库加载到 PostgreSQL 数据库服务器中,请执行以下步骤:

首先,使用以下命令切换到 postgres 账号:

$ sudo -i -u postgres

它会提示您输入当前用户的密码。您需要输入当前用户的密码并按下Enter键。

其次,使用curl工具下载示例数据库:

$ curl -O https://www.rockdata.net/files/dvdrental.zip

第三步,解压 dvdrental.zip 文件,得到 dvdrental.tar 文件:

$ unzip dvdrental.zip

第四步,使用psql工具访问 PostgreSQL:

$ psql

第五步,使用CREATE DATABASE语句创建dvdrental数据库:

postgres=# create database dvdrental;

第六步,使用\q命令退出psql

postgres=# \q

第七步,使用pg_restore工具恢复dvdrental数据库:

$ pg_restore --dbname=dvdrental --verbose dvdrental.tar

第八步,使用psql命令再次访问 PostgreSQL 数据库服务器:

$ psql

第九步,切换到dvdental数据库:

postgres=# \c dvdrental

现在,您已连接到dvdrental数据库:

dvdrental=#

最后输入以下命令即可获取film表中的影片数量:

dvdrental=# select count(*) from film;

这是输出:

count
-------
1000
(1 row)

恭喜!您已在 Red Hat 上成功安装 PostgreSQL,使用 psql 连接到 PostgreSQL 数据库服务器,并加载示例数据库。