基于pgAdmin4 Web UI界面实现连接docker 版PostgreSQL实现增删改查操作

Docker-Compose.yaml

bash 复制代码
services:
  postgres:
    image: postgres:16
    container_name: my_postgres
    restart: unless-stopped
    env_file:
      - ./.env
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
      - ./initdb:/docker-entrypoint-initdb.d:ro

  pgadmin:
    image: dpage/pgadmin4
    container_name: my_pgadmin
    restart: unless-stopped
    environment:
      PGADMIN_DEFAULT_EMAIL: lzdssd@qq.com
      PGADMIN_DEFAULT_PASSWORD: admin123
    ports:
      - "5050:80"

volumes:
  pgdata:

第一步:确认你的 postgres 容器信息

运行:

bash 复制代码
docker ps

找到你的 PostgreSQL 容器,类似:

复制代码
CONTAINER ID   NAME          IMAGE           PORTS
xxxxx          my_postgres   postgres:16     5432/tcp

你需要确认三个关键信息:

信息 说明 示例值
Host pgAdmin 与 postgres 在同一个 docker compose 网络中 my_postgres
Port postgres 容器内部端口 5432
Username POSTGRES_USER postgres
Password POSTGRES_PASSWORD 123456
DB Name POSTGRES_DB mydb

如果你用 docker-compose,通常连接方式如下:

Host:postgres 容器名,例如 my_postgres
Port:5432


第二步:在 pgAdmin4 中添加 PostgreSQL Server

  1. 登录 pgAdmin4
  2. 左侧 "Servers" → 右键 → Create → Server...

🟦 General 选项

  • Name: 随便填,例如:Local Postgres

🟩 Connection 选项

按你 docker-compose 的名字填写。例如:

选项 填什么
Host name/address my_postgres(容器名)
Port 5432
Maintenance database postgres
Username postgres
Password 你设置的密码,如 postgres123

不要填 localhost!pgAdmin 在容器里,localhost 是 pgAdmin 容器本身,不是你的数据库。


🟩 如你的 docker-compose 是下面这样的:

yaml 复制代码
services:
  my_postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 123456
      POSTGRES_DB: testdb

那你在 pgAdmin 填:

复制代码
Host: my_postgres
Port: 5432
User: postgres
Password: 123456
Database: testdb

🎉 第三步:创建数据库

连接成功后:

Servers → Local Postgres → Databases → 右键 → Create → Database

输入:

  • Database: demo
  • Owner: postgres

保存即可。


🎉 第四步:创建数据表

选择你刚建的数据库 demo:

复制代码
demo → Schemas → public → Tables → 右键 Create → Table

示例表结构(用户表 user):

Column Type Constraints
id serial Primary key
name varchar(50) not null
age int

填完后保存。


🎉 第五步:增删改查(SQL)

右键你的 demo 数据库 → Query Tool

输入 SQL:

▶ 插入数据

sql 复制代码
INSERT INTO public.user (name, age) VALUES ('Tom', 25);

▶ 查询数据

sql 复制代码
SELECT * FROM public.user;

▶ 更新数据

sql 复制代码
UPDATE public.user SET age = 30 WHERE name = 'Tom';

▶ 删除数据

sql 复制代码
DELETE FROM public.user WHERE name = 'Tom';

相关推荐
随便做点啥2 小时前
32卡-64G-910B4-16后端-(Qwen3.8-27B-W8A8)集群部署报告
运维·服务器·经验分享·docker·vllm
Orange_sparkle11 小时前
从 Docker 到 Doris:建立后端基础设施全景图
运维·docker·ai·容器·claude code
gx234812 小时前
控制器管理
docker·容器·kubernetes
xuefuhe13 小时前
PostgreSQL源码1:select 1
postgresql
白清羽13 小时前
7.3系统安装docker
运维·docker·容器
dazhong201215 小时前
Docker 入门篇(八)-- CentOS7 安装 MySQL 8
mysql·docker·容器
IvorySQL15 小时前
PostgreSQL 日报|内核多项缺陷修复与数据校验补丁推进(8 月 27 日)
数据库·postgresql·区块链
典典分享指南17 小时前
用大模型把写作 SOP 变成可复用 Prompt
docker·jupyter·eclipse·phpstorm·myeclipse
Larru-Sun20 小时前
从零开始用 Docker 部署 Node.js 后端服务
docker·容器·node.js
feilieren1 天前
ubuntu 安装 docker
linux·ubuntu·docker