John Doe

基于 PostgreSQL 的全文搜索方案

在为 PostgreSQL 中存储的数据寻找全文搜索的解决方案时,最终的选择往往聚焦于Elasticsearch 与 PostgreSQL 原生全文搜索之间。

继续阅读

地缘政治视角下的 PostgreSQL:开源数据库的战略价值

PostgreSQL 的核心价值在于开源属性带来的无限制使用权,这种中立性使其跨越行业偏见与地缘壁垒,成为特殊场景和战略需求下的关键选择。

继续阅读

PostgreSQL 与 MongoDB 选型指南

PostgreSQL 和 MongoDB 在开源数据库领域都有很大的影响力,但这两个开源数据库之间存在许多差异。

继续阅读

pg_parquet: 访问外部存储中的 Parquet 格式文件

在 PostgreSQL 中,使用 pg_parquet 扩展,可以从 S3、Azure Blob 存储、Google 云存储、HTTP(S) 存储、本地文件或标准输入流,访问 Parquet 格式数据。

继续阅读

PostgreSQL 18: 多列 B 树索引支持跳跃扫描

PostgreSQL 18 支持跳跃扫描式查找,使多列 B 树索引在更多情况下可用。该优化允许 PostgreSQL 即便在未对索引前置列进行过滤的情况下,也能使用多列 B 树索引,从而为实际业务中的分析类查询和报表查询带来显著性能提升,而且完全无需添加新索引。

继续阅读

PostgreSQL 透明数据加密 (TDE)

在数据库管理系统中,静态数据加密指对未被使用或访问的数据进行加密处理以保障安全,这一操作通常用于防止敏感数据被未授权访问或窃取。通过透明数据加密(TDE),加密过程对用户完全透明,用户可像往常一样访问和操作数据,无需关注加密与解密的具体流程。根据企业特定的安全需求,TDE 可应用于不同层级,如数据库级、列级或单元格级。实施 TDE 有助于确保敏感数据仅能被持有正确解密密钥的授权用户访问。

继续阅读

PostgreSQL 19: 规划器尽可能替换 COUNT(ANY) 为 COUNT(*)

你是否曾纠结应该使用COUNT(*)还是COUNT(1),或者一直循规蹈矩地在非空列上使用COUNT(id)

继续阅读

PostgreSQL 19: 查询优化器支持内联过程函数

PostgreSQL 一直都能够内联简单的 SQL 函数。如果你编写CREATE FUNCTION ... LANGUAGE SQL AS 'SELECT ...'这样的语句,规划器通常会拆解函数调用,并将原始 SQL 直接嵌入到主查询中。它意味着WHERE子句可以被下推,索引能够被正常使用,查询性能也因此表现优异。

继续阅读

Spock: 支持 PostgreSQL 双主复制的扩展

借助 Spock 可以实现 PostgreSQL 中的多主(多活)数据复制,还可大幅减少多主数据库集群中出现的各类冲突。

继续阅读

PostgreSQL 18: file_fdw 新增 on_error 与 log_verbosity 选项

使用 COPY 加载数据到 PostgreSQL 时,单行出错会导致整个加载过程失败回滚。虽然 PostgreSQL 17 中,COPY 命令引入了 on_error 选项,但是可处理的错误还是受限的。

继续阅读