基于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';

相关推荐
qq_2153978972 小时前
shell 脚本部署docker 服务MySQL 5.7
mysql·adb·docker
❀͜͡傀儡师2 小时前
Docker一键部署Flatnas,比Sun-Panel更优雅
运维·docker·容器
永不停歇的蜗牛3 小时前
K8S之Ctr 和 Docker的区别
docker·kubernetes·dubbo
❀͜͡傀儡师3 小时前
docker一键部署kafka
docker·容器·kafka
IT运维爱好者3 小时前
【国产】华为欧拉操作系统openEuler-LTS-22.03安装Docker-Compose保姆级教程
docker·容器·openeuler·欧拉
我叫安查查3 小时前
在Ubuntu系统上使用docker部署GPUStack教程【亲测成功】
linux·ubuntu·docker·gpustack
脑壳疼___3 小时前
ubuntu安装postgresql、postgis、pgrouting
linux·ubuntu·postgresql
晨欣3 小时前
Dify Custom Tool 调用超时问题排查与解决方案(claude-4.5-opus-high)
docker·容器·dify
betazhou3 小时前
docker容器单机创建3个节点的MySQLMGR集群
运维·mysql·docker·容器·集群·mgr