前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
简介
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
确保服务已启动:
sudo systemctl start postgresql.service
步骤 2 — 使用 PostgreSQL 角色和数据库
默认情况下,Postgres 使用称为“角色”的概念来处理身份验证和授权。在某些方面,这与常规的 Unix 风格用户和组类似。
在安装时,Postgres 被设置为使用 ident 身份验证,这意味着它将 Postgres 角色与匹配的 Unix/Linux 系统帐户关联起来。如果在 Postgres 中存在一个角色,则具有相同名称的 Unix/Linux 用户名可以作为该角色登录。
安装过程创建了一个名为 postgres 的用户帐户,该帐户与默认的 Postgres 角色关联。有几种方法可以利用此帐户访问 Postgres。一种方法是通过运行以下命令在服务器上切换到 postgres 帐户:
sudo -i -u postgres
然后,您可以通过运行以下命令访问 Postgres 提示符:
psql
这将使您登录到 PostgreSQL 提示符,从这里您可以立即与数据库管理系统交互。
要退出 PostgreSQL 提示符,请运行以下命令:
\q
这将带您回到 postgres Linux 命令提示符。要返回到常规系统用户,请运行 exit
命令:
exit
另一种连接到 Postgres 提示符的方法是直接使用 sudo
作为 postgres 帐户运行 psql
命令:
sudo -u postgres psql
这将直接将您登录到 Postgres,而不需要中间的 bash
shell。
同样,您可以通过运行以下命令退出交互式 Postgres 会话:
\q
步骤 3 — 创建新角色
如果您以 postgres 帐户登录,可以通过运行以下命令创建新角色:
createuser --interactive
如果您更喜欢在不切换到正常帐户的情况下为每个命令使用 sudo
,请运行:
sudo -u postgres createuser --interactive
无论哪种方式,脚本都会提示您进行一些选择,并根据您的响应执行正确的 Postgres 命令以根据您的规格创建用户。
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
命令创建一个。您将需要使用具有 sudo
权限的非 root 帐户(即不是以 postgres 用户登录)进行此操作:
sudo adduser sammy
一旦此新帐户可用,您可以通过运行以下命令切换并连接到数据库:
sudo -i -u sammy
psql
或者,您可以内联执行此操作:
sudo -u sammy psql
假设所有组件都已正确配置,此命令将自动登录您。
如果要使您的用户连接到不同的数据库,可以通过以下方式指定数据库:
psql -d postgres
登录后,您可以通过运行以下命令检查当前连接信息:
\conninfo
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
结论
您现在已在您的 Ubuntu 20.04 服务器上设置了 PostgreSQL。如果您想了解更多关于 Postgres 及其使用方法的信息,我们鼓励您查阅以下指南:
- 关系数据库管理系统的比较
- 使用 SQL 运行查询的实践