如何在 Ubuntu 22.04 上安装 pgAdmin:一个 PostgreSQL 管理工具

简介

pgAdmin4 是一款易于使用的免费开源图形化 PostgreSQL 管理工具。它支持 PostgreSQL 9.6 及以上版本,并可在包括 Windows、macOS 和 Linux 在内的多种操作系统上运行。pgAdmin4 可以以两种模式运行:桌面用户使用的桌面模式,以及可通过 Web 浏览器从任何地方访问的服务器模式。

在本篇文章中,你将学习如何在 Ubuntu 22.04 上安装 pgAdmin4 服务器模式。你将以 systemd 服务的形式在后台运行 pgAdmin4,并通过 Web 浏览器访问。本教程还涵盖了如何通过官方 PostgreSQL 仓库在 Ubuntu 上安装 PostgreSQL,以及如何在 PostgreSQL 中设置数据库和用户。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。
  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。
  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。
  • 到此为止,我们的云服务器就远程连接上了。

安装 PostgreSQL 服务器

在安装 pgAdmin4 之前,我们先通过官方 PostgreSQL 仓库安装 PostgreSQL 服务器。

首先,运行以下命令下载 PostgreSQL 仓库的 GPG 密钥,并将其导出到"/usr/share/keyrings/postgresql-key.gpg"。

bash 复制代码
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null

使用以下命令将 PostgreSQL 仓库添加到你的 Ubuntu 系统。

bash 复制代码
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

现在运行以下 'apt' 命令来更新你的 Ubuntu 软件包索引并安装 PostgreSQL 服务器。输入 'Y' 以确认安装。

bash 复制代码
sudo apt update && sudo apt install postgresql postgresql-contrib

安装完成后,使用以下命令检查 'postgresql' 服务状态。你会看到 PostgreSQL 已启用并正在运行,状态为 'exited'。

bash 复制代码
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

设置 PostgreSQL 数据库和用户

安装 PostgreSQL 后,你需要在 PostgreSQL 服务器中创建一个新用户和数据库。在本例中,你将使用 'psql' 或 PostgreSQL shell 来创建新的 PostgreSQL 数据库和用户。

使用以下 'psql' 命令登录到 PostgreSQL 服务器。

bash 复制代码
sudo -u postgres psql

运行以下查询以创建新用户 'alice' ,密码为 'alicepassword',并验证 PostgreSQL 服务器上的用户列表。你可以使用自己的信息更改用户名和密码。

sql 复制代码
CREATE ROLE alice WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'alicepassword';
\\du

你可以在下面看到用户 'alice' 已在 PostgreSQL 中创建。

现在运行以下查询以创建一个新的数据库 'alice',并将该数据库的权限授予用户 'alice'。

sql 复制代码
CREATE DATABASE alice;
GRANT ALL PRIVILEGES ON DATABASE alice TO alice;

使用以下查询检查 PostgreSQL 上的数据库列表。

sql 复制代码
\\l

你会看到已创建新的数据库 'alice'。

安装 pgAdmin4

现在你已经安装并配置了 PostgreSQL 服务器,可以安装 'pgAdmin4-web' 服务器模式,该模式可以通过官方 pgAdmin4 仓库安装。

使用以下命令下载 pgAdmin4 仓库的 GPG 密钥。

bash 复制代码
curl -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/pgadmin4.gpg

现在使用以下命令将 pgAdmin4 仓库添加到 Ubuntu 系统。

bash 复制代码
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/pgadmin4.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main"\
| sudo tee /etc/apt/sources.list.d/pgadmin4.list

接下来,运行以下 'apt' 命令来更新你的 Ubuntu 软件包索引并安装 'pgadmin4-web' 软件包。输入 'Y' 以确认安装。

bash 复制代码
sudo apt update && sudo apt install pgadmin4-web

安装完成后,执行 'setup-web.sh' 脚本来配置 pgAdmin4 的安装。

bash 复制代码
/usr/pgadmin4/bin/setup-web.sh

现在系统将要求你进行以下 pgAdmin4 配置:

  • 输入你的电子邮件地址和密码,用于 pgAdmin4 身份验证
  • 输入 'y' 以将 Apache 配置为反向代理
  • 输入 'y' 以重启 Apache Web 服务器并应用更改

访问 pgAdmin4

打开你的 Web 浏览器并访问 http://your_server_ip/pgadmin4。如果安装成功,你将看到 pgAdmin4 登录页面。

使用你的电子邮件地址和密码登录到 pgAdmin4 仪表板。

如果你使用了正确的电子邮件地址和密码,你将看到如下所示的 pgAdmin4 仪表板:

登录到 pgAdmin4 后,你需要连接到 PostgreSQL 服务器。单击仪表板中的"添加新服务器"菜单。

  • 在"常规"选项卡中输入你的连接名称
  • 在"连接"选项卡中输入你的 PostgreSQL 服务器详细信息
  • 选中"保存密码"选项
  • 单击"保存"

连接到 PostgreSQL 服务器后,你将看到如下页面:

结论

你已完成在 Ubuntu 22.04 服务器上安装 pgAdmin4 服务器模式。你已经通过官方 PostgreSQL 仓库安装并配置了 PostgreSQL 服务器,并安装了以 Apache 作为反向代理的 pgAdmin4。你还学习了如何从 pgAdmin4 仪表板连接到 PostgreSQL 服务器。

相关链接

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site

我的博客:https://blog.ivwv.site

相关推荐
CQU_JIAKE10 分钟前
12.16【net】[debug]SOCKET_RAW无法在热点局域网下传递,悬而未决
服务器·计算机网络
Cachel wood11 分钟前
Vue.js前端框架教程5:Vue数据拷贝和数组函数
linux·前端·vue.js·python·阿里云·前端框架·云计算
我们的五年33 分钟前
【Linux课程学习】:第二十一弹---深入理解信号(中断,信号,kill,abort,raise,larm函数)
linux·服务器·后端·深度学习·ubuntu·机器学习
葟雪儿40 分钟前
海思芯片 交叉编译curl
linux·运维·服务器·开发语言·c++·嵌入式硬件
高hongyuan1 小时前
Ansible 简介及常用命令 安装部署tomcat -单机版
运维·自动化·ansible
hjxxlsx1 小时前
C# 趋势图:洞察其发展轨迹与未来走向
服务器·数据库·c#
文浩(楠搏万)1 小时前
Tomcat HTTPS配置、域名解析及Java WAR包打包
java·运维·服务器·nginx·http·https·tomcat
蜜獾云1 小时前
docker springboot 运维部署详细实例
运维·docker·容器
{⌐■_■}1 小时前
【docker】容器编排之docker swarm
运维·docker·容器