选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 10 条。

PostgreSQL 19 的 COPY TO 支持 JSON 格式

Hubert 'depesz' Lubaczewskidepesz.com

Andrew Dunstan 在 3 月 20 日提交了 Joe Conway 与 Jian He 的补丁,COPY TO 从此能把查询结果或表数据导成一行一个 JSON 对象的流,写法是 COPY 表名 TO stdout WITH (format json),加 force_array 则包成一个数组。这条路只支持导出,且与 HEADER、NULL、DELIMITER 等文本选项互斥。相比过去用 to_json() 拼装,原生实现不会在嵌套引号上产出非法 JSON。

好的 CTE 与坏的 CTE 差在统计信息上

Radim Marekboringsql

PostgreSQL 12 之前 CTE 是硬性的优化栅栏,之后规划器会按写法决定内联还是物化。Radim Marek 归纳:只被引用一次的纯 SELECT 会被内联,谓词得以合并,可读性不再有代价;被多次引用的昂贵聚合物化一次更划算。坏处出在物化上,结果落进临时元组存储,没有 pg_statistic 条目,规划器只能退回默认选择率,连接计划因此走偏甚至溢出内存。结果集很大又要多次引用时,带索引和统计的临时表更稳。