PostgreSQL 事务超时
继空闲会话超时之后,PostgreSQL 在 17 中又引入了事务超时 transaction_timeout
。

最近被朋友问到 pg_parse_query()
函数在什么情况下会返回多个 RawStmt
,因为在大多数情况下,该函数仅会返回一个 RawStmt
。这个问题与之前另一个朋友咨询的 pg_rewrite_query()
有点类似,但当时自己并没有整理记录,因此借着这个机会对这两个问题稍微整理一下。
最近遇到一个比较有意思的问题,我在运行 PostgreSQL 的回归测试时发现 collate.icu.utf8
这个测试用例在 REL_14_STABLE
分支始终无法跑过,但是在 REL_15_STABLE
却可以正常运行。同时由于 collate.icu.utf8
失败还将导致 foreign_data
测试用例也失败了。
本文简要记录一下 PostgreSQL 中关于表空间的备份,主要涉及到了 pg_basebackup
和 pg_probackup
两种备份方式。
在上一篇文章中,我们聊到了 PostgreSQL 的认证机制,其中提到了 SCRAM-SHA-256 认证,在我写那篇文章的前两天,PostgreSQL 支持了 SCRAM 迭代次数的修改,它引入了一个 scram_iterations
参数来定义 SCRAM 的迭代次数。
本文将简单的聊聊 PostgreSQL 的密码存储以及认证过程。在 PostgreSQL 10 之前,密码存储是采用明文和 MD5 进行存储的,在 10 版本之后则采用 MD5 和 SCRAM 进行存储,废弃了明文存储。