CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
PostgreSQL DBA 入门/课时/安装与部署
RawBlame
课时目录12 节

PostgreSQL DBA 入门

  1. 01DBA 职责与 PG 架构
  2. 02安装与部署
  3. 03安全与权限
  4. 04SQL 与事务
  5. 05对象模型与类型
  6. 06索引与执行计划
  7. 07性能与监控
  8. 08备份与恢复
  9. 09复制与高可用
  10. 10PL/pgSQL 与触发器
  11. 11自动化运维
  12. 12综合练习

安装与部署

Docker、systemd、pg_ctl、云部署。

35 分钟

安装与初始化 Cluster

生产可用 包管理器 或 官方二进制;本地跟练推荐 Docker。与 /roadmaps/postgresql-dba 安装节点对齐。

学习目标

  • 用 Docker Compose 启动 PG 16 并持久化数据
  • 理解 initdb、数据目录与 postgresql.conf
  • 用 psql 完成首次连接与基本 \ 命令

核心概念

Docker Compose 片段

services:
  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: dba
      POSTGRES_PASSWORD: devpass
      POSTGRES_DB: codeforge_pg
    ports:
      - "5432:5432"
    volumes:
      - pg_data:/var/lib/postgresql/data
volumes:
  pg_data:
docker compose up -d postgres
docker exec -it <container> psql -U dba -d codeforge_pg

物理安装要点(Linux)

sudo -u postgres initdb -D /var/lib/pgsql/16/data
sudo systemctl enable --now postgresql-16
sudo -u postgres createuser --interactive

关键文件:postgresql.conf(参数)、pg_hba.conf(客户端认证)、PGDATA 目录权限须属 postgres 用户。

psql 速查

\l          -- 列出数据库
\c dbname   -- 切换连接
\du         -- 角色列表
\dt app.*   -- schema 下表
SELECT version();

与 MySQL/Spring Boot 对照

项PostgreSQLMySQL 8
数据目录$PGDATA/var/lib/mysql
初始化initdbmysqld --initialize
配置文件postgresql.confmy.cnf
客户端认证pg_hba.confmysql.user + bind
默认端口54323306

Spring 实验 profile 示例:jdbc:postgresql://127.0.0.1:5432/codeforge_pg(见 pg-spring),勿替换生产 MySQL URL。

练习

  • 启动 compose, 返回 accepting connections
pg_isready -U dba
  • 创建 schema app,\dn 确认
  • 停止容器再启动,验证卷内数据仍在
  • 小结

    Compose + 命名卷 = 可重复 DBA 实验环境。 下一课角色、权限与日常管理。

    加载本节练习…
    ← 上一课DBA 职责与 PG 架构下一课 →安全与权限