Skip to content

PG 实验室(一):开篇、使用 Docker 安装 PostgreSQL。

发布于: at 12:02

前言

DB Engines 给出的数据库排行

DB-Engines 提供的数据中,PostgreSQL 的增长势头依然强劲,而 MySQL 的增长似乎已经放缓。开源社区中,基于 PostgreSQL 的各种项目如雨后春笋般涌现,呈现出蓬勃发展的态势。面对这样的趋势,找不到不转向使用 PostgreSQL 的理由。

使用 Docker Compose 进行安装

前置准备工作

安装 PostgreSQL 实例

networks:
  net_postgresql:
    external: true

volumes:
  vol_postgresql_data:

services:
  postgresql:
    container_name: postgresql
    image: postgres:16-bookworm
    networks:
      - net_postgresql
    environment:
      - TZ=Asia/Shanghai
      - POSTGRES_HOST_AUTH_METHOD=trust
    ports:
      - 5432:5432
    volumes:
      - vol_postgresql_data:/var/lib/postgresql
    restart: unless-stopped

使用上面定义好的编排文件直接进行启动:docker compose up -d,启动完成之后可以看下端口正常映射出来了。

Docker Compose 启动 PostgreSQL

安装 pgAdmin 实例

networks:
  net_postgresql:
    external: true

volumes:
  vol_pgadmin_data:

services:
  postgresql:
    container_name: pgadmin
    image: dpage/pgadmin4:8
    networks:
      - net_postgresql
    environment:
      - TZ=Asia/Shanghai
      - PGADMIN_DEFAULT_EMAIL=admin@admin.com
      - PGADMIN_DEFAULT_PASSWORD=admin
    ports:
      - 5433:80
    volumes:
      - vol_pgadmin_data:/var/lib/pgadmin
    restart: unless-stopped

使用上面定义好的编排文件直接进行启动:docker compose up -d,启动完成之后可以看下使用了 5433 端口来映射 pgAdmin80 端口。

Docker Compose 启动 pgAdmin4

通过浏览器打开也能正常看到 pgAdmin 的登录界面。

pgAdmin4 登录界面

pgAdmin 来连接 PostgreSQL 实例

先使用环境变量预先设置的的账号密码来登录 pgAdminadmin@admin.com/admin),登录成功之后可以看到主页面。我们先来添加把我们新建的实例添加进来:

  1. 点击添加服务器,名称填写 PostgreSQL

pgAdmin4 新建服务器 01

  1. 切换到连接,主机名称/地址直接填写 Docker Compose 内服务名称就不需要关心具体 IP 地址了。数据库选择 postgres,用户名也选择 postgres。由于我们创建实例的时候没有设置密码相关,这里就不需要填写密码了。填写完成之后就可以保存了。

pgAdmin4 新建服务器 02

  1. 保存成功之后可以自动连接,左侧栏就可以直接看到我们新建的 PostgreSQL 实例相关的信息了。

pgAdmin4 新建服务器 03