1
1
# PG
2
2
3
- > PostgreSQL是个好数据库
3
+ > Postgres is good
4
4
>
5
5
> —— Vonng
6
6
7
7
8
8
9
9
10
10
11
- ## 文章
11
+ ## Posts / 文章
12
12
13
13
- [x] [ 计算机系为什么要学数据库原理和设计?] ( misc/why-learn-database.md )
14
14
- [x] [ PG好处都有啥?] ( misc/pg-yoxi.md )
15
15
- [x] [ PostgreSQL开发规约] ( misc/pg-convention.md )
16
16
- [x] [ 并发异常那些事] ( src/concurrent-control.md )
17
- - [x] [ 容器中的数据库是一个好主意吗?] ( misc/postgres-in-docker.md ) / [ Docker vs Bare Metal] ( misc/docker-vs-bare-metal.md )
17
+ - [x] [ 容器中的数据库是一个好主意吗?] ( misc/postgres-in-docker.md )
18
+ - [x] [ Thou shalt not run a prod database inside a container] ( misc/docker-vs-bare-metal.md ) (..but now I change my mind!)
18
19
- [x] [ 理解时间] ( sql/reason-about-time.md )
19
20
- [x] [ 区块链与分布式数据库] ( misc/blockchain-and-database.md )
20
21
- [x] [ 一致性:一个过载的术语] ( misc/consistency-linearizability.md )
21
22
- [x] [ 架构演化:成熟度模型] ( misc/maturity-model.md )
22
23
23
24
24
25
25
- ## 环境
26
+ ## Monitor / 监控
26
27
27
- PostgreSQL虚拟机测试集群搭建:[ test] ( test/README.md )
28
+ > 数据库没有监控系统,就像蒙着眼睛狂奔。
29
+ >
30
+ > Run database without a monitoring system is like running while blindfloded
31
+
32
+ ** Monitor system / 监控系统**
33
+
34
+ 这里将介绍基于Prometheus,Grafana开发的Postgres监控系统 —— Pigsty (Postgres In Grafana Style)
35
+
36
+ - [ ] 数据库集群管理概念与实体命名规范
37
+ - [ ] [ Pigsty监控系统架构] ( mon/pigsty-overview.md )
38
+ - [ ] [ Pigsty监控系统使用说明] ( mon/pigsty-introduction.md )
39
+ - [ ] 服务发现
40
+ - [ ] Consul使用指南
41
+
42
+ ** Metrics / 监控指标**
43
+
44
+ - [ ] [ Node监控指标概览]
45
+ - [ ] [ Postgres监控指标]
46
+ - [ ] [ Pgbouncer中间件监控指标]
47
+ - [ ] [ 监控指标的聚合方式]
48
+ - [ ] [ Prometheus指标预处理规则]
49
+ - [ ] [ Prometheus机器报警规则]
50
+ - [ ] [ Prometheus数据库报警规则]
51
+ - [ ] [ 黄金监控指标:PG Load]
52
+ - [ ] 9.4到13的监控指标变化梳理
53
+
54
+
55
+
56
+
57
+
58
+ ** Catalog Monitoring / 监控系统目录**
59
+
60
+ - [x] [ 监控PG中表的大小] ( mon/size.md )
61
+ - [x] [ 监控WAL生成速率] ( mon/wal-rate.md )
62
+ - [x] [ 关系膨胀:监控与处理] ( mon/bloat.md )
63
+ - [x] [ PG中表占用磁盘空间] ( mon/size.md )
64
+ - [x] [ 使用pg_repack整理表与索引] ( tools/pg_repack.md )
65
+ - [ ] [ 监控表:空间,膨胀,年龄,IO] ( mon/table-bloat.md )
66
+ - [ ] [ 监控索引:空间,膨胀,重复,闲置] ( mon/index-bloat.md )
67
+ - [ ] 静态监控,配置项与角色
68
+ - [ ] 轻重缓急,快慢分离
69
+ - [ ] 操作系统监控
70
+ - [ ] 监控CPU使用
71
+ - [ ] 监控磁盘网络IO
72
+ - [ ] 监控数据库基本指标
73
+ - [ ] 监控死锁
74
+ - [ ] 监控连接
75
+ - [ ] 监控活动
76
+ - [ ] 监控复制延迟
77
+ - [ ] 系统级别监控
78
+ - [ ] 监控函数:调用量,时间
79
+ - [ ] 监控连接池:QPS,延迟,排队,连接
80
+ - [ ] 监控自动清理与检查点
81
+ - [ ] 系统视图详解
82
+ - [ ] 系统水位测量、经验值
28
83
29
- 常用PostgreSQL运维脚本:[ test/bin] ( test/bin/ )
30
84
31
85
86
+ ## Administration / 管理
32
87
33
- ## 管理
88
+ > 当一个人能完成所有工作时,他是不需要管理的。
34
89
35
90
** 管理方案**
36
91
@@ -76,37 +131,12 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
76
131
77
132
78
133
** 扩展性**
134
+
79
135
- [ ] 垂直拆分,分库分表
80
136
- [ ] 水平拆分与分片
81
137
- [ ] 如何管理几百个PostgreSQL实例
82
138
83
-
84
- ** 监控**
85
-
86
- - [x] [ 监控PG中表的大小] ( mon/size.md )
87
- - [x] [ 监控WAL生成速率] ( mon/wal-rate.md )
88
- - [x] [ 关系膨胀:监控与处理] ( mon/bloat.md )
89
- - [x] [ PG中表占用磁盘空间] ( mon/size.md )
90
- - [x] [ 使用pg_repack整理表与索引] ( tools/pg_repack.md )
91
- - [ ] [ 监控表:空间,膨胀,年龄,IO] ( mon/table-bloat.md )
92
- - [ ] [ 监控索引:空间,膨胀,重复,闲置] ( mon/index-bloat.md )
93
- - [ ] 静态监控,配置项与角色
94
- - [ ] 轻重缓急,快慢分离
95
- - [ ] 操作系统监控
96
- - [ ] 监控CPU使用
97
- - [ ] 监控磁盘网络IO
98
- - [ ] 监控数据库基本指标
99
- - [ ] 监控死锁
100
- - [ ] 监控连接
101
- - [ ] 监控活动
102
- - [ ] 监控复制延迟
103
- - [ ] 系统级别监控
104
- - [ ] 监控函数:调用量,时间
105
- - [ ] 监控连接池:QPS,延迟,排队,连接
106
- - [ ] 监控自动清理与检查点
107
- - [ ] 系统视图详解
108
- - [ ] 系统水位测量、经验值
109
- - [ ] [ 判断表已经没有访问的方法] ( mon/table-have-access.md )
139
+ - [ ] mon/table-have-access.md)
110
140
111
141
[ ** 故障** ] ( pit/ )
112
142
@@ -130,7 +160,7 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
130
160
131
161
132
162
133
- ## 开发
163
+ ## Development / 开发
134
164
135
165
** 案例**
136
166
@@ -162,7 +192,6 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
162
192
- [ ] Sequence的方方面面
163
193
- [ ] 常见索引类型及其应用场景
164
194
- [ ] PostgreSQL中的JOIN
165
- - [ ]
166
195
- [ ] 子查询还是CTE?
167
196
- [ ] LATERAL JOIN
168
197
- [ ] DISTINCT ON子句与除重
@@ -186,7 +215,9 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
186
215
187
216
188
217
189
- ## 原理
218
+ ## Kernel / 内核原理
219
+
220
+ >
190
221
191
222
- [x] [ PostgresSQL变更数据捕获] ( src/logical-decoding.md )
192
223
- [x] [ PostgreSQL前后端协议概述] ( src/wire-protocol.md )
@@ -208,7 +239,7 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
208
239
209
240
210
241
211
- ## 工具
242
+ ## Tools / 工具
212
243
213
244
** 命令行**
214
245
@@ -234,9 +265,10 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
234
265
235
266
** 网络**
236
267
237
- * [ 使用Wireshark抓包分析PostgreSQL协议] ( tools/wireshark-capture.md )
268
+ - [ ] [ 使用Wireshark抓包分析PostgreSQL协议] ( tools/wireshark-capture.md )
238
269
239
270
** 性能测试**
271
+
240
272
- [ ] pgbench
241
273
- [ ] [ sysbench] ( tools/sysbench.md )
242
274
@@ -263,8 +295,6 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
263
295
264
296
- [ ] [ PipelineDB安装] ( tools/pipeline-intro.md )
265
297
266
- - [ ] Citus安装
267
-
268
298
- [ ] [ PgAdmin Server 安装] ( tools/pgadmin-install.md )
269
299
270
300
- [ ] [ PgBackRest 中文文档] ( tools/pgbackrest.md )
@@ -273,20 +303,18 @@ PostgreSQL虚拟机测试集群搭建:[test](test/README.md)
273
303
274
304
275
305
276
- ## 参考文档
306
+ ## Reference
277
307
278
308
- [ PostgreSQL Documentation] ( https://www.postgresql.org/docs/current/index.html )
279
- - [ Current] ( https://www.postgresql.org/docs/current/index.html ) ( [ 11 ] ( https://www.postgresql.org/docs/11 /index.html ) ) / [ 10 ] ( https://www.postgresql.org/docs/10 /index.html ) / [ 9.6 ] ( https://www.postgresql.org/docs/9.6/ index.html ) / [ 9.5 ] ( https://www.postgresql.org/docs/9.5 /index.html ) / [ 9.4 ] ( https://www.postgresql.org/docs/9.4 /index.html ) / [ 12beta ] ( https://www.postgresql.org/docs/devel /index.html )
309
+ - [ Current] ( https://www.postgresql.org/docs/current/index.html ) [ 13 ] ( https://www.postgresql.org/docs/13 /index.html ) / [ 12 ] ( https://www.postgresql.org/docs/12 /index.html ) / [ 11 ] ( https://www.postgresql.org/docs/11/index.html ) / [ 10 ] ( https://www.postgresql.org/docs/10/ index.html) / [ 9.6 ] ( https://www.postgresql.org/docs/9.6 /index.html ) / [ 9.5 ] ( https://www.postgresql.org/docs/9.5 /index.html ) / [ 9.4 ] ( https://www.postgresql.org/docs/9.4 /index.html )
280
310
281
- * [ PostgreSQL 中文文档] ( http://www.postgres.cn/docs/11/ )
282
- * [ 11] ( http://www.postgres.cn/docs/11/ ) / [ 10] ( http://www.postgres.cn/docs/10/ ) / [ 9.6] ( http://www.postgres.cn/docs/9.6/ ) / (Docs4Dev- PostgresQL 11] ( https://www.docs4dev.com/docs/zh/postgre-sql/11.2/reference/bookindex.html )
311
+ * [ PostgreSQL 中文文档] ( http://www.postgres.cn/docs/12/ )
283
312
* [ PostgreSQL Commit Fest] ( https://commitfest.postgresql.org )
313
+ * [ PostGIS 3.0 Documentation] ( https://postgis.net/docs/manual-3.0/ )
284
314
285
- - [ PostGIS 2.5 Documentation] ( https://postgis.net/docs/manual-2.5/ )
286
- - [ Citus Documentation] ( https://docs.citusdata.com/en/v8.0/ )
287
- - [ TimescaleDB Documentation] ( https://docs.timescale.com/v1.0/main )
315
+ - [ Citus Documentation] ( http://docs.citusdata.com/en/v9.3/ )
316
+ - [ TimescaleDB Documentation] ( https://docs.timescale.com/latest/main )
288
317
- [ PipelineDB Documentation] ( http://docs.pipelinedb.com )
289
318
- [ Pgbouncer Documentation] ( https://pgbouncer.github.io/config.html )
290
- - [ PgPool-II Documentation] ( http://www.pgpool.net/docs/latest/en/html/ )
291
319
- [ PG-INTERNAL] ( http://www.interdb.jp/pg/ )
292
320
0 commit comments