PostgreSQL 逻辑复制详解
本文介绍PostgreSQL 13中逻辑复制的相关原理,以及最佳实践。
本文介绍PostgreSQL 13中逻辑复制的相关原理,以及最佳实践。
什么?不知道COLLATTION是什么,那记住一件事,用C COLLATE准没错!
如何在PostgreSQL中实现比较复杂的模糊查询逻辑?
慢查询是在线业务数据库的大敌,本文介绍了使用监控系统定位诊断慢查询的一般方法论。
机器因为故障重启,NTP服务在PG启动后修复了PG的时间,导致Patroni无法启动。
如何在线修改表中列的类型,例如从INT升级为BIGINT?
了解PostgreSQL中的黄金监控指标
概念及其命名是非常重要的东西,命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑,随意设定的名称将产生意想不到的额外负担。因此需要审慎地设计。
管数据库和管人差不多,都需要定KPI(关键性能指标)。那么数据库的KPI是什么?本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比,与负载类型和机器类型基本无关的指标,名曰PG Load(PG负载)。
如何在线修改PostgreSQL中的字段类型?一种通用方法
了解PostgreSQL服务器与客户端通信使用的TCP协议,并使用Go语言打印消息
PostgreSQL实际上只有两种事务隔离等级:读已提交(Read Commited)与可序列化(Serializable)
今天遇到一个比较有趣的Case,客户报告说数据库连不上了,发现是扩展导致的。
数据变更捕获是一种很有趣的ETL替代方案。
详细介绍PostgreSQL中的各种锁
GIN索引如果使用很长的关键词列表进行搜索,会导致性能显著下降。本文解释了为什么GIN索引关键词搜索的时间复杂度为O(n^2)
复制是系统架构中的核心问题之一。
备份有各种各样的策略,物理备份通常可以分为四种。
有时候,组件之间的相互作用会以微妙的形式表现出来。例如使用pg_dump从连接池中导出数据,就可能产生连接池污染的问题。
采用二进制编辑的方式修复PostgreSQL数据页,以及如何让一条主键查询出现两条记录来。
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。
PipelineDB是PostgreSQL的一个扩展插件,提供流式数据处理的相关功能。
TimescaleDB是PostgreSQL的一个扩展插件,提供时序数据库的一些功能。
XID WrapAround也许是PostgreSQL特有的一种故障
如果您在表上用了Interger的序列号,最好还是考虑一下可能溢出的情况。
在应用开发中,一个‘很常见’的需求就是GeoIP转换。将请求的来源IP转换为相应的地理坐标,或者行政区划(国家-省-市-县-乡-镇)
详细了解PostgreSQL中触发器的管理与使用
KNN问题极致优化,从传统关系型设计到PostGIS
如何高效解决典型地理逆编码问题:根据用户的经纬度坐标,定位用户的行政区划。
PostgreSQL中的表对应着许多物理文件,本文介绍如何统计一张表在PostgreSQL的实际大小
PgAdmin是一个管理PostgreSQL的GUI程序,用python写成,但实在是过于古早,需要一些额外配置。
最近发生了一起匪夷所思的故障,某数据库切走了一半的数据量和负载,结果却因为负载变大被打挂了。
一些PostgreSQL与Bash交互的技巧。
使用Distinct On扩展字句快速找出分组内具有最大最小值的记录
PgSQL中的函数默认有三种易变性等级,合理使用可以显著改善性能。
Exclude约束是一个PostgreSQL扩展,它可以实现一些更高级,更巧妙的的数据库约束。
汽车需要上油,数据库也需要维护保养。对Pg而言,有三项比较重要的维护工作:备份、重整、清理
备份是DBA的安身立命之本,有备份,就不用慌。
PgBackRest是用perl写的一组PostgreSQL备份工具
Pgbouncer是一个轻量级的数据库连接池,这里简单介绍Pgbouncer的配置、管理与使用。
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。
通常涉及到数据迁移,常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。
FIO可以很方便地测试磁盘IO性能
尽管PostgreSQL提供了pgbench,但有时候为了吊打一下MySQL,还是需要用到sysbench的。
索引很有用, 但不是免费的。没用到的索引是一种浪费,使用这里的方法找出未使用的索引
The Internals of PostgreSQL, Chapter 2
快速配置所有机器的免密登陆
Wireshark是一个很有用的工具,特别适合用来分析网络协议,这里简单介绍使用Wireshark抓包分析PostgreSQL协议的方法。
通过file_fdw
,轻松查看操作系统信息,拉取网络数据,把各种各样的数据源轻松喂进数据库里统一查看管理。
top, free, vmstat, iostat:四大常用 CLI 工具命令速查
PostGIS是PG的杀手锏插件,但编译安装可不容易。
巧妙运用Pg的Notify功能,可以方便地通知应用元数据变更,实现基于触发器的逻辑复制。
有时候,我们希望记录一些重要的元数据变更,以便事后审计之用。PostgreSQL的触发器就可以很方便地自动解决这一需求。
用PostgreSQL 5分钟实现一个最简单ItemCF推荐系统
UUID性质原理与应用,以及如何利用PostgreSQL的存储过程操作UUID。
最近有业务要求通过PostgreSQL FDW去访问MongoDB。开始我觉得这是个很轻松的任务。但接下来的事真是让人恶心的吐了。MongoDB FDW编译起来真是要人命:混乱的依赖,临时下载和Hotpatch,错误的编译参数,以及最过分的是错误的文档。总算,我在生产环境(Linux RHEL7u2)和开发环境(Mac OS X 10.11.5)都编译成功了。赶紧记录下来,省的下次蛋疼。
介绍PostgreSQL中的WAL与检查点机制。