基于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 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
金刚猿2 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong3 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿3 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
70asunflower7 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
春日见7 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe28 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
l1t8 小时前
DeepSeek总结的PostgreSQL的GPT推理SQL移植到DuckDB的性能优化方法
sql·gpt·postgresql
星火s漫天8 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua10 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka