如何在 Ubuntu 20.04 上安装 PostgreSQL [快速入门]

介绍

PostgreSQL或 Postgres 是一种关系数据库管理系统,它提供了SQL查询语言的实现。它符合标准并具有许多高级功能,例如可靠的事务和没有读锁的并发。

本指南演示了如何在 Ubuntu 20.04 服务器上快速启动并运行 Postgres,从安装 PostgreSQL 到设置新用户和数据库。如果您更喜欢有关安装和管理 PostgreSQL 数据库的更深入的教程,请参阅如何在 Ubuntu 20.04 上安装和使用 PostgreSQL

先决条件

要学习本教程,您需要一台 Ubuntu 20.04 服务器,该服务器已按照我们的 Ubuntu 20.04 初始服务器设置指南进行配置。完成本必备教程后,您的服务器应该有一个具有 sudo 权限的非root用户和一个基本防火墙。

第 1 步 – 安装 PostgreSQL

要安装 PostgreSQL,首先刷新服务器的本地包索引:

  • sudo apt update

然后,安装 Postgres 包以及-contrib添加一些附加实用程序和功能的包:

  • sudo apt install postgresql postgresql-contrib

步骤 2 — 使用 PostgreSQL 角色和数据库

默认情况下,Postgres 使用称为“角色”的概念来处理身份验证和授权。在某些方面,它们类似于常规的 Unix 风格的用户和组。

安装后,Postgres 设置为使用身份验证,这意味着它将 Postgres 角色与匹配的 Unix/Linux 系统帐户相关联。如果 Postgres 中存在角色,则具有相同名称的 Unix/Linux 用户名可以作为该角色登录。

安装过程创建了一个名为postgres的用户帐户,该帐户与默认 Postgres 角色相关联。有几种方法可以使用此帐户访问 Postgres。一种方法是通过键入以下内容切换到服务器上postgres帐户:

  • sudo -i -u postgres

然后您可以通过键入以下内容访问 Postgres 提示:

  • psql

这将使您登录到 PostgreSQL 提示符,从这里您可以立即自由地与数据库管理系统进行交互。

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

  • \q

这将使您返回到postgres Linux 命令提示符。要返回到您的常规系统用户,请运行以下exit命令:

  • exit

连接到 Postgres 提示符的另一种方法是直接使用postgres帐户运行psql命令sudo

  • sudo -u postgres psql

这将使您直接登录到 Postgres,中间没有中介bashshell。

同样,您可以通过键入以下内容退出交互式 Postgres 会话:

  • \q

第 3 步 – 创建新角色

如果您以postgres帐户登录,则可以通过键入以下内容来创建新角色:

  • createuser --interactive

相反,如果您更喜欢在sudo不从普通帐户切换的情况下为每个命令使用,请键入:

  • sudo -u postgres createuser --interactive

无论哪种方式,脚本都会提示您进行一些选择,并根据您的回答执行正确的 Postgres 命令以根据您的规范创建用户。

Output
Enter name of role to add: sammy Shall the new role be a superuser? (y/n) y

第 4 步 – 创建新数据库

Postgres 身份验证系统默认做出的另一个假设是,对于用于登录的任何角色,该角色将拥有一个可以访问的同名数据库。

这意味着如果您在上一节中创建的用户名为sammy,则该角色将尝试连接到默认情况下也称为“sammy”的数据库。您可以使用该createdb命令创建适当的数据库

如果您以postgres帐户登录,您将输入如下内容:

  • createdb sammy

相反,如果您更喜欢在sudo不从普通帐户切换的情况下为每个命令使用,您可以键入:

  • sudo -u postgres createdb sammy

第 5 步 — 打开具有新角色的 Postgres 提示

要使用ident基于身份验证的登录,您需要一个与您的 Postgres 角色和数据库同名的 Linux 用户。

如果您没有可用的匹配 Linux 用户,则可以使用该adduser命令创建一个您必须使用具有特权的root帐户执行此操作sudo(即,不是以postgres用户身份登录):

  • sudo adduser sammy

一旦这个新帐户可用,您可以通过键入以下内容切换并连接到数据库:

  • sudo -i -u sammy
  • psql

或者,您可以内联执行此操作:

  • sudo -u sammy psql

假设所有组件都已正确配置,此命令将自动登录。

如果您希望您的用户连接到不同的数据库,您可以通过如下指定数据库来实现:

  • psql -d postgres

登录后,您可以通过键入以下内容来检查当前的连接信息:

  • \conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

结论

您现在已在 Ubuntu 20.04 服务器上设置了 PostgreSQL。如果您想了解有关 Postgres 及其使用方法的更多信息,我们鼓励您查看以下指南:

觉得文章有用?

点个广告表达一下你的爱意吧 !😁