简介

pgAdmin是PostgreSQL官方推出的最受欢迎的开源图形化管理工具。它提供了一个直观、强大的图形界面,让数据库管理员和开发人员能更轻松地管理和开发PostgreSQL数据库。

核心特点:

  • 官方与开源:作为PostgreSQL的官方标配工具,pgAdmin是100%开源的,没有商业化版本的限制。

  • 跨平台支持:支持Windows、macOS、Linux等多种操作系统,也可以作为Web应用程序部署,通过浏览器访问。

  • 版本兼容性强:支持所有当前受支持的PostgreSQL版本及其相关衍生版本。

一、准备工作

在开始之前,请确保:

Docker环境已部署:Ubuntu20.04已安装Docker和Docker Compose(还没部署的可参考Ubuntu20.04部署docker及docker-compose)
验证:

二、方式一:快速部署(使用 docker run 命令)

1. 拉取 pgAdmin 镜像
sudo docker pull dpage/pgadmin4:latest

2. 创建并运行容器
# 运行容器
sudo docker run -d --name pgadmin4 -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=admin@yourdomain.com" -e "PGADMIN_DEFAULT_PASSWORD=YourSecurePassword123" -v pgadmin_data:/var/lib/pgadmin --restart unless-stopped dpage/pgadmin4:latest

# 查看容器启动状态
sudo docker ps


参数说明:

| 参数 | 说明 |
| -d | 后台运行容器 |
| --name pgadmin4 | 指定容器名称,便于管理 |
| -p 5050:80 | 将宿主机 5050 端口映射到容器 80 端口 |
| -e PGADMIN_DEFAULT_EMAIL |必填,登录邮箱(即用户名) |
| -e PGADMIN_DEFAULT_PASSWORD |必填,登录密码 |
| -v pgadmin_data:/var/lib/pgadmin | 数据持久化,保存服务器列表和配置 |
| --restart unless-stopped | 自动重启策略 |

>注意:如果 5050 端口被占用,可以改为其他端口,如 -p 8080:80。

3. 访问pgadmin 4

在浏览器中访问:
http://{服务器IP}:5050

使用部署时设置的 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD 登录。,进入以下界面就已经部署完成了

三、方式二:使用 Docker Compose 部署(推荐)

如果你计划同时部署 PostgreSQL 和 pgAdmin,或需要更复杂的配置管理,推荐使用 Docker Compose。

1. 创建 docker-compose.yml 文件
vim docker-compose.yml

写入以下内容:

services:
  postgres:
    image: postgres:16
    container_name: postgres
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: mydb
    volumes:
      - postgres_data:/var/lib/postgresql
    networks:
      - pgnetwork

  pgadmin:
    image: dpage/pgadmin4:latest
    container_name: pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@yourdomain.com
      PGADMIN_DEFAULT_PASSWORD: YourSecurePassword123
      PGADMIN_LISTEN_PORT: 5050
    ports:
      - "5050:5050"
    volumes:
      - pgadmin_data:/var/lib/pgadmin
    depends_on:
      - postgres
    networks:
      - pgnetwork

volumes:
  postgres_data:
  pgadmin_data:

networks:
  pgnetwork:
2. 启动服务
sudo docker compose up -d

# 查看容器启动情况
sudo docker ps


四、访问并登录 pgAdmin

容器启动后,在浏览器中访问:

http://你的服务器IP:5050


使用部署时设置的 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD 登录。

五、连接 PostgreSQL 数据库

登录 pgAdmin 后,点击Add New Server添加数据库连接。根据你的 PostgreSQL 部署方式,填写不同的连接信息:

场景 A:PostgreSQL 通过端口映射运行(未加入自定义网络)

如果 PostgreSQL 是用 docker run -p 5432:5432 方式启动的,pgAdmin 需要通过宿主机 IP 来访问它:

| 字段 | 填写内容 |
| 主机名称/地址 | 你的 Ubuntu 服务器 IP(如 192.168.x.x) |
| 端口 | 5432 |
| 维护数据库 | PostgreSQL 的 POSTGRESpgAdmin是PostgreSQL官方推出的最受欢迎的开源图形化管理工具。它提供了一个直观、强大的图形界面,让数据库管理员和开发人员能更轻松地管理和开发PostgreSQL数据库。_DB 值 |
| 用户名 | PostgreSQL 的 POSTGRES_USER 值 |
| 密码 | PostgreSQL 的 POSTGRES_PASSWORD 值 |

场景 B:PostgreSQL 加入了自定义 Docker 网络

如果 PostgreSQL 和 pgAdmin 在同一个 Docker 网络中(如上面 Docker Compose 方式),可以直接通过容器名称连接:

192.168.66.134

| 字段 | 填写内容 |
| 主机名称/地址 | PostgreSQL 容器名称(如 postgres) |
| 端口 | 5432 |
| 维护数据库/用户名/密码 | 按 PostgreSQL 配置填写 |

填写完成后点击“Save”,就可以开始探索这个平台了!

六、常用管理命令

# 查看容器状态
docker ps | grep pgadmin

# 查看容器日志
docker logs pgadmin4

# 停止容器
docker stop pgadmin4

# 启动容器
docker start pgadmin4

# 删除容器(数据卷保留)
docker rm pgadmin4

# 更新 pgAdmin 版本
docker stop pgadmin4
docker rm pgadmin4
docker pull dpage/pgadmin4:latest
# 重新执行上面的 docker run 命令

七、数据持久化说明

命令中 -v pgadmin_data:/var/lib/pgadmin 创建了一个名为 pgadmin_data 的 Docker 数据卷。这个卷会保存你的服务器列表、查询历史等配置,即使容器被删除,数据也不会丢失。

如需查看数据卷位置:

docker volume inspect pgadmin_data

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐