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