文章目录
前言:本专栏专注于讲述 PostgreSQL各个方面、不同场景的使用。从零基础安装配置到高级特性实战,从性能优化到高可用架构,系统掌握 PostgreSQL 核心技能。不管您是零基础还是有经验的开发,相信都能从本专栏获益。专栏持续更新中...
【开篇词】为什么要学习 PostgreSQL?我们能从中收获什么?
一、PostgreSQL语言基础和进阶
第1节:PG基础入门
1、万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
2、PostgreSQL的连接方式有哪些?有哪些连接工具?
3、PostgreSQL实战:配置文件 postgresql.conf 详解及安装后必须调整的关键参数
4、PostgreSQL实战:一文掌握 pg_hba.conf 配置,涵盖密码认证、IP限制与安全策略
5、PostgreSQL实战:psql命令行的高效使用技巧
6、PostgreSQL实战:如何选择合适的数据类型?
7、PostgreSQL实战:详细讲述UUID主键,以及如何生成无热点的分布式主键
8、PostgreSQL实战:序列深度解析,高并发下的ID生成陷阱与优化
9、PostgreSQL实战:为什么说JSONB是PostgreSQL的杀手级功能?
10、万字详解模式(Schema):如何利用 Schema 实现PostgreSQL中开发/测试/生产环境隔离
第2节:PG进阶
1、PostgreSQL实战:窗口函数详解
2、PostgreSQL实战:详解权限设置与管理全流程
3、PostgreSQL实战:如何用 CTE(公用表表达式)解决复杂的查询逻辑
4、PostgreSQL 实战:EXPLAIN 执行计划详解
5、PostgreSQL 实战:一文掌握如何优雅的进行递归查询?
6、PostgreSQL 实战:详解 UPSERT(INSERT ON CONFLICT)
7、PostgreSQL 实战:索引的设计原则详解
8、PostgreSQL 实战:详解索引失效的十大常见原因
9、PostgreSQL 实战:如何优雅高效地进行全文检索
9、PostgreSQL 实战:如何优雅高效地使用正则表达式?
10、PostgreSQL 实战:数组的增删改查与索引优化详解
11、PostgreSQL 实战:一文理解视图与物化视图
12、PostgreSQL 实战:如何防范SQL注入?
13、PostgreSQL 实战:行级安全策略(RLS)详解
第3节:PG基础与进阶(大致过一遍即可)
1、PostgreSQL:一. PostgreSQL介绍
2、PostgreSQL:二. PostgreSQL的安装与配置
3、PostgreSQL:三. 数据库的基本操作
4、PostgreSQL:四. 数据表的基本操作
5、PostgreSQL:五. 数据类型和运算符
6、PostgreSQL:六. PostgreSQL函数
7、PostgreSQL:七. 插入,更新与删除数据
8、PostgreSQL:八. 查询语句
9、PostgreSQL:九. 索引
10、PostgreSQL: 十. 视图
11、PostgreSQL:十一. 触发器
12、PostgreSQL:十二. 事务处理与并发控制
13、PostgreSQL:十三. PostgreSQL的用户管理
14、PostgreSQL:十四. 数据备份与还原
15、PostgreSQL:十五. 性能优化
16、PostgreSQL:十六. 高可用、负载均衡和数据复制
17、PostgreSQL:十七. 服务器配置与数据库监控
18、PostgreSQL:十八. 内部结构
19、数据库:一文掌握 PostgreSQL 的各种指令(PostgreSQL指令备忘)
二、PostgreSQL核心原理
1、PostgreSQL核心原理:数据库崩溃恢复的唯一真相详解
2、PostgreSQL核心原理:为什么数据库偶尔会卡顿?
3、PostgreSQL核心原理:一文掌握Postmaster与子进程的协作机制
4、PostgreSQL 核心原理:读不阻塞写,写不阻塞读的秘密
5、PostgreSQL 核心原理:读已提交与可重复读的底层实现差异(事务隔离级别)
6、PostgreSQL 核心原理:如何从日志中定位死锁根源(死锁检测与预防)
7、PostgreSQL 核心原理:大字段(大对象)是如何被压缩和存储的(TOAST存储机制)
8、PostgreSQL 核心原理:如何防止事务ID回卷?(Wraparound)
9、PostgreSQL 核心原理:一文掌握数据库的热数据缓存池(共享缓冲区)
10、PostgreSQL 核心原理:一文掌握 WAL 缓冲区与刷盘策略(性能与数据安全的权衡)
11、PostgreSQL 核心原理:为什么执行计划突然变慢了?(统计信息收集)
12、PostgreSQL 核心原理:什么场景下开启 JIT 能提升性能?(JIT 编译)
13、PostgreSQL 核心原理:减少索引更新的黑科技(堆内元组更新 HOT)
14、PostgreSQL核心原理:防止数据丢失的关键操作(真空冻结)
15、PostgreSQL 核心原理:系统内部的对象寻址机制(OID 对象标识符)
16、PostgreSQL 核心原理:如何查询 pg_class、pg_attribute 等元数据?(系统目录表)
17、PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
18、PostgreSQL 核心原理:行锁、表锁、咨询锁与死锁详解(锁机制)
19、PostgreSQL 核心原理:死元组堆积导致磁盘爆满的解决方案(表膨胀(Bloat)诊断)
三、PostgreSQL性能优化与故障排查
1、PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
2、PostgreSQL 性能优化:慢查询优化全流程,从定位到优化的标准化 SOP
3、PostgreSQL 故障排查:万字详解如何找出数据库中的死锁
4、PostgreSQL 性能优化:连接数过多的原因分析与连接池方案
5、PostgreSQL 性能优化:如何提高数据库的并发能力?
6、PostgreSQL 性能优化: I/O 瓶颈分析,以及如何提高数据库的 I/O 性能?
7、PostgreSQL 故障排查:紧急排查与 SQL 熔断处理(CPU 占用 100% 等情况)
8、PostgreSQL 性能优化:如何安全地终止一个正在执行的大事务?
9、PostgreSQL性能优化:如何定期清理无用索引以释放磁盘空间(索引膨胀监控)
10、PostgreSQL 性能优化:分区表实战
11、PostgreSQL 性能优化:外键缺失导致的性能问题(级联删除的隐患)
12、PostgreSQL性能优化:索引失效的隐形杀手(隐式类型转换)
13、PostgreSQL性能优化:批量插入优化
14、PostgreSQL性能优化:针对高写入业务的参数调整(Vacuum调优)
15、PostgreSQL性能优化:内存配置优化(shared_buffers与work_mem的黄金比例)
16、PostgreSQL性能优化:如何避免写入大量的临时文件?
17、PostgreSQL性能优化:如何搭建监控体系?
18、PostgreSQL性能优化:如何读懂 postgresql.log 中的关键错误(日志分析)
19、PostgreSQL性能优化:详解性能压测工具(pgbench)
四、PostgreSQL高可用、备份和恢复
1、PostgreSQL:一文掌握物理复制与逻辑复制
2、PostgreSQL:详解如何搭建流复制集群
3、PostgreSQL:主备切换(Failover),手动与自动切换演练
4、PostgreSQL:Patroni 高可用架构,基于etcd的自动故障转移集群
5、PostgreSQL:Repmgr 管理工具,流复制的简易管理方案
6、PostgreSQL:如何制定备份策略(全量+增量+差异备份)
7、PostgreSQL:万字详解逻辑备份的并行与压缩技巧
8、PostgreSQL:物理备份与搭建从库
9、PostgreSQL:误删数据后,如何恢复到删之前的那一刻?
10、PostgreSQL:如何实现数据恢复?
11、PostgreSQL:防止 WAL 文件撑爆磁盘的策略(WAL归档配置)
12、PostgreSQL:如何定期验证备份的有效性?(灾备演练)
13、PostgreSQL:如何配置数据库的传输层加密(SSL加密连接)
14、PostgreSQL:详解 pgAudit 插件的使用(数据脱敏与审计)
五、PostgreSQL生态拓展与前沿技术
1、PostgreSQL:详解 PostGIS 地理信息数据处理
2、PostgreSQL:如何把PostgreSQL变成时序数据库(TimescaleDB)
3、PostgreSQL:Citus 分布式拓展,水平分片,支持海量数据与高并发
4、PostgreSQL:详解 orafce 拓展插件的使用
5、PostgreSQL:详解 MySQL数据迁移,如何将数据平滑迁移到PostgreSQL
6、PostgreSQL:如何通过progres_fdw跨库关联查询?
7、PostgreSQL:如何直接在数据库中查询 CSV/JSON文件?
8、PostgreSQL:详解 PostgreSQL 与Hadoop与Spark的集成
9、PostgreSQL:如何在容器中部署 Crunchy Data Operator(Kubernetes 运维)
10、PostgreSQL:存储过程编程 ------ PL/pgSQL 语言基础与异常处理
11、PostgreSQL:触发器实战 ------ 实现数据变更的历史记录(审计日志)
12、PostgreSQL:如何用Python/Javascript编写数据库函数(自定义函数)
13、PostgreSQL:常用扩展插件的安装与使用 ------ UUID-OSSP 与 PG-CRON
六、其它
1、在PostgreSQL中并发保存上亿个图片链接和图片md5的对应关系,如何做最合适?
2、向PostgreSQL中json中加入某个字段 或者更新某个字段的SQL语句
3、PostgreSQL 的开源扩展:高效存储和检索向量数据的 PGVector 的详细使用
4、PostgreSQL如何能存储一亿条链接信息?
5、亿级图片链接存入 PostgreSQL,URL链接字段数据类型用哪个最合适?
6、如何使用 httpx + SQLAlchemy 异步高效写入上亿级图片链接与MD5到 PostgreSQL
7、PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON