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