PostgreSQL数据库学习路线

2026年01月20日/ 浏览 8

1.PostgreSQL 基础入门

目标:

掌握 PostgreSQL 的安装、配置和基本操作熟悉基本的 SQL 语法

学习内容:

PostgreSQL 安装与配置安装 PostgreSQL:Windows、Linux(Debian、CentOS)、macOS使用 pgAdmin 进行管理和可视化操作使用 psql 命令行工具配置 PostgreSQL 服务(如监听端口、用户权限等)基本 SQL 语法SELECT、INSERT、UPDATE、DELETE基本数据类型:INTEGER, VARCHAR, TEXT, DATE, BOOLEAN数据库、表、索引、视图等基本对象的创建和管理查询语法基础条件查询:WHERE, ORDER BY, GROUP BY, HAVING聚合函数:COUNT, SUM, AVG, MAX, MIN字符串、日期处理函数事务处理ACID 原则BEGIN, COMMIT, ROLLBACK锁机制:行级锁、表级锁

2.进阶:SQL 高级特性

目标:

深入理解 PostgreSQL 的高级功能和优化技巧

学习内容:

高级查询技巧联接:INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN子查询:嵌套查询、关联子查询WITH 子句(CTE:公共表达式)WINDOW 函数:ROW_NUMBER, RANK, LEAD, LAG数据完整性与约束主键、外键、唯一约束检查约束(CHECK)默认值、空值处理(NOT NULL, DEFAULT)自定义数据类型与约束索引与优化常见索引类型:B-tree, GIN, GiST, Hash索引的使用和优化:CREATE INDEX, EXPLAIN 分析查询计划查询优化:查询计划的分析、优化器(ANALYZE, VACUUM)视图和物化视图VIEW、MATERIALIZED VIEW 的创建与使用物化视图的刷新机制

3.高级:PostgreSQL 特性与扩展

目标:

学会使用 PostgreSQL 的高级特性,能在生产环境中高效使用

学习内容:

PostgreSQL 扩展安装和使用 PostgreSQL 扩展:pg_stat_statements, pg_partman,pg_trgm 等PostGIS:空间数据库扩展,支持地理数据类型和操作TimescaleDB:时序数据库扩展,适合大规模时序数据存储与查询存储过程与触发器创建和使用 PL/pgSQL 存储过程使用触发器(Triggers)自动处理数据变化事件事务隔离级别与并发控制理解事务隔离级别:READ COMMITTED, REPEATABLE READ, SERIALIZABLE行级锁(FOR UPDATE)与死锁检测复制与高可用性Streaming Replication:主从复制配置与管理Logical Replication:逻辑复制的配置与使用故障转移和高可用性:使用 pgpool, Patroni, repmgr 等工具自动故障恢复:设置自动切换与恢复机制备份与恢复使用 pg_dump 和 pg_restore 进行数据库备份与恢复WAL (Write-Ahead Logging) 日志归档与 PITR(点时间恢复)

4.PostgreSQL 性能调优与监控

目标:

深入理解 PostgreSQL 的性能优化原理,能够调优系统性能

学习内容:

性能调优基础调优:调整 shared_buffers, work_mem, maintenance_work_mem, effective_cache_size 等配置查询优化:使用 EXPLAIN ANALYZE 分析查询执行计划,避免全表扫描,合理使用索引索引优化:合理选择索引类型、避免不必要的索引并发和锁优化高并发下的行级锁和死锁分析vacuum 和 autovacuum 的配置与优化数据库负载均衡与资源分配PostgreSQL 监控使用 pg_stat_activity 和 pg_stat_user_tables 等视图监控数据库状态第三方工具:pgAdmin, Prometheus + Grafana 监控面板系统级监控:使用 top, htop, iostat 等工具监控系统资源

5.生产实践与架构设计

目标:

在生产环境中设计高效、安全、可扩展的 PostgreSQL 系统

学习内容:

分库分表与数据分区理解分区表的概念和配置,使用 PARTITION BY 分区数据分库分表方案设计:水平分库、垂直分库使用分区和分片工具:pg_partman、Citus高并发系统架构设计PostgreSQL 与缓存(Redis、Memcached)配合使用使用异步任务队列:pg_notify,与后台任务服务(如 Celery)配合读写分离与负载均衡架构设计安全性与权限管理数据加密:SSL/TLS、字段加密用户权限管理:基于角色的权限控制审计与日志管理容灾与备份策略定期备份、增量备份、日志备份故障恢复演练和应急预案

6.实际项目与案例

在你掌握了 PostgreSQL 的基本操作与高级特性后,接下来的学习应该通过 实际项目 来巩固你的技能:

案例 1:电商系统的数据库设计设计一个高并发、高可用的电商后台系统数据库,重点考虑表设计、索引优化、分库分表、缓存机制。案例 2:金融风控系统的数据库架构设计金融类系统,重点考虑数据一致性、事务隔离级别、备份与恢复策略、高可用性。案例 3:日志分析系统的数据库设计使用 PostgreSQL 存储和分析海量日志数据,使用时序数据和扩展如 TimescaleDB,设计高效的查询与存储方案。

学习资源推荐:

官方文档PostgreSQL 官方文档书籍《PostgreSQL: Up and Running》《Mastering PostgreSQL in Application Development》在线教程与视频PostgreSQL 官方教程Udemy PostgreSQL课程YouTube PostgreSQL 视频教程

picture loss