专栏导览
按领域划分的六个长青专栏,均提供独立的 RSS 订阅源。

高级模糊查询的实现
如何在PostgreSQL中实现比较复杂的模糊查询逻辑?

PG中的本地化排序规则
什么?不知道COLLATTION是什么,那记住一件事,用C COLLATE准没错!

PostgreSQL 逻辑复制详解
本文介绍PostgreSQL中逻辑复制的相关原理,以及最佳实践。

PG复制标识详解(Replica Identity)
复制标识很重要,它关系到逻辑复制的成败。

Pigsty v0.7:仅监控部署
Pigsty v0.7 新增了仅监控部署模式,改进了数据库与用户的供给接口。

PG慢查询诊断方法论
慢查询是在线业务数据库的大敌,本文介绍了使用监控系统定位诊断慢查询的一般方法论。

故障档案:时间回溯导致的Patroni故障
机器因为故障重启,NTP服务在PG启动后修复了PG的时间,导致Patroni无法启动。

Pigsty v0.6:架构增强
Pigsty v0.6 对数据库供给方案进行了大量改进

尘世闲游:广州见闻
借着参加2020PostgreSQL中国大会的机会,顺便在广州逛了一天。还是很有趣的地方。

在线修改主键列类型
如何在线修改表中列的类型,例如从INT升级为BIGINT?

Pigsty正式发布
一个比较正式的上线发布通知:Pigsty —— 世界上最先进的开源关系型数据库PostgreSQL的监控系统与供给方案。

Pigsty官方网站上线啦!
今天,俺荣幸地宣布Pigsty官方文档站上线啦!:http://pigsty.cc

跨年祈福:雨崩转山
多灾多难的2020年,需要好好祈福。3天走完梅里内转,神瀑神湖冰湖。

与外公的告别
外公去世了,实在是出离了悲痛,还是应当写点什么纪念一下。

Pigsty v0.5:数据库定制模板
Pigsty v0.5.0 对数据库内部的定制模板进行了大幅改进,允许您用声明式的方法管理用户,角色,数据库,权限,扩展以及模式。

Pigsty v0.4:PG13 与文档站
Pigsty 第二个公开测试版 v0.4 现已正式发行,支持 PG13,并对监控系统进行了整体升级改造。

黄金监控指标:错误延迟吞吐饱和
了解PostgreSQL中的黄金监控指标:错误、延迟、吞吐和饱和度。

Pigsty v0.3:首个公开测试版
Pigsty v0.3.0 第一个公开的试用版本现已释出!包含 8 个监控面板以及离线软件安装包。

Paradise Found:乌孙古道
今年十一走了乌孙古道,翻过了天山,越过那伊犁。虽一周有余,仍回味不已,撰文以记之。

西行漫记3 河西走廊
大戈壁的血色落日,沙漠绿洲的清冽夜空,弱水河畔的金胡杨,祁连山阴的绿草场。这些是故乡给我留下的最美好的印象

西行漫记番外1 大洪水
番外篇:关于大洪水的所见所闻所思所感

西行漫记2 关陇随笔
从西安出发,沿丝绸之路西行,第一站就是宝鸡

西行漫记1 长安古意
今天恰好是踏上旅程的一周年,选这一天发第一篇游记,很有仪式感。

数据库集群管理概念与实体命名规范
概念及其命名是非常重要的东西,命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑,随意设定的名称将产生意想不到的额外负担。

高级模糊查询的实现
如何在PostgreSQL中实现比较复杂的模糊查询逻辑?

PG中的本地化排序规则
什么?不知道COLLATTION是什么,那记住一件事,用C COLLATE准没错!

PostgreSQL 逻辑复制详解
本文介绍PostgreSQL中逻辑复制的相关原理,以及最佳实践。

PG复制标识详解(Replica Identity)
复制标识很重要,它关系到逻辑复制的成败。

Pigsty v0.7:仅监控部署
Pigsty v0.7 新增了仅监控部署模式,改进了数据库与用户的供给接口。

PG慢查询诊断方法论
慢查询是在线业务数据库的大敌,本文介绍了使用监控系统定位诊断慢查询的一般方法论。

故障档案:时间回溯导致的Patroni故障
机器因为故障重启,NTP服务在PG启动后修复了PG的时间,导致Patroni无法启动。

Pigsty v0.6:架构增强
Pigsty v0.6 对数据库供给方案进行了大量改进

尘世闲游:广州见闻
借着参加2020PostgreSQL中国大会的机会,顺便在广州逛了一天。还是很有趣的地方。

在线修改主键列类型
如何在线修改表中列的类型,例如从INT升级为BIGINT?

Pigsty正式发布
一个比较正式的上线发布通知:Pigsty —— 世界上最先进的开源关系型数据库PostgreSQL的监控系统与供给方案。

Pigsty官方网站上线啦!
今天,俺荣幸地宣布Pigsty官方文档站上线啦!:http://pigsty.cc

跨年祈福:雨崩转山
多灾多难的2020年,需要好好祈福。3天走完梅里内转,神瀑神湖冰湖。

与外公的告别
外公去世了,实在是出离了悲痛,还是应当写点什么纪念一下。

Pigsty v0.5:数据库定制模板
Pigsty v0.5.0 对数据库内部的定制模板进行了大幅改进,允许您用声明式的方法管理用户,角色,数据库,权限,扩展以及模式。

Pigsty v0.4:PG13 与文档站
Pigsty 第二个公开测试版 v0.4 现已正式发行,支持 PG13,并对监控系统进行了整体升级改造。

黄金监控指标:错误延迟吞吐饱和
了解PostgreSQL中的黄金监控指标:错误、延迟、吞吐和饱和度。

Pigsty v0.3:首个公开测试版
Pigsty v0.3.0 第一个公开的试用版本现已释出!包含 8 个监控面板以及离线软件安装包。

Paradise Found:乌孙古道
今年十一走了乌孙古道,翻过了天山,越过那伊犁。虽一周有余,仍回味不已,撰文以记之。

西行漫记3 河西走廊
大戈壁的血色落日,沙漠绿洲的清冽夜空,弱水河畔的金胡杨,祁连山阴的绿草场。这些是故乡给我留下的最美好的印象

西行漫记番外1 大洪水
番外篇:关于大洪水的所见所闻所思所感

西行漫记2 关陇随笔
从西安出发,沿丝绸之路西行,第一站就是宝鸡

西行漫记1 长安古意
今天恰好是踏上旅程的一周年,选这一天发第一篇游记,很有仪式感。

数据库集群管理概念与实体命名规范
概念及其命名是非常重要的东西,命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑,随意设定的名称将产生意想不到的额外负担。
高级模糊查询的实现

日常开发中,经常见到有模糊查询的需求。今天就简单聊一聊如何用PostgreSQL实现一些高级一点的模糊查询。 当然这里说的模糊查询,不是 LIKE 表达式前模糊后模糊两侧模糊,这种老掉牙的东西。让我们直接用一个具体的例子开始吧。 问题 现在,假设我们做了个应用商店,想给用户提供 搜索功能。用户随便输入点什么,找出所有与输入内容匹配的应用,排个序返回给用户。 严格来说,这种需求其实是需要一个搜索引擎,最好还是用专用软件,例如ElasticSearch来搞。但实际上只要不是特别复杂的逻辑,也可以很好 …
日常开发中,经常见到有模糊查询的需求。今天就简单聊一聊如何用PostgreSQL实现一些高级一点的模糊查询。 当然这里说的模糊查询,不是 LIKE 表达式前模糊后模糊两侧模糊,这种老掉牙的东西。让我们直接用一个具体的例子开始吧。 问题 现在,假设我们做了个应用商店,想给用户提供 搜索功能。用户随便输入点什么,找出所有与输入内容匹配的应用,排个序返回给用户。 严格来说,这种需求其实是需要一个搜索引擎,最好还是用专用软件,例如ElasticSearch来搞。但实际上只要不是特别复杂的逻辑,也可以很好 …
PG中的本地化排序规则

为什么Pigsty在初始化Postgres数据库时默认指定了 locale=C 与 encoding=UTF8 答案其实很简单,除非真的明确知道自己会用到LOCALE相关功能,否则就根本不应该配置 C.UTF8 之外的任何字符编码与本地化排序规则选项。 关于字符编码的部分,之前写过一篇文章专门介绍,这里表过不提。今天专门说一下 LOCALE(本地化)的配置问题。 如果说服务端字符编码配置因为某些原因配置为 UTF8 之外的值也许还情有可原,那么 LOCALE 配置为 C 之外的任何选就是 无可救 …
为什么Pigsty在初始化Postgres数据库时默认指定了 locale=C 与 encoding=UTF8 答案其实很简单,除非真的明确知道自己会用到LOCALE相关功能,否则就根本不应该配置 C.UTF8 之外的任何字符编码与本地化排序规则选项。 关于字符编码的部分,之前写过一篇文章专门介绍,这里表过不提。今天专门说一下 LOCALE(本地化)的配置问题。 如果说服务端字符编码配置因为某些原因配置为 UTF8 之外的值也许还情有可原,那么 LOCALE 配置为 C 之外的任何选就是 无可救 …
PostgreSQL 逻辑复制详解

逻辑复制 逻辑复制(Logical Replication),是一种根据数据对象的 复制标识(Replica Identity)(通常是主键)复制数据对象及其变化的方法。 逻辑复制 这个术语与 物理复制 相对应,物理复制使用精确的块地址与逐字节复制,而逻辑复制则允许对复制过程进行精细的控制。 逻辑复制基于 发布(Publication) 与 订阅(Subscription)模型: 一个 发布者(Publisher) 上可以有多个 发布,一个 订阅者(Subscriber) 上可以有多个 订阅 。 …
逻辑复制 逻辑复制(Logical Replication),是一种根据数据对象的 复制标识(Replica Identity)(通常是主键)复制数据对象及其变化的方法。 逻辑复制 这个术语与 物理复制 相对应,物理复制使用精确的块地址与逐字节复制,而逻辑复制则允许对复制过程进行精细的控制。 逻辑复制基于 发布(Publication) 与 订阅(Subscription)模型: 一个 发布者(Publisher) 上可以有多个 发布,一个 订阅者(Subscriber) 上可以有多个 订阅 。 …
PG复制标识详解(Replica Identity)

引子:土法逻辑复制 复制身份的概念,服务于 逻辑复制。 逻辑复制的基本工作原理是,将逻辑发布相关表上 对行的增删改 事件解码,复制到逻辑订阅者上执行。 逻辑复制的工作方式有点类似于行级触发器,在事务执行后对变更的元组逐行触发。 假设您需要自己通过触发器实现逻辑复制,将一章表A上的变更复制到另一张表B中。通常情况下,这个触发器的函数逻辑通常会长这样: -- 通知触发器 CREATE OR REPLACE FUNCTION replicate_change() RETURNS TRIGGER AS …
引子:土法逻辑复制 复制身份的概念,服务于 逻辑复制。 逻辑复制的基本工作原理是,将逻辑发布相关表上 对行的增删改 事件解码,复制到逻辑订阅者上执行。 逻辑复制的工作方式有点类似于行级触发器,在事务执行后对变更的元组逐行触发。 假设您需要自己通过触发器实现逻辑复制,将一章表A上的变更复制到另一张表B中。通常情况下,这个触发器的函数逻辑通常会长这样: -- 通知触发器 CREATE OR REPLACE FUNCTION replicate_change() RETURNS TRIGGER AS …
Pigsty v0.7:仅监控部署

GitHub Release | 发布注记 v0.7.0 v0.7 针对 接入已有数据库实例 进行了改进,现在用户可以采用 仅监控部署(Monly Deployment) 模式使用Pigsty。同时新增了专用于管理数据库与用户、以及单独部署监控的剧本,并对数据库与用户的定义进行改进。 改动内容 Features Monitor Only Deployment Support #25 Split monolith static monitor target file into …
GitHub Release | 发布注记 v0.7.0 v0.7 针对 接入已有数据库实例 进行了改进,现在用户可以采用 仅监控部署(Monly Deployment) 模式使用Pigsty。同时新增了专用于管理数据库与用户、以及单独部署监控的剧本,并对数据库与用户的定义进行改进。 改动内容 Features Monitor Only Deployment Support #25 Split monolith static monitor target file into …
PG慢查询诊断方法论

You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
故障档案:时间回溯导致的Patroni故障

摘要:机器因为故障重启,NTP服务在PG启动后修复了PG的时间,导致 Patroni 无法启动。 Patroni中的故障信息如下所示: Process %s is not postmaster, too much difference between PID file start time %s and process start time %s patroni 进程启动时间和pid时间不一致。就会认为:postgres is not running。 两个时间相差超过30秒。patroni 就 …
摘要:机器因为故障重启,NTP服务在PG启动后修复了PG的时间,导致 Patroni 无法启动。 Patroni中的故障信息如下所示: Process %s is not postmaster, too much difference between PID file start time %s and process start time %s patroni 进程启动时间和pid时间不一致。就会认为:postgres is not running。 两个时间相差超过30秒。patroni 就 …
Pigsty v0.6:架构增强

GitHub Release | 发布注记 v0.6.0 v0.6 对数据库供给方案进行了修改与调整,根据用户的反馈添加了一系列实用功能与修正。针对监控系统的移植性进行优化,便于与其他外部数据库供给方案对接,例如阿里云MyBase。 BUG修复 修复了新版本Patroni重启后会重置PG HBA的问题 修复了PG Overview Dashboard标题中的别字 修复了沙箱集群 pg-test 的默认主库,原来为 pg-test-2,应当为 pg-test-1 修复了过时代码注释 功能改进 改 …
GitHub Release | 发布注记 v0.6.0 v0.6 对数据库供给方案进行了修改与调整,根据用户的反馈添加了一系列实用功能与修正。针对监控系统的移植性进行优化,便于与其他外部数据库供给方案对接,例如阿里云MyBase。 BUG修复 修复了新版本Patroni重启后会重置PG HBA的问题 修复了PG Overview Dashboard标题中的别字 修复了沙箱集群 pg-test 的默认主库,原来为 pg-test-2,应当为 pg-test-1 修复了过时代码注释 功能改进 改 …
尘世闲游:广州见闻

借着参加2020PostgreSQL中国大会的机会,顺便在广州逛了一天。还是很有趣的地方。 四个一线城市中,唯有广州没有去过。这次趁着开PG大会的机会,定了晚一天回去的机票,准备弥补一下这个遗憾。弄的文艺一点虽然不错,但太费时间了,所以我还是记个流水账吧。 前戏:PG大会 1月14号到的广州,住在PG大会会场酒店万富希尔顿。疫情期间,一路上的盘查都很严格,跟北京的放羊式管理形成鲜明的对照。入住的时候,要求我先扫健康码,然后是通信大数据行程卡,还要在一份纸质登记表上写下自己的信息。接下来要扫一个“ …
借着参加2020PostgreSQL中国大会的机会,顺便在广州逛了一天。还是很有趣的地方。 四个一线城市中,唯有广州没有去过。这次趁着开PG大会的机会,定了晚一天回去的机票,准备弥补一下这个遗憾。弄的文艺一点虽然不错,但太费时间了,所以我还是记个流水账吧。 前戏:PG大会 1月14号到的广州,住在PG大会会场酒店万富希尔顿。疫情期间,一路上的盘查都很严格,跟北京的放羊式管理形成鲜明的对照。入住的时候,要求我先扫健康码,然后是通信大数据行程卡,还要在一份纸质登记表上写下自己的信息。接下来要扫一个“ …
在线修改主键列类型

如何在线修改主键列类型,比如将 INT 至 BIGINT,同时又不影响业务? 假设在PG中有一个表,在设计的时候拍脑袋使用了 INT 整型主键,现在业务蓬勃发展发现序列号不够用了,想升级到BIGINT类型。这时候该怎么做呢? 拍脑袋的方法当然是直接使用DDL修改类型: ALTER TABLE pgbench_accounts ALTER COLUMN aid SET DATA TYPE BIGINT; 但这种方式对于访问频繁的生产大表是不可行的 太长;不看 让我们以 pgbench 自带的场景为 …
如何在线修改主键列类型,比如将 INT 至 BIGINT,同时又不影响业务? 假设在PG中有一个表,在设计的时候拍脑袋使用了 INT 整型主键,现在业务蓬勃发展发现序列号不够用了,想升级到BIGINT类型。这时候该怎么做呢? 拍脑袋的方法当然是直接使用DDL修改类型: ALTER TABLE pgbench_accounts ALTER COLUMN aid SET DATA TYPE BIGINT; 但这种方式对于访问频繁的生产大表是不可行的 太长;不看 让我们以 pgbench 自带的场景为 …
Pigsty正式发布

今天我很荣幸的宣布,Pigsty 正式发布了! 官方网站:https://pigsty.cc Pigsty 是什么? Pigsty 是针对大规模 PostgreSQL 集群的监控系统 Pigsty 是高可用 PostgreSQL 集群的供给方案 Pigsty 基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的 PostgreSQL 监控系统与开箱即用的高可用数据库供给方案。Pigsty 基于开源生态构建,旨在降低 PostgreSQL 使用管理 …
今天我很荣幸的宣布,Pigsty 正式发布了! 官方网站:https://pigsty.cc Pigsty 是什么? Pigsty 是针对大规模 PostgreSQL 集群的监控系统 Pigsty 是高可用 PostgreSQL 集群的供给方案 Pigsty 基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的 PostgreSQL 监控系统与开箱即用的高可用数据库供给方案。Pigsty 基于开源生态构建,旨在降低 PostgreSQL 使用管理 …
Pigsty官方网站上线啦!

好久没有冒泡了!今天,俺很荣幸的宣布,Pigsty 官方文档站上线啦! 地址为:http://pigsty.cc\ 什么?你问 Pigsty 是什么东东?\ Pigsty 是我亲自开发的 PostgreSQL 监控系统暨高可用数据库供给方案。 开源免费!详见下图,或者您点进那个站点看看也行啊。\ 虽然 “世界上最好的 PostgreSQL 监控系统”这个口号好像有违反广告法的嫌疑,不过自己站在甲方爸爸的立场上,我也确实找不到比它更好的了。用真理说服人嘛,所以也就厚着脸皮这样写上了,反正我也没收钱 …
好久没有冒泡了!今天,俺很荣幸的宣布,Pigsty 官方文档站上线啦! 地址为:http://pigsty.cc\ 什么?你问 Pigsty 是什么东东?\ Pigsty 是我亲自开发的 PostgreSQL 监控系统暨高可用数据库供给方案。 开源免费!详见下图,或者您点进那个站点看看也行啊。\ 虽然 “世界上最好的 PostgreSQL 监控系统”这个口号好像有违反广告法的嫌疑,不过自己站在甲方爸爸的立场上,我也确实找不到比它更好的了。用真理说服人嘛,所以也就厚着脸皮这样写上了,反正我也没收钱 …
跨年祈福:雨崩转山

多灾多难的2020年,需要好好祈福。3天走完梅里内转,神瀑神湖冰湖。 前言:常言道:“不去天堂,就去雨崩”。去雨崩,通常都是奔着梅里雪山转山去的。我和好兄弟海哥准备趁着圣诞-元旦假期,去雨崩转山祈福,当然也是为了拉练一下体能。还是一段非常值得怀念的旅程。 行程 梅里雨崩转山网上有很多攻略,但关于行程部分写的都跟狗屎一样。不过我也完全理解,这种东西我自己也确实是懒得写的。但既然答应了别人写一篇游记作为旅行参考,还是好好写一下罢。 个人觉得,这种很成熟的旅行其实用不着太多事前规划,我基本都是提前一两 …
多灾多难的2020年,需要好好祈福。3天走完梅里内转,神瀑神湖冰湖。 前言:常言道:“不去天堂,就去雨崩”。去雨崩,通常都是奔着梅里雪山转山去的。我和好兄弟海哥准备趁着圣诞-元旦假期,去雨崩转山祈福,当然也是为了拉练一下体能。还是一段非常值得怀念的旅程。 行程 梅里雨崩转山网上有很多攻略,但关于行程部分写的都跟狗屎一样。不过我也完全理解,这种东西我自己也确实是懒得写的。但既然答应了别人写一篇游记作为旅行参考,还是好好写一下罢。 个人觉得,这种很成熟的旅行其实用不着太多事前规划,我基本都是提前一两 …
与外公的告别

尽管2020年是一个多灾之年,但在外公去世前,我一直还以为是能得过且过的。 至亲去世,于我已是第二次。先是父亲,然后是外公。人在生死面前显得如此无力,我能做的也就是记录下这一片刻。这样逝者也许能以另一种形式活在生者的记忆中,聊以告慰。 我的故乡位于荒无人烟的西北大漠戈壁,坐落于弱水河畔的20基地——酒泉卫星发射中心。本地人更喜欢叫它东风,这是一座只有万把人口的小镇,由军人与军属组成。住在一栋楼里的,是几十年的老同事老战友,在街上骑车上班的人,都挂着一两道杠杠。良风美俗,路不拾遗,夜不闭户;来自五 …
尽管2020年是一个多灾之年,但在外公去世前,我一直还以为是能得过且过的。 至亲去世,于我已是第二次。先是父亲,然后是外公。人在生死面前显得如此无力,我能做的也就是记录下这一片刻。这样逝者也许能以另一种形式活在生者的记忆中,聊以告慰。 我的故乡位于荒无人烟的西北大漠戈壁,坐落于弱水河畔的20基地——酒泉卫星发射中心。本地人更喜欢叫它东风,这是一座只有万把人口的小镇,由军人与军属组成。住在一栋楼里的,是几十年的老同事老战友,在街上骑车上班的人,都挂着一两道杠杠。良风美俗,路不拾遗,夜不闭户;来自五 …
Pigsty v0.5:数据库定制模板

GitHub Release | 发布注记 v0.5.0 大纲 Pigsty官方文档站正式上线! 添加了数据库模板的定制支持,用户可以通过配置文件定制所需的数据库内部对象。 对默认访问控制模型进行了改进 重构了HBA管理的逻辑,现在将由Pigsty替代Patroni直接负责生成HBA 将Grafana监控系统的供给方案从sqlite改为JSON文件静态Provision 将 pg-cluster-replication 面板加入Pigsty开源免费套餐。 最新的经过测试的离线安装包 …
GitHub Release | 发布注记 v0.5.0 大纲 Pigsty官方文档站正式上线! 添加了数据库模板的定制支持,用户可以通过配置文件定制所需的数据库内部对象。 对默认访问控制模型进行了改进 重构了HBA管理的逻辑,现在将由Pigsty替代Patroni直接负责生成HBA 将Grafana监控系统的供给方案从sqlite改为JSON文件静态Provision 将 pg-cluster-replication 面板加入Pigsty开源免费套餐。 最新的经过测试的离线安装包 …
Pigsty v0.4:PG13 与文档站

GitHub Release | 发布注记 v0.4.0 第二个公开测试版v0.4现已正式发行 Pigsty v0.4 对监控系统进行了整体升级改造,精心挑选了10个面板作为标准的Pigsty开源内容。同时,针对Grafana 7.3的不兼容升级进行了大量适配改造工作。使用升级的 pg_exporter v0.3.1 作为默认指标导出器,调整了监控报警规则的监控面板连接。 Pigsty开源版 Pigsty开源版选定了以下10个Dashboard作为开源内容。其他Dashboard作为可选的商业 …
GitHub Release | 发布注记 v0.4.0 第二个公开测试版v0.4现已正式发行 Pigsty v0.4 对监控系统进行了整体升级改造,精心挑选了10个面板作为标准的Pigsty开源内容。同时,针对Grafana 7.3的不兼容升级进行了大量适配改造工作。使用升级的 pg_exporter v0.3.1 作为默认指标导出器,调整了监控报警规则的监控面板连接。 Pigsty开源版 Pigsty开源版选定了以下10个Dashboard作为开源内容。其他Dashboard作为可选的商业 …
黄金监控指标:错误延迟吞吐饱和

前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才会 …
前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才会 …
Pigsty v0.3:首个公开测试版

GitHub Release | 发布注记 v0.3.0 首个Pigsty公开测试版本现在已经释出! 监控系统 Pigsty v0.3 包含以下8个监控面板作为开源内容: PG Overview PG Cluster PG Service PG Instance PG Database PG Table Overview PG Table Catalog Node 离线安装包 v0.3 离线安装包(CentOS 7.8)已经可以从Github下载:pkg.tgz
GitHub Release | 发布注记 v0.3.0 首个Pigsty公开测试版本现在已经释出! 监控系统 Pigsty v0.3 包含以下8个监控面板作为开源内容: PG Overview PG Cluster PG Service PG Instance PG Database PG Table Overview PG Table Catalog Node 离线安装包 v0.3 离线安装包(CentOS 7.8)已经可以从Github下载:pkg.tgz
Paradise Found:乌孙古道

今年十一走了乌孙古道,翻过了天山,越过那伊犁。虽一周有余,仍回味不已,撰文以记之。 TL;DR 太长不看 视频请参考微信公众号原文,就别折腾我这小水管了。 概览 乌孙,夏特,狼塔,是新疆天山里最知名的三条徒步线路。乌孙古道横跨天山,沟通南北疆,据说是是三条徒步线路中最美的一条。 去年自驾游时,我曾花了一个多月在新疆玩,印象最深刻的莫过于独库公路的美景。同为翻越天山的路,乌孙古道可以说是古时候的独库公路,离现在的独库公路也相去不远,所以它的景色肯定不会令我失望,唯一需要担心的就是能不能走下来了。 …
今年十一走了乌孙古道,翻过了天山,越过那伊犁。虽一周有余,仍回味不已,撰文以记之。 TL;DR 太长不看 视频请参考微信公众号原文,就别折腾我这小水管了。 概览 乌孙,夏特,狼塔,是新疆天山里最知名的三条徒步线路。乌孙古道横跨天山,沟通南北疆,据说是是三条徒步线路中最美的一条。 去年自驾游时,我曾花了一个多月在新疆玩,印象最深刻的莫过于独库公路的美景。同为翻越天山的路,乌孙古道可以说是古时候的独库公路,离现在的独库公路也相去不远,所以它的景色肯定不会令我失望,唯一需要担心的就是能不能走下来了。 …
西行漫记3 河西走廊

旅途的下一站,就是河西走廊,也是我的故乡,我人生最初的十二年就在这里度过。 大戈壁的血色落日,沙漠绿洲的清冽夜空,弱水河畔的金胡杨,祁连山阴的绿草场。这些是故乡给我留下的最美好的印象。 《秋牧》 《火凤凰》,有几张照片不是我拍的,但盗亲爹的图算盗图吗? 可惜在那十二年间,我的活动范围也仅局限于酒泉卫星发射中心周边 —— 酒泉市区,嘉峪关,额济纳旗,去敦煌和居延海玩就已经算出远门了。对河西走廊的其他地方也并不熟悉,因此这次必须得弥补遗憾,好好去看一下河西走廊的其他地方。 《激情燃烧》 —— 胡杨生 …
旅途的下一站,就是河西走廊,也是我的故乡,我人生最初的十二年就在这里度过。 大戈壁的血色落日,沙漠绿洲的清冽夜空,弱水河畔的金胡杨,祁连山阴的绿草场。这些是故乡给我留下的最美好的印象。 《秋牧》 《火凤凰》,有几张照片不是我拍的,但盗亲爹的图算盗图吗? 可惜在那十二年间,我的活动范围也仅局限于酒泉卫星发射中心周边 —— 酒泉市区,嘉峪关,额济纳旗,去敦煌和居延海玩就已经算出远门了。对河西走廊的其他地方也并不熟悉,因此这次必须得弥补遗憾,好好去看一下河西走廊的其他地方。 《激情燃烧》 —— 胡杨生 …
西行漫记番外1 大洪水

夏日消融,江河横溢,人或为鱼鳖 —— 《念奴娇·昆仑》 去年的这几天我在兰州小憩,兰州虽然是甘肃的省会,但不能算作河西走廊,所以这几天没什么压力,可以聊一些别的话题,比如大洪水。最近到处都是洪水的新闻,有些地方水位都达到了历史峰值。不过对我来说,其实在去年就已经被剧透过了。 这图不是我的,随便网上扣了一张鄱阳湖的新闻图。 在整个西北游历的过程中,一个非常深刻的感受就是,气候真的发生了巨大的变化。去年在路上看到各种反常现象,听到不少消息,知道今年会有大洪水,三月份水利部也发警告算是官宣确认了。 以 …
夏日消融,江河横溢,人或为鱼鳖 —— 《念奴娇·昆仑》 去年的这几天我在兰州小憩,兰州虽然是甘肃的省会,但不能算作河西走廊,所以这几天没什么压力,可以聊一些别的话题,比如大洪水。最近到处都是洪水的新闻,有些地方水位都达到了历史峰值。不过对我来说,其实在去年就已经被剧透过了。 这图不是我的,随便网上扣了一张鄱阳湖的新闻图。 在整个西北游历的过程中,一个非常深刻的感受就是,气候真的发生了巨大的变化。去年在路上看到各种反常现象,听到不少消息,知道今年会有大洪水,三月份水利部也发警告算是官宣确认了。 以 …
西行漫记2 关陇随笔

从西安出发,沿丝绸之路西行,第一站就是宝鸡。 宝鸡这个地名虽然很有特色,但它古时候的名字——陈仓,也许要比当代的地名知名度高得多,就是那个“暗度陈仓”的陈仓。 宝鸡的曾用名包括:岐山,雍州,扶风郡,岐州,凤翔府;如今下辖的几个区县:渭滨区、金台区、陈仓区,凤翔县、岐山县、扶风县、眉县、陇县、千阳县、麟游县、凤县、太白县。都透露出一种古典的华夏审美,唯独宝鸡这个名字独树一帜,略带滑稽感。 图为从西安的方向俯瞰宝鸡,左侧山脉为龙脉秦岭,南北方分界线。绿色山峰标识即最高峰太白山。 不过宝鸡这个名字倒也 …
从西安出发,沿丝绸之路西行,第一站就是宝鸡。 宝鸡这个地名虽然很有特色,但它古时候的名字——陈仓,也许要比当代的地名知名度高得多,就是那个“暗度陈仓”的陈仓。 宝鸡的曾用名包括:岐山,雍州,扶风郡,岐州,凤翔府;如今下辖的几个区县:渭滨区、金台区、陈仓区,凤翔县、岐山县、扶风县、眉县、陇县、千阳县、麟游县、凤县、太白县。都透露出一种古典的华夏审美,唯独宝鸡这个名字独树一帜,略带滑稽感。 图为从西安的方向俯瞰宝鸡,左侧山脉为龙脉秦岭,南北方分界线。绿色山峰标识即最高峰太白山。 不过宝鸡这个名字倒也 …
西行漫记1 长安古意

引子 本来计划了四十篇游记,但一直以来都在忙其他事情,没有时间补上。但今天恰好是踏上旅程的一周年,相当有纪念意义。选这一天发游记,很有仪式感。我可以假装现在正好是一年前,按照同样的日期把所见所闻所思所感发出来。这样为了保持和实际行程同步,我就有理由 Push 一下自己,不要再拖延了。不过游记嘛,也不是什么正经文章,就是吐吐槽扯扯淡随便写写,不用给自己太大压力。 说起这趟旅程,基本上属于半临时起意,机票和目的地都是出发前一天临时决定的。本来只是想花几周随便逛逛,但不知不觉就变成了三个月的游历。游历 …
引子 本来计划了四十篇游记,但一直以来都在忙其他事情,没有时间补上。但今天恰好是踏上旅程的一周年,相当有纪念意义。选这一天发游记,很有仪式感。我可以假装现在正好是一年前,按照同样的日期把所见所闻所思所感发出来。这样为了保持和实际行程同步,我就有理由 Push 一下自己,不要再拖延了。不过游记嘛,也不是什么正经文章,就是吐吐槽扯扯淡随便写写,不用给自己太大压力。 说起这趟旅程,基本上属于半临时起意,机票和目的地都是出发前一天临时决定的。本来只是想花几周随便逛逛,但不知不觉就变成了三个月的游历。游历 …
数据库集群管理概念与实体命名规范

名之则可言也,言之则可行也。 概念及其命名是非常重要的东西,命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑,随意设定的名称将产生意想不到的额外负担。因此需要审慎地设计。 TL;DR 集群(Cluster) 是基本自治单元,由用户指定唯一标识,表达业务含义,作为顶层命名空间。 集群在硬件层面上包含一系列的 节点(Node),即物理机,虚机(或Pod),可以通过IP唯一标识。 集群在软件层面上包含一系列的 实例(Instance),即软件服务器,可以通过IP:Port唯一标识。 …
名之则可言也,言之则可行也。 概念及其命名是非常重要的东西,命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑,随意设定的名称将产生意想不到的额外负担。因此需要审慎地设计。 TL;DR 集群(Cluster) 是基本自治单元,由用户指定唯一标识,表达业务含义,作为顶层命名空间。 集群在硬件层面上包含一系列的 节点(Node),即物理机,虚机(或Pod),可以通过IP唯一标识。 集群在软件层面上包含一系列的 实例(Instance),即软件服务器,可以通过IP:Port唯一标识。 …





