十月 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 数据库服务器,并加载示例数据库。