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

介绍

PostgreSQL,或Postgres,是一个关系式数据库管理系统,提供了SQL(https://en.wikipedia.org/wiki/SQL)查询语言的实现。

本指南展示了如何在 Ubuntu 20.04 服务器上快速安装和运行 Postgres,从安装 PostgreSQL 到设置新的用户和数据库。

<$>[info] 简化使用 DigitalOcean Managed Database创建Postgres数据库,并让DigitalOcean处理数据迁移、升级、维护和安全。

前提条件

要跟随本教程,您将需要一个 Ubuntu 20.04 服务器,该服务器已通过遵循我们的 Ubuntu 20.04 初始服务器设置 指南进行配置。

第1步:安装PostgreSQL

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

1sudo apt update

然后,安装 Postgres 包,加上一个贡献包,添加一些额外的实用程序和功能:

1sudo apt install postgresql postgresql-contrib

确保服务开始:

1sudo systemctl start postgresql.service

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

默认情况下,Postgres 使用一个名为角色的概念来处理身份验证和授权,这些概念在某种程度上类似于常规的 Unix 用户和群组。

在安装时,Postgres设置为使用 ident 身份验证,这意味着它将Postgres 角色与匹配的 Unix/Linux 系统帐户相关联。

安装过程创建了一个名为 postgres 的用户帐户,与默认的 Postgres 角色相关联。有几种方法可以使用此帐户访问 Postgres。

1sudo -i -u postgres

然后你可以通过运行来访问 Postgres 提示:

1psql

这会让你登录到PostgreSQL提示,从这里你可以立即与数据库管理系统互动。

若要退出 PostgreSQL 提示,请执行以下操作:

1\q

这会让你回到 Linux 命令提示 postgres . 要返回你的常规系统用户,运行退出命令:

1exit

连接到 Postgres 提示的另一种方法是将psql命令作为postgres**帐户直接运行到sudo:

1sudo -u postgres psql

这会让你直接登录到Postgres,而没有中间的bash壳。

再次,您可以通过执行以下操作退出互动的 Postgres 会话:

1\q

步骤三:创建新角色

如果您已登录为 postgres 帐户,您可以通过运行以下命令创建新的角色:

1createuser --interactive

如果您宁愿在不从正常帐户切换的情况下为每个命令使用sudo,请运行:

1sudo -u postgres createuser --interactive

无论如何,脚本都会提示您一些选择,并根据您的回复,执行正确的 Postgres 命令来创建用户,以满足您的规格。

1[secondary_label Output]
2Enter name of role to add: sammy
3Shall the new role be a superuser? (y/n) y

步骤4:创建新数据库

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

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

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

1createdb sammy

相反,如果您更喜欢在不从正常帐户切换的情况下为每个命令使用sudo,则会运行:

1sudo -u postgres createdb sammy

步骤 5 – 打开新角色的 Postgres 索引

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

如果你没有一个匹配的Linux用户可用,你可以创建一个用adduser命令. 你将不得不从你的非root 帐户与sudo特权(即,没有登录作为 ** postgres** 用户):

1sudo adduser sammy

一旦这个新帐户可用,您可以通过执行以下操作切换并连接到数据库:

1sudo -i -u sammy
2psql

或者,你可以做这个内线:

1sudo -u sammy psql

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

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

1psql -d postgres

一旦登录,你可以通过运行检查你的当前连接信息:

1\conninfo
1[secondary_label Output]
2You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

结论

如果您想了解更多关于 Postgres 和如何使用它,我们鼓励您查看以下指南:

Published At
Categories with 技术
comments powered by Disqus