PostgreSQL notes
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin
case
driver
fault
fdw
feature
gis
internal
maintain
misc
monitor
tech
tools
tune
README.md

README.md

PG

PostgreSQL是个好数据库

—— Vonng

开发

杂文

案例

技术

  • QPS/TPS:一个容易误解的指标
  • 使用三维/四维点存储时空轨迹
  • 自动化后端:PostGraphQL, PgRest, PostgRest横向对比
  • PostGraphQL:解放前后端生产力
  • postgres_fdw应用:管理远程数据库
  • 逻辑解码:变更数据捕获CDC

功能

类型

  • PostgreSQL数据类型 —— 数值类型
  • PostgreSQL数据类型 —— 文本类型
  • PostgreSQL数据类型 —— 文本字面值
  • PostgreSQL数据类型 —— 网络类型
  • PostgreSQL数据类型 —— Date/Timestamp/TimstampTZ那些事
  • Sequence的方方面面

查询

索引

  • 常见索引类型及其应用场景

函数

并发

  • 事务简介
  • 隔离等级与并发异常
  • 连接数、连接池

驱动

  • Golang的数据库标准接口教程:database/sql
  • PostgreSQL驱动横向评测:Go语言
  • PostgreSQL Golang驱动介绍:pgx
  • PostgreSQL Golang驱动介绍:go-pg
  • PostgreSQL Python驱动介绍:psycopg2
  • psycopg2的进阶包装,让Python访问Pg更敏捷。
  • PostgreSQL Node.JS驱动介绍:node-postgres

管理

维护

HA

  • HA基础 —— 复制原理,主从搭建
  • WAL段复制
  • 复制拓扑设计:同步、异步、法定人数
  • 逻辑复制:发布与订阅
  • 故障切换,权衡,比可用性更重要的是完整性

监控

  • 开源监控方案横向对比:pg_statsinfo, pgwatch2, prometheus
  • 静态监控,配置项与角色
  • 轻重缓急,快慢分离
  • 操作系统监控
  • 监控CPU使用
  • 监控磁盘网络IO
  • 监控数据库基本指标
  • 监控死锁
  • 监控连接
  • 监控活动
  • 监控复制延迟
  • 监控表:空间,膨胀,年龄,IO
  • 监控索引:空间,膨胀,重复,闲置
  • 系统级别监控
  • 监控函数:调用量,时间
  • 监控连接池:QPS,延迟,排队,连接
  • 监控自动清理与检查点
  • 系统视图详解
  • 系统水位测量、经验值

调参

故障

原理

  • 查询处理原理
  • JOIN类型及其内部实现
  • 并发控制原理
  • VACUUM原理
  • WAL:PostgreSQL WAL与检查点
  • Buffer原理
  • 逻辑解码:变更数据捕获CDC
  • 流复制原理与实现细节
  • 二阶段提交:原理与实践
  • PostgreSQL Wire Protocal:前后端交互协议
  • B树原理与实现细节
  • R树原理与实现细节
  • PostgreSQL数据页结构
  • FDW的结构与编写
  • SSD Internal

专题

FDW

Pgbouncer

  • pgbouncer基础配置
  • pgbouncer参数详解

PgPool-II

  • pgpool的应用方式

PostGIS

TimescaleDB

  • TimescaleDB安装与使用

PipelineDB

  • PipelineDB安装

Citus

  • Citus安装

PgAdmin

  • PgAdmin Server 安装

PgBackRest

  • PgBackRest 中文文档

PK

  • MySQL
  • Oracle

参考