摘要:timescaledb:一个PostgreSQL时序数据库的扩展 环境如下OS:ubuntu 24PostgreSQL:18.3timescaleDB:2.29.1 (2026-08-04),发布不超过24小时(该版本与笔者记录这篇文章的时间)官方推荐的是apt仓库安装,这种方法会依赖系统包管理器自
阅读全文
摘要:ext和xfs文件系统 ext是Linux原生的文件系统,版本依次从ext2迭代到ext4,xfs文件系统在90年代以商业化的形式出现,2009年之后才移植到Linux平台,从特征上来说,ext以轻量稳定为核心,xfs以大容量高性能为核心,xfs是否一定优于ext4,本文就该问题进行一个简单的测试验
阅读全文
摘要:skip scan是什么 Skip Scan PostgreSQL 18版本中一个新特性,原理在复合索引中,当前导列缺失、但前导列基数较小的情况下,通过“多次索引扫描”来替代全表扫描的优化技术。 举例:假设索引为CREATE INDEX idx_1 ON t3(c2, c3);对于如下两个查询,都能
阅读全文
摘要:0,环境 Ubuntu 20,PostgreSQL 17.6 1,场景 源数据格式 id|business_id|key|val |created_at | --+ + + + + 1| 1|aaa|100.00000|2026-03-28 18:20:50.553354 +0800| 2| 1|b
阅读全文
摘要:PGMQ介绍 对于PostgreSQL的pgmq扩展,这里有简介而又完整的介绍:1,pgmq是一个基于 PostgreSQL 的轻量级消息队列扩展程序。其 API 设计与亚马逊 SQS 和 RSMQ 类似,为用户提供了简单而强大的消息处理能力。2,它完全通过 SQL/PLpgSQL 实现,无需任何后
阅读全文
摘要:pgbouncer中间件,通过设置so_reuseport=1,配置两个pgbouncer的systemctl服务,启动两个pgbouncer的进程。如下两个进程的配置文件分别是pgbouncer.ini和pgbouncer2.ini,default_pool_size=30,意味着最多支持60个客
阅读全文
摘要:1,客户端安装配置postgres_exporter代理 1.1 下载客户端 cd /usr/local cd postgresql_package/ ll sudo su sudo - sudo sudo useradd -M -r -s /sbin/nologin postgres_export
阅读全文
摘要:PostgreSQL高可用之repmgr自动切换 之前写过一个repmgr的高可用搭建的,https://www.cnblogs.com/wy123/p/18531710,repmgr的搭建过程还是比较简单的,具体过程不再赘述。这里为了简化,做了1主2从的结构,之前一直没空测试repmgr的手动和自
阅读全文
摘要:笔者在本地VM创建的虚拟机环境测试PostgreSQL的时候,部分虚拟机中的PostgreSQL的日志中频繁出现Shared Memory Error: could not open shared memory segment "/PostgreSQL.XXXXXXXX": No such file
阅读全文
摘要:如下,pg_basebackup在执行的过程,如果使用了-X method--wal-method=method为s或者f,则会触发两次WAL日志切换,分别是备份开始的时候触发一次,备份完成的时候触发一次,这两个WAL日志并没有写入备份文件,只有第一次触发之后生成的WAL日志000000010000
阅读全文
摘要:PostgreSQL 17版本的pg_baseback开始支持增量备份,终于可以像大多数的数据库物理备份工具一样支持增量备份了,下班后抽空尝试了一下,跟其他数据库的物理备份类似,还是比较简单的。以下基于一个月前发布的PostgreSQL 17.6为测试环境,利用pg_basebackup,基于ful
阅读全文
摘要:在SQLServer中有一个内存授予(Memory Grant)的概念,意思是一个执行一个查询语句所需的内存大小,如果获取不到这个内存,则查询申请等待内存,因此就会受到影响。PostgreSQL有一个类似于此的work_mem参数,该参数也是执行跟查询所使用的内存有关的,那么work_mem的具体含
阅读全文
摘要:前些年写了一个PostgreSQL自动化安装的shell脚本,这几年一直在用,中间有微调过但都可以正常一键安装,今天尝试安装一个最新版的PostgreSQL 17.6(Aug. 11, 2025发布的),发现编译过程中死活过不去,遇到如下几个错误 1,ERROR: `xmllint' is miss
阅读全文
摘要:1,pg_audit编译安装 参考:https://github.com/pgaudit/pgaudit --pgaudit 编译安装 git clone https://github.com/pgaudit/pgaudit.git cd pgaudit/ git checkout REL_16_S
阅读全文
摘要:PostgreSQL记录SQL日志的参数有三个,如下,这三个参数都可以记录某种日志,也可以单独设置,也可以相互设置,因此情况比较多,某些情况下会生成一些奇怪的日志内容,需要弄清楚每一个参数的具体含义,有助于做出合理的配置 1,log_duration = on|off;2,log_statement
阅读全文
摘要:postgresql pg_cron 扩展设置定时任务 原本看起来非常简单的一个扩展以及使用,最后还是遇到一个奇葩的问题,设置好定时任务之后,所有的任务执行时都提示connection failed,最后也找到相应的解决方案。 ### 1,编译安装 git clone https://github.
阅读全文
摘要:原文地址:https://vladmihalcea.com/postgresql-plan-cache-mode/本文阐述了PostgreSQL对于prepared statement预处理语句生成执行计划的规则,原文中并没有提及测试环境的PostgreSQL版本,笔者在PostgreSQL 16下
阅读全文
摘要:postgresql uuid扩展的安装 postgresql uuid扩展的安装,由于PG是通过源码安装的,源码中已经有这个源码包了,不需要到处去找,(以笔者的版本)位置在:/postgresql/soft/postgresql-16.4/contrib/uuid-ossp 1.检查是否已安装扩展
阅读全文
摘要:传统的wal日志归档archive_command PostgreSQL15之前,使用传统的archive_command,传统的归档命令 archive_command = 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/arch
阅读全文
摘要:PostgreSQL表空间VS数据库 表空间:PostgreSQL中,表空间是一个逻辑概念,安装好PostgreSQL后有自带的默认的表空间,也可以创建用户表空间,每个表空间,又对应着一个物理上的路径。数据库:PostgreSQL数据库也是一个逻辑概念,数据库强绑定到一个表空间,但是数据库中的对象(
阅读全文