PostgreSQL 教程: 在 Ubuntu 上使用 apt 安装 PostgreSQL

十月 12, 2023

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

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

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

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

在本教程中,我们将向您展示如何在 Ubuntu 20.04 上安装 PostgreSQL。

在 Ubuntu 上安装 PostgreSQL

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

首先,执行以下命令来创建文件存储库配置:

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

第二步,导入存储库签名密钥:

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

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

$ sudo apt-get update

最后,安装最新版本的 PostgreSQL:

$ sudo apt-get install postgresql

如果您想安装特定版本,可以使用postgresql-version代替postgresql。例如,要安装 PostgreSQL 版本 12,请使用以下命令:

$ sudo apt-get install postgresql-12

下载并安装 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@ubuntu-dev:~$

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

postgres@ubuntu-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)

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