如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

PostgreSQL是一个高度稳定可靠的数据库管理系统,已经使用了20多年。 它得到了一个活跃的社区的支持,他们为它的发展贡献了自己的时间,从而提高了弹性、完整性和正确性。 PostgreSQL 为许多 Web 应用程序提供支持,包括来自 Google Earth Engine 地理空间数据存储的用于分析软件的应用程序,例如使用 R/Rapidminer 包中创建的机器学习算法构建的预测建模工具集

在以下教程中,您将学习如何使用命令行终端在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 PostgreSQL,以及一些基本的配置和设置技巧。

更新Ubuntu

首先,使用以下命令更新您的系统,以确保所有软件包都是最新的,以避免冲突。

sudo apt update && sudo apt upgrade -y

安装所需的软件包

必须安装以下软件包以帮助安装数据库软件。

sudo apt install software-properties-common apt-transport-https wget -y

导入 PostgreSQL 存储库

首先,您需要导入 PostgreSQL GPG 密钥来验证安装包的真实性。

sudo wget -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg

接下来,您可以根据所需的安装导入稳定或测试存储库。 对于生产使用,请使用稳定的存储库,因为您直接从 PostgreSQL 存储库安装它通常会快速更新。 测试是为了测试,有时可能落后也可能领先,不适合生产。

导入 PostgreSQL 稳定版(推荐)

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list

导入 PostgreSQL 测试

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql-testing.list

安装PostgreSQL

现在您已经导入了 PostgreSQL 的稳定或测试存储库,您需要使用以下命令更新存储库源列表以反映新增内容。

sudo apt-get update

现在继续安装 PostgresSQL,如下所示。

sudo apt install postgresql-client postgresql -y

接下来,使用以下命令验证状态以确保软件安装和激活没有错误。

systemctl status postgresql

输出示例:

如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

PostgreSQL 的服务命令

PostgreSQL 数据库服务器作为服务运行在名称下 “PostgreSQL,” 可以通过以下命令示例使用 systemd 进行管理。

停止 PostgreSQL 服务器

sudo systemctl stop postgresql

启动 PostgreSQL 服务器

sudo systemctl start postgresql

重启 PostgreSQL 服务器

sudo systemctl restart postgresql

重新加载 PostgreSQL 服务器

sudo systemctl reload postgresql

检查 PostgreSQL 状态

systemctl status postgresql

配置 PostgreSQL 服务器

切换到 Postgres 帐户

在继续之前,请注意只有具有创建角色权限的超级用户和角色才能在 Postgres 中创建新角色。 在安装过程中创建了一个名为 Postgres 的用户帐户,与默认 Postgres 角色相关联。

要与帐户互动,您可以执行以下命令:

sudo -i -u postgres

通过输入上述内容,您可以通过键入立即访问 PostgreSQL 提示符 “psql”.

psql

接下来,您会注意到终端已更改为 “postgres=#” 现在在终端命令行中。 这意味着您已成功连接到数据库。

要退出 Postgres 数据库,您可以通过键入以下内容来执行此操作:

exit

切换 Postgres 帐户的替代方法

在不更改用户帐户的情况下与 Postgres 数据库交互的另一种方法是使用 sudo 命令直接连接。 您可以通过键入以下内容来执行此操作:

sudo -u postgres psql

这是使用更多的理想选择,因为它可以节省直接记录您的时间,而无需执行额外的终端 bash 命令。

就像第一个选项一样,您可以通过键入以下退出终端来退出。

exit

创建用户和数据库

现在,您可以根据需要创建用户角色。 只有超级用户和角色 “创造角色” 权限可以创建新角色。

创建一个新用户; 键入以下内容。

sudo su - postgres -c "createuser <name>"

现在您可以为您创建的新用户创建一个 PostgreSQL 数据库:

sudo su - postgres -c "createdb <namedb>"

最后,您需要切换到超级用户 Postgres 帐户以授予对新数据库的权限。

连接到 Postgres 超级用户帐户

sudo -u postgres psql

授予访问权限到

GRANT ALL PRIVILEGES ON DATABASE <usernamedb> TO <name>;

例如:

如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

完成后,要退出,请键入以下内容

exit

配置UFW防火墙

您将需要创建一个 UFW 防火墙规则以允许 PostgreSQL 在其默认端口上进行通信 5432, 如果您打算使用除 localhost 之外的任何其他内容,则这是必需的。

首先,确保启用了 UFW。

sudo ufw enable

这可以通过键入以下命令来完成。

子网范围:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

个人IP:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

有关使用 Ubuntu 22.04 配置 UFW 的更多信息,请访问我的教程“如何在 Ubuntu 22.04 LTS 上安装和配置 UFW 防火墙设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“

远程访问 PostgreSQL

如果您需要对 PostgreSQL 的默认访问,这可以通过将默认侦听 (127.0.0.1) 的本地接口更改为配置文件中的 IP、子网甚至所有接口来快速完成。

请记住确保 UFW 已正确设置并且不会按照上一节阻止远程访问。

首先,确定您正在使用 ls 命令的 Postgresql 版本。

ls /etc/postgresql/

本教程安装了最新版本之一,即 14。有了这个,打开 “postgresql.conf” 文件使用 nano 文本编辑器。

sudo nano /etc/postgresql/14/main/postgresql.conf

现在向下滚动直到找到 “连接设置” 并改变 (listen_addresses = 'localhost') 到地址。 大多数人会选择监听所有接口,尤其是在需要通过更改连接到 PostgreSQL 数据库的多个服务器中运行时 本地(*).

例如:

如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

现在保存文件 (CTRL+O), 出口 (CTRL+X), 并重新启动您的 PostgreSQL 实例。

sudo systemctl restart postgresql

要检查您所做的更改是否有效,用户可以使用 Ubuntu 内置的 ss 实用程序来执行此操作。

ss -nlt | grep 5432

输出示例:

如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

为了进一步定制和保护 PostgreSQL,您可以通过编辑 “pg_hba.conf” 文件使用 nano 文本编辑器。

sudo nano /etc/postgresql/14/main/pg_hba.conf

从这一点开始,您可以设置各种选项,例如更改 “所有” 到特定的用户名和数据库以及地址和身份验证方法。

如何在 Ubuntu 22.04 LTS 上安装 PostgreSQL

评论和结论

如果您正在寻找一个功能强大的开源数据库系统,甚至可以处理最繁重的负载,那么 PostgreSQL 绝对值得您考虑。 凭借其广泛的功能和稳健性,难怪开发人员将其作为企业应用程序的首选。

有关使用 PostgreSQL 的更多信息,请访问官方 文件.



关注 LinuxCapable.com!

喜欢获得自动更新? 在我们的社交媒体帐户之一上关注我们!