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

相关推荐
日取其半万世不竭13 分钟前
PostgreSQL 云服务器安装配置指南:从零开始搭建生产数据库
服务器·数据库·postgresql
审判长烧鸡33 分钟前
GO时区【4】PostgreSQL时区
postgresql·go
炸裂狸花猫43 分钟前
开源身份认证与访问管理平台 - Keycloak(二)
docker·云原生·容器·kubernetes·开源·keycloak·sso
炸裂狸花猫1 小时前
开源身份认证与访问管理平台 - Keycloak(一)
docker·云原生·kubernetes·开源·devops
rustfs1 小时前
MinIO 国产平替,RustFS 发布 Beta 版本啦
分布式·docker·云原生·rust·开源
Hungry_Shark2 小时前
Windows上Docker安装失败:DockerDesktop must beowned by an elevated account
windows·docker
苏渡苇2 小时前
关于Docker镜像仓库
docker·镜像仓库·docker私有镜像仓库
审判长烧鸡2 小时前
GO时区【3】字段与连接设置
postgresql·go
流放深圳2 小时前
CentOS7 安装 Redis Stack
docker·redisstack
ai产品老杨2 小时前
深度架构解析:基于异构计算与 Docker 容器化的 AI 视频管理平台实战
人工智能·docker·架构