Qt 与 sqlite 中 OpenSSL 对称加解密算法无法互相读取
最近,我在实现 SQLite 的透明加解密时遇到一个有意思 H2 的问题。当我使用 Qt 读写数据库文件时,可以正常操作,但是使用对应的 sqlite3 命令时则提示 database disk image is malformed
;同样的,当我 sqlite3 命令创建数据库文件,并尝试在 Qt 中访问时,也无法正常读取。
最近,我在实现 SQLite 的透明加解密时遇到一个有意思 H2 的问题。当我使用 Qt 读写数据库文件时,可以正常操作,但是使用对应的 sqlite3 命令时则提示 database disk image is malformed
;同样的,当我 sqlite3 命令创建数据库文件,并尝试在 Qt 中访问时,也无法正常读取。
最近,同事在测试 Hydra 的列存时遇到了崩溃的问题。当 chunk_group_row_limit
的值超过 100000
时,就会导致进程崩溃,其本质是由于 stripeReadState->chunkGroupReadState
被释放后,出现了空指针和悬空指针 (Dangling Pointer),从而引发了进程崩溃。
继空闲会话超时之后,PostgreSQL 在 17 中又引入了事务超时 transaction_timeout
。
最近被朋友问到 pg_parse_query()
函数在什么情况下会返回多个 RawStmt
,因为在大多数情况下,该函数仅会返回一个 RawStmt
。这个问题与之前另一个朋友咨询的 pg_rewrite_query()
有点类似,但当时自己并没有整理记录,因此借着这个机会对这两个问题稍微整理一下。
最近 Cybertec 发布了新的 TDE 解决方案,通过在制作安装包时打补丁的方式添加数据库透明加解密功能,不得不说这种方式比之前的引入到整个代码库中要清晰的多。
最近遇到一个比较有意思的问题,我在运行 PostgreSQL 的回归测试时发现 collate.icu.utf8
这个测试用例在 REL_14_STABLE
分支始终无法跑过,但是在 REL_15_STABLE
却可以正常运行。同时由于 collate.icu.utf8
失败还将导致 foreign_data
测试用例也失败了。
本文简要记录一下 PostgreSQL 中关于表空间的备份,主要涉及到了 pg_basebackup
和 pg_probackup
两种备份方式。