↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

测试与开发版本: 19
测试版PostgreSQL 19 RC 1 尚未正式发布,内容与行为在正式发布前可能变化。正式内容请看当前版本手册首页。

E.1. 发布版本 19 #

发布日期:. 2026-??-??,截至 2026-10-09

E.1.1. 概览 #

PostgreSQL 19 包含许多新特性和增强,包括:

  • 新增 REPACK 命令,用于回收磁盘空间并重新组织表内容,这可以提高查询性能。REPACK (CONCURRENTLY) 允许在不阻塞对表的读写操作的情况下进行重整。

  • pg_plan_advice 扩展用于控制查询规划器的决策,pg_stash_advice 扩展用于按查询自动应用计划建议。

  • 改进了多个方面的性能,包括自动调整 I/O 工作进程数量、加快外键检查,以及进一步优化规划和执行。

  • 当 wal_level 设置为 replica 时,现在可以在不重启服务器的情况下启用逻辑复制。

  • 支持序列值的逻辑复制。

  • 通过新增的 WAIT 命令,在备库上支持“读己之写”一致性。

  • 支持并行自动清理表索引,并通过新的评分系统确定自动清理优先级。

上述条目以及 PostgreSQL 19 的其他新特性,在下面各节中会作更详细的说明。

E.1.2. 迁移到版本 19 #

对于想从任何先前版本迁移数据的用户,需要使用 pg_dumpall 执行导出/恢复,或者使用 pg_upgrade,或者使用逻辑复制。有关迁移到新主版本的一般信息,请参见第 18.6 节。

19 版本包含若干可能影响与先前版本兼容性的更改。请注意以下不兼容项:

  • 新增服务器变量 password_expiration_warning_threshold,用于提示密码即将过期(Gilles Darold,Nathan Bossart)§

    默认警告期为七天。

  • 在成功完成 MD5 密码认证后发出警告(Nathan Bossart)§

    可以通过服务器变量 md5_password_warnings 禁用该警告。MD5 密码已在 PostgreSQL 18 中被标记为弃用。

  • 移除 RADIUS 支持(Thomas Munro)§

    PostgreSQL 只支持通过 UDP 的 RADIUS,而这存在无法修复的安全问题。

  • 强制数据库服务器中的 standard_conforming_strings 始终为 on(Tom Lane)§

    使用 PostgreSQL 19 之前版本的 pg_dump 或 pg_dumpall 创建、且使用了 standard_conforming_strings = off 的转储,将无法正确载入 PostgreSQL 19 及更高版本的服务器。用户应使用这些应用程序的 PostgreSQL 19 或更高版本创建转储,或者使用 standard_conforming_strings = on。

    为了兼容旧服务器,客户端应用程序仍然支持在 standard_conforming_strings = off 的服务器上执行操作。服务器变量 escape_string_warning 已被移除,因为已无必要。

  • 禁止数据库名、角色名和表空间名中出现回车和换行(Mahendra Singh Thalor)§

    这样做是为了避免安全问题。pg_upgrade 也会拒绝升级那些使用此类名称的数据库集簇。

  • 将 inet 和 cidr 数据类型的默认索引操作符类从 btree_gist 改为 GiST(Tom Lane)§ §

    btree_gist 的 inet/cidr 操作符类存在缺陷,因为它们可能排除本应返回的行。pg_upgrade 将拒绝升级包含 btree_gist inet/cidr 索引的数据库集簇。

  • 禁止在 COPY FROM ... WHERE 中使用系统列(Tom Lane)§

    这些列的值并未明确定义。

  • 将不返回任何行的 json_array() 调用改为返回空 JSON 数组(Richard Guo)§

    此前会返回 NULL。

  • 让事务把其 READ ONLY 和 DEFERRABLE 状态传递给 postgres_fdw 会话(Etsuro Fujita)§

    这意味着 READ ONLY 事务将不能再修改由 postgres_fdw 会话处理的行。

  • 将 max_locks_per_transaction 的默认值从 64 改为 128(Heikki Linnakangas)§

    锁大小分配方式已经改变,因此要达到与先前版本相同的容量,实际上现在必须将设置值翻倍。

  • 默认禁用 JIT(Jelte Fennema-Nio)§

    之前 JIT 默认启用,并根据优化器代价决定是否激活。不幸的是,这种代价估算被认为并不可靠,因此需要大量运行大型分析查询的站点手工启用 JIT。

  • 将 sync_error_count 重命名为 sync_table_error_count,该列位于系统视图 pg_stat_subscription_stats 中(Vignesh C)§

    这是因为现在会单独跟踪序列错误。

  • 将等待事件类型 BUFFERPIN 重命名为 BUFFER(Andres Freund)§

  • 将索引访问方法处理器改为使用静态分配的 IndexAmRoutines 结构体,而不是动态分配的结构体(Matthias van de Meent)§

  • 移除优化器钩子 get_relation_info_hook,并新增位置更合适的钩子 build_simple_rel_hook(Robert Haas)§

  • 修改 psql 的 \crosstabview 命令,使其遵循 \pset null 设置(Chao Li)§

  • 移除 MULE_INTERNAL 编码(Thomas Munro)§

    这种编码很复杂,而且很少使用。使用它的数据库将需要使用不同的编码进行导出和恢复。

E.1.3. 变更 #

下文将详细介绍 PostgreSQL 19 与上一个主版本之间的变更。

E.1.3.1. 服务器 #

E.1.3.1.1. 优化器 #
  • 在不存在 NULL 时,允许将 NOT IN 转换为更高效的 ANTI JOIN(Richard Guo)§

  • 允许更多 LEFT JOIN 转换为 ANTI JOIN(Tender Wang,Richard Guo)§

  • 允许在唯一内侧的 ANTI JOIN 中使用 Memoize(Richard Guo)§

  • 允许在连接之前先执行某些聚合处理(Richard Guo,Antonin Houska)§§§

    这可以减少需要处理的行数。

  • 改进哈希连接对带 NULL 连接键元组的处理(Tom Lane)§

  • 改进半连接规划(Richard Guo)§

  • 允许 Append 和 MergeAppend 考虑显式增量排序(Richard Guo)§

  • 在常量折叠期间将 IS [NOT] DISTINCT FROM NULL 转换为 IS [NOT] NULL(Richard Guo)§

    后一种形式更易优化。

  • 当输入被证明非空时,将 IS [NOT] DISTINCT FROM 简化为等值/不等值操作符(Richard Guo)§

  • 在优化器中更早地对 var IS [NOT] NULL 做常量折叠(Richard Guo)§

    这为后续优化创造了条件。

  • 简化 COALESCE() 和 ROW(...) IS [NOT] NULL,以避免求值不必要的参数(Richard Guo)§§

  • 当输入被证明非空时,将 IS [NOT] TRUE/FALSE/UNKNOWN 简化为普通 boolean 表达式(Richard Guo)§

  • 加快大统计目标下的连接选择率计算(Ilia Evdokimov,David Geier)§

  • 为返回 boolean 值的函数启用正确的优化器统计信息(Tom Lane)§

  • 允许在虚拟生成列上使用扩展统计信息(Yugo Nagata)§

  • 允许 pg_restore_extended_stats() 恢复优化器扩展统计信息(Corey Huinker,Michael Paquier,Chao Li)§§§§

  • 新增函数 pg_clear_extended_stats() 用于删除扩展统计信息(Corey Huinker,Michael Paquier)§

  • 调整优化器,使其在部分路径决策时考虑启动代价(Robert Haas,Tomas Vondra)§

  • 允许 pg_aggregate.aggtransspace 为负值,以表示内存使用没有上限(Richard Guo)§

    该信息会被优化器用于规划内存使用。

E.1.3.1.2. 常规性能 #
E.1.3.1.3. 系统视图 #
E.1.3.1.4. 监控 #
  • 允许按进程类型指定 log_min_messages 日志级别(Euler Taveira)§

    新格式为 "type:level"。不带冒号的值控制所有进程类型,以保持向后兼容。

  • 新增服务器变量 log_autoanalyze_min_duration,用于记录自动清理执行的耗时较长的分析操作(Shinya Kato)§

    服务器变量 log_autovacuum_min_duration 现在只控制自动清理执行的清理操作日志。

  • 默认启用服务器变量 log_lock_waits(Laurenz Albe)§

  • 新增服务器变量 debug_print_raw_parse,用于记录原始解析树(Chao Li)§

    当服务器以 debug 级别 3 及以上启动时,也会启用该输出。

  • 让来自远端服务器的消息以与本地服务器消息相同的格式出现在服务器日志中(Vignesh C)§

    这包括 replication、postgres_fdw 和 dblink 服务器。

  • 新增 WAL 整页写入字节报告到 VACUUM 和 ANALYZE 日志(Shinya Kato)§

  • 为 COPY FROM/TO 在管道、文件或程序上新增 I/O 等待事件(Nikolay Samokhvalov)§

  • 新增 commit_delay 以及 WAL 写入和刷盘 LSN 的等待事件(Xuneng Zhou)§§

  • 让 pg_get_sequence_data() 返回序列页 LSN(Vignesh C)§

  • 新增函数 pg_get_multixact_stats(),用于报告 multixact 活动(Naga Appani)§

  • 当 xid 和 multi-xids 的回卷距离小于 1 亿时发出警告(Nathan Bossart)§

    此前的警告阈值为 4000 万。警告会发送给客户端并写入服务器日志。

E.1.3.1.5. 服务器配置 #
E.1.3.1.6. 流复制与恢复 #
  • 新增 WAIT 命令,允许备库等待 LSN 值被写入、刷盘或重放(Kartyshov Ivan,Alexander Korotkov,Xuneng Zhou)§ §

  • 改进 pg_sync_replication_slots(),使其等待同步完成(Ajin Cherian,Zhijie Hou)§

    此前某些同步失败不会被报告。

  • 新增服务器变量 wal_sender_shutdown_timeout,用于限制关闭期间的副本同步等待(Andrey Silitskiy,Hayato Kuroda)§

    默认情况下,sender 仍会一直等待同步。

E.1.3.1.7. 逻辑复制 #

E.1.3.2. 查询命令 #

  • 允许 GROUP BY 处理目标列表中的子查询,即使其中的表达式引用了子查询之外的列(Tom Lane)§

    同时修复了 GROUPING() 处理目标列表中的子查询别名时的一个 bug。

  • 允许窗口函数使用 IGNORE NULLS/RESPECT NULLS 子句忽略 NULL(Oliver Ford,Tatsuo Ishii)§

    支持的窗口函数有 lead()、lag()、first_value()、last_value() 和 nth_value()。

  • 新增 INSERT ... ON CONFLICT DO SELECT ... RETURNING 支持(Andreas Karlsson,Marko Tiikkaja,Viktor Holmberg)§

    这允许返回冲突行,并可选用 FOR UPDATE/SHARE 加锁。

E.1.3.3. 实用命令 #

  • 新增 REPACK 命令,用于替代 VACUUM FULL 和 CLUSTER(Antonin Houska)§

    前两个命令执行类似的操作,但名称容易引起混淆,因此将它们统一为 REPACK。旧命令仍予保留,以保持兼容性。

  • 允许 REPACK 在不获取 ACCESS EXCLUSIVE 锁的情况下重建表(Antonin Houska,Mihail Nikalayeu,Álvaro Herrera)§§§

    通过 CONCURRENTLY 选项启用。还新增了服务器变量 max_repack_replication_slots。

  • 允许 GRANT/REVOKE 指定执行权限调整的有效角色(Nathan Bossart,Tom Lane)§

    通过 GRANTED BY 子句控制。

  • 支持在 CREATE SCHEMA 内的 FOREIGN KEY 约束子句中使用前向引用(Jian He,Tom Lane)§

  • 允许 CHECKPOINT 接受选项列表(Christoph Berg)§§§

    支持的选项为 MODE 和 FLUSH_UNLOGGED。

  • 新增 CONNECTION 子句到 CREATE FOREIGN DATA WRAPPER,用于指定将为订阅连接参数调用的函数(Jeff Davis,Noriyoshi Shinoda)§§

  • 为 CREATE AGGREGATE 新增 SUPPORT 子句,使扩展可以指定支持函数来优化聚合调用(Tom Lane)§

  • 在 VACUUM (VERBOSE) 和自动清理日志中新增内存使用和并行度报告(Tatsuya Kawata,Daniil Davydov)§§

E.1.3.3.1. 约束 #
E.1.3.3.2. COPY #
  • 允许 COPY FROM 跳过多行表头(Shinya Kato,Fujii Masao)§

    此前只能跳过一行表头。

  • 允许 COPY FROM 把无效输入值设置为 NULL(Jian He,Kirill Reshke)§

    通过 COPY 选项 ON_ERROR SET_NULL 实现。

  • 允许 COPY TO 输出 JSON 格式(Joe Conway,Jian He,Andrew Dunstan)§ §

    还可以把 JSON 输出生成为单个 JSON 数组,方法是使用 COPY 选项 FORCE_ARRAY。

  • 允许 COPY TO 处理分区表(Jian He,Ajin Cherian)§§

    此前必须使用 COPY (SELECT ...) 才能输出分区表。这也改进了逻辑复制中的表同步。

E.1.3.3.3. EXPLAIN #

E.1.3.4. 数据类型 #

E.1.3.5. 函数 #

  • 新增 date、timestamp 和 timestamptz 版本的 random(min, max)(Damien Clochard,Dean Rasheed)§§

  • 允许 encode() 和 decode() 处理 base64url 和 base32hex 格式的数据(Andrey Borodin,Aleksander Alekseev,Florents Tselai)§§§

    这种格式保留顺序,不像 base32。

  • 新增用于返回范围减法结果范围集的函数(Paul A. Jungwirth)§

    函数为 range_minus_multi() 和 multirange_minus_multi()。这对表示带间隙的范围减法结果很有用。

  • 新增函数 error_on_null(),用于返回提供的参数,或在 NULL 输入时报告错误(Joel Jacobson)§

  • 允许 IS JSON 在定义于受支持基础类型之上的域上工作(Jian He)§

    受支持的基础类型为 TEXT、JSON、JSONB 和 BYTEA。

  • 新增波兰语和世界语的全文词干分析器(Tom Lane)§

    荷兰语词干分析器也已更新。旧版荷兰语词干分析器可通过 dutch_porter 使用。

  • 允许使用 PL/Python 编写事件触发器(Euler Taveira,Dimitri Fontaine)§

E.1.3.6. Libpq #

  • 允许 libpq 连接通过 "servicefile" 指定服务文件(Torsten Förtsch,Ryo Kanbayashi)§

  • 新增用于兼容性测试的特殊 libpq 协议参数(Jelte Fennema-Nio,Jacob Champion)§

    这也称为 protocol grease,曾在 19 beta 期间启用。从 PostgreSQL 19 正式版开始将不再发送这些参数,但相关参数保留项仍会保留,以备将来使用。

  • 新增 libpq 连接参数 oauth_ca_file,用于在与 OAuth 提供者通信时指定其他证书颁发机构(Jonathan Gonzalez V.,Jacob Champion)§

    也可以通过环境变量 PGOAUTHCAFILE 设置。默认使用 curl 内置证书。

  • 允许 libpq 环境变量 PGOAUTHDEBUG 指定具体调试选项(Zsolt Parragi,Jacob Champion)§

    UNSAFE 选项仍会生成全部调试输出。

  • 改进自定义 OAuth 客户端流程(Jacob Champion)§ §

    此前,自定义流程失败时 libpq 只报告一条通用错误消息,并且每个流程实现都必须独立计算 issuer 标识符。新增 authdata 钩子类型 PQAUTHDATA_OAUTH_BEARER_TOKEN_V2,它会预先计算 issuer ID,并允许钩子提供错误细节。

  • 新增 libpq 函数 PQgetThreadLock(),用于获取当前锁回调(Jacob Champion)§

E.1.3.7. psql #

  • 允许 psql 通过 %S 在提示符中显示 search_path(Florents Tselai)§

    这在 psql 连接到 PostgreSQL 18 或更高版本时有效。

  • 允许 psql 通过 %i 在提示符中显示热备状态(Jim Jones)§

  • 修改 psql 反斜杠命令,以显示发布、订阅和扩展统计信息的注释(Fujii Masao,Jim Jones)§

    受影响的命令为 \dRp+、\dRs+ 和 \dX+。

  • 允许在 psql 中控制 boolean 值的显示方式(David G. Johnston)§

    \pset 变量为 display_true 和 display_false。

  • 新增 psql 变量 SERVICEFILE,用于引用服务文件位置(Ryo Kanbayashi)§

  • 允许 psql 更准确地判断是否需要 pager(Erik Wienhold)§

  • 新增或改进 psql tab completion(Yamaguchi Atsuo,Yugo Nagata,Haruna Miwa,Xuneng Zhou,Dagfinn Ilmari Mannsåker,Fujii Masao,Álvaro Herrera,Jian He,Tatsuya Kawata,Ian Lawrence Barwick,Vasuki M)§§§§§§§§§§§§§§

E.1.3.8. 服务器应用程序 #

  • 允许 pg_dump 包含可恢复的扩展统计信息(Corey Huinker)§

  • 修改 vacuumdb 的 --analyze-only 和 --analyze-in-stages 选项,使其在未指定目标时也分析分区表(Laurenz Albe,Mircea Cadariu,Chao Li)§ §

    此前它会跳过分区表。现在其行为与 ANALYZE 一致。

  • 允许 vacuumdb 使用 --dry-run 选项报告将要执行的命令而不实际运行(Corey Huinker)§

  • 允许 pg_verifybackup 读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§

    新增 --wal-path 选项,作为现有且已弃用的 --wal-directory 选项的别名。

  • 允许 pg_waldump 读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§

  • 改进 pg_upgrade 复制大对象元数据的性能(Nathan Bossart)§ § § §

    根据旧集簇的 PostgreSQL 版本采用不同的方法。

  • 允许 pg_upgrade 处理存放在 PGDATA 目录中的非默认表空间(Nathan Bossart)§

    此前这类表空间会报错。

  • 新增 pgbench 选项 --continue-on-error,以在 SQL 错误后继续执行(Rintaro Ikeda,Yugo Nagata,Fujii Masao)§

  • 改进 pg_test_timing 的可用性(Hannu Krosing,Tom Lane)§§

    现在报告纳秒而不是微秒;除直方图输出外,还会输出第二张精确计时表,并可通过 --cutoff 指定可选截断。

E.1.3.8.1. pg_createsubscriber #
  • 允许 pg_createsubscriber 忽略已存在的指定发布(Shubham Khanna)§

    此前这会报错。

  • 更改 pg_createsubscriber 存储恢复参数的方式(Alyona Vinter)§

    变更会存放在可选包含的 pg_createsubscriber.conf 中,而不是直接写入 postgresql.auto.conf。

  • 新增 pg_createsubscriber 选项 -l/--logdir,用于把输出重定向到文件(Gyan Sreejith,Hayato Kuroda)§

E.1.3.9. 源代码 #

  • 恢复对 AIX 的支持(Aditya Kamath,Srirama Kucherlapati,Peter Eisentraut)§§

    这使用 gcc,并且只支持 64 位构建。

  • 将 Solaris 改为使用未命名 POSIX 信号量(Tom Lane)§

    此前使用的是 System V 信号量。

  • 要求 Visual Studio 2019 或更高版本(Peter Eisentraut)§

  • 允许 MSVC 为 PL/Python 使用 Python Limited API 进行构建(Bryan Green)§

  • 允许使用 MSVC 在 AArch64 上构建(Niyas Sait,Greg Burd,Dave Cramer)§

  • 允许在 Windows 上使用 DbgHelp 获取执行栈回溯(Bryan Green)§

  • 将支持的 C 语言版本改为 C11(Peter Eisentraut)§§

    此前使用 C99。

  • 在可用时使用标准 C23 和 C++ 属性(Peter Eisentraut)§

  • 使用 AVX2 CPU 指令计算页面校验和(Matthew Sterrett,Andrew Kim)§

  • 使用 ARM Crypto Extension 计算 CRC32C(John Naylor)§

  • 修改 hex_encode() 和 hex_decode(),使其使用 SIMD CPU 指令(Nathan Bossart,Chiranmoy Bhattacharya)§

  • 要求 Meson 版本 0.57.2 或更高(Peter Eisentraut)§

  • 新增 Meson 选项,用于同时构建共享库和静态库,或仅构建共享库(Peter Eisentraut)§

  • 更新 Unicode 数据到 17.0.0 版(Peter Eisentraut)§

  • 新增钩子 planner_setup_hook、planner_shutdown_hook、joinrel_setup_hook 和 join_path_setup_hook(Robert Haas)§ §

  • 允许扩展将返回集合函数替换为 FROM 子句中的 SQL 查询(Paul A. Jungwirth)§

  • 将 multixid 成员改为 64 位(Maxim Orlov)§

  • 将函数原型中的 bit* typedef 改为 uint*(Nathan Bossart)§

  • 允许逻辑解码插件指定其是否不访问共享目录(Antonin Houska)§

  • 允许 OAuth 验证器提供失败细节(Jacob Champion)§

    通过设置 ValidatorModuleResult 结构体成员 error_detail 实现。

  • 新增简化且改进的共享内存注册函数 ShmemRequestStruct()(Heikki Linnakangas,Ashutosh Bapat)§

    ShmemInitStruct() 和 ShmemInitHash() 仍保留以兼容旧代码。

  • 新增服务器变量 debug_exec_backend,用于报告参数如何传递给新后端(Daniel Gustafsson)§

  • 新增关于时态表的文档章节(Paul A. Jungwirth)§

  • 记录控制回归测试的环境变量(Michael Paquier)§

  • 更新文档中的 systemd 示例,加入 restart 设置(Andrew Jackson)§

E.1.3.10. 附加模块 #

  • 新增 pg_plan_advice 模块,用于稳定和控制规划器决策(Robert Haas)§§

  • 新增扩展 pg_stash_advice,用于按 query-id 指定建议(Robert Haas,Lukas Fittl)§§

  • 将 FETCH 查询的大小作为常量显示在 pg_stat_statements 中(Sami Imseih)§

    不同大小的 FETCH 现在会在 pg_stat_statements 输出中归并到一起。

  • 新增通用计划和自定义计划计数到 pg_stat_statements(Sami Imseih)§

  • 重构 pg_buffercache 的共享内存映射报告(Bertrand Drouvot)§

    新增函数 pg_buffercache_os_pages() 和系统视图 pg_buffercache_os_pages,用于报告共享内存映射;函数还可选包含 NUMA 细节。为向后兼容,pg_buffercache_numa_pages() 仍然保留。

  • 为 pg_buffercache 新增将缓冲区标记为脏的函数(Nazir Bilal Yavuz)§

    这些函数为 pg_buffercache_mark_dirty()、pg_buffercache_mark_dirty_relation() 和 pg_buffercache_mark_dirty_all()。

  • 允许在预备语句中向 postgres_fdw 外部服务器下推数组比较(Alexander Pyhalov)§

  • 允许从外部数据包装器服务器获取统计信息(Corey Huinker,Etsuro Fujita)§§

    postgres_fdw 通过 import_stats 选项启用此功能。默认情况下,ANALYZE 会从远端服务器取回行并在本地生成统计信息。

  • 允许 file_fdw 读取使用多行 HEADER 的文件或程序输出(Shinya Kato)§

  • 新增服务器变量 auto_explain.log_io,为 auto_explain 添加 IO 报告(Tomas Vondra)§

  • 允许 auto_explain 添加扩展特定的 EXPLAIN 选项,并通过服务器变量 auto_explain.log_extension_options 控制(Robert Haas)§

  • 修改 btree_gin,使其支持 btree 所支持的所有跨类型比较(Tom Lane)§ §

  • 通过流式读取改进 bloom 索引性能(Xuneng Zhou)§§

  • 使用流式读取改进 pgstattuple 的性能(Xuneng Zhou)§ §

  • 允许 fuzzystrmatch 的 dmetaphone() 使用 ASCII 以外的单字节编码(Peter Eisentraut)§

  • 修改 oid2name --extended 以报告关系文件路径(David Bidoc)§

E.1.4. 致谢 #

以下人员(按字母顺序)以补丁作者、提交者、审阅者、测试者或问题报告者的身份为本次发布做出了贡献。

Adam Lee
Adam Pickering
Adam Warland
Aditya Gollamudi
Aditya Kamath
Afrah Razzak
Aidar Imamov
Ajay Pal
Ajin Cherian
Akshay Joshi
Alberto Piai
Aleksander Alekseev
Aleksey Solovev
Alex Guo
Alex Shapalov
Alex Young
Alexander Borisov
Alexander Kjäll
Alexander Korotkov
Alexander Kozhemyakin
Alexander Kukushkin
Alexander Kuzmenkov
Alexander Kuznetsov
Alexander Lakhin
Alexander Pyhalov
Alexandra Wang
Alexandre Felipe
Alexey Makhmutov
Alexey Shishkin
Ali Akbar
Altan Birler
Álvaro Herrera
Alyona Vinter
Amit Kapila
Amit Langote
Amjad Shahzad
Amul Sul
Amy Burnett
Andreas Karlsson
Andreas Lind
Andrei Klychkov
Andrei Lepikhov
Andrei Varashen
Andres Freund
Andrew Bille
Andrew Dunstan
Andrew Gierth
Andrew Jackson
Andrew Kim
Andrew Krylosov
Andrew Watkins
Andrey Borodin
Andrey Chernyy
Andrey Rachitskiy
Andrey Rudometov
Andrey Silitskiy
Andrzej Doros
Andy Fan
Anh Khoa
Ante Kresic
Anthonin Bonnefoy
Antoine Violin
Anton Voloshin
Antonin Houska
Ants Aasma
Arne Roland
Arseniy Mukhin
Artem Gavrilov
Arthur Nascimento
Artur Zakirov
Ashutosh Bapat
Ashutosh Sharma
Atsuo Yamaguchi
Atsushi Torikoshi
Aya Iwata
Ayoub Kazar
Ayush Tiwari
Ayush Vatsa
Baji Shaik
Ben Morris
Benoit Lobréau
Bernd Helmle
Bernd Reiß
Bernice Southey
Bertrand Drouvot
Bharath Rupireddy
Bihua Wang
Bill Kim
Bing Tian
Bing’e Jin
Bob Kline
Bowen Shi
Brian Carpenter
Bruce Dang
Bruce Momjian
Bryan Fox
Bryan Green
Bykov Ivan
Cai Mengjuan
Cándido Antonio Martínez Descalzo
Cary Huang
Casey Shobe
Chaitanya Choudhary
ChangAo Chen
Changhong Fei
Chao Li
Charles Samborski
Chee Wooson
Chengpeng Yan
Chengxi Sun
Chi Zhang
Chiranmoy Bhattacharya
Chong Peng
Christian Ullrich
Christoph Berg
Christophe Pettus
Chuanwen Hu
Corey Huinker
DaeMyung Kang
Dagfinn Ilmari Mannsåker
Daisuke Higuchi
Damien Clochard
Dan Stefura
Daniel Bakker
Daniel Bauman
Daniel Farkaš
Daniel Firer
Daniel Gustafsson
Daniel Vérité
Daniel Woelfel
Daniele Varrazzo
Daniil Davydov
Dapeng Wang
Daria Shanina
Dave Cramer
David Bidoc
David Christensen
David Fetter
David G. Johnston
David Geier
David Rowley
David Steele
David Wheeler
Davin Shearer
Dean Rasheed
Devanga Susmitha
Devrim Gündüz
Dewei Dai
Dharin Shah
Dhruv Chauhan
Dian Fay
Diego Frias
Dilip Kumar
Dimitre Radoulov
Dimitri Fontaine
Dimitrios Apostolou
Dipesh Dhameliya
Dmitriy Kuzmin
Dmitry Astapov
Dmitry Dolgov
Dmitry Fomin
Dmitry Igrishin
Dmitry Koval
Dmitry Kovalenko
Dmitry Mityugov
Dmitry Yurichev
Dominique Devienne
Donghang Lin
Doruk Yilmaz
Egor Chindyaskin
Ekaterina Sokolova
Emmanuel Sibi
Emmanuel Touzery
Eric Ridge
Erik Nordström
Erik Rijkers
Erik Wienhold
Ethan Mertz
Etsuro Fujita
Eugene Morgunov
Euler Taveira
Evan Montgomery-Recht
Evan Si
Evgeniy Gorbanev
Evgeny Voropaev
Ewan Young
Fabrice Chapuis
Fabrízio de Royes Mello
Feilong Meng
Feng Wu
Filip Janus
Florents Tselai
Florin Irion
Francesco Verardi
François Jehl
Frédéric Yhuel
Fredrik Widlert
Gaurav Singh
Gavin Panella
George Tarasov
Gilles Darold
Gilles Parc
Giovanni Fabris
Glauber Batista
Gleb Kashkin
Greg Burd
Greg Sabino Mullane
Gregory Smith
Grem Snoort
Grigorev Jurij
Grigory Smolkin
Guillaume Lelarge
Gunnar Morling
Guoqing Yang
Gurjeet Singh
Gyan Sreejith
Haibo Yan
Haiyang Li
Hang Ammmkilo
Hannu Krosing
Hans Buschmann
Haowu Ge
Haoyan Wang
Haruka Takatsuka
Haruna Miwa
Hayato Kuroda
Heewon Song
Heikki Linnakangas
Henrik TJ
Henson Choi
Hillai Ben Sasson
Holger Hoffstätte
Hubert Lubaczewski
Hugo Dubois
Hüseyin Demir
Ian Barwick
Ignat Remizov
Igor Stepansky
Ilia Evdokimov
Ilia Kashintsev
Ilya Cherdakov
Ilya Portnov
Ilya Staroverov
Ilyasov Ian
Imran Zaheer
Ivan Kush
Izumi Igi
Jack Bonatakis
Jacob Brazeal
Jacob Champion
Jacques Combrink
Jakob Egger
Jakub Wartak
Jan Nidzwetzki
Japin Li
Jasper Smit
Javier Maestro
Jeevan Chalke
Jeff Davis
Jeff Janes
Jehan-Guillaume de Rorthais
Jelte Fennema-Nio
Jérémie Hodnik
Jeroen Gui
Ji Xu
Jian He
Jianghua Yang
Jiao Shuntian
Jie Wang
Jihe Wang
Jim Jones
Jim Nasby
Jingtang Zhang
Jingzhou Fu
Jinhui Lai
Jinyang Liu
Jochen Bandhauer
Joe Conway
Joel Jacobson
John Hsu
John Naylor
Jonas Boberg
Jonathan Gonzalez V.
Jonathan S. Katz
Jorge Solórzano
Josef Šimánek
Joseph Koshakow
Joshua Shanks
Julien Rouhaud
Julien Tachoires
Junwang Zhao
Junwen An
Justin Kwan
Justin Pryzby
Kamil Monicz
Karavaev Alexey
Karina Litskevich
Karthik S
Kartyshov Ivan
Ke Lan
Keisuke Kuroda
Keith Paskett
Kenny Chen
Kentaro Sato
Kevin K Biju
Kevin Oommen Anish
Kiran Kaki
Kirill Reshke
Konstantin Knizhnik
Krasiyan Andreev
Kristian Lejao
Kuan-Ting Kuo
Kunpeng Yi
Kuntal Ghosh
Kyotaro Horiguchi
Lakshmi G
Lakshmi N
Lars Kanis
Laurenz Albe
Lauri Siltanen
Lev Nikolaev
Lihui Zhang
Lori Corbani
Lu Feng
Lucas Velgus
Lucio Chiessi
Lukas Eder
Lukas Fittl
Maciek Sakrejda
Madhukar Prasad
Magnus Hagander
Mahendra Singh Thalor
Maksim Logvinenko
Maksim Melnikov
Maksim Milyutin
Man Zeng
Manni Wood
Manuel Reyes Bravo
Marco Nenciarini
Marcos Pegoraro
Marcus Gartner
Marian Muller Rebeyrol
Mario González
Mark Callaghan
Mark Dilger
Mark Frost
Mark Wong
Marko Grujic
Marko Tiikkaja
Martin Heistermann
Martin Rakhmanov
Masahiko Sawada
Masahiro Ikeda
Masao Fujii
Masashi Kamura
Matheus Alcantara
Mats Kindahl
Matt Long
Matthew Sterrett
Matthias van de Meent
Matthieu Denais
Matthijs van der Vleuten
Maxim Boguk
Maxim Orlov
Maxime Schoemans
Mehmet D. Ince
Melanie Plageman
Melih Mutlu
Meng Zhang
Merlin Moncure
Mert Alev
Michael Banck
Michael Malis
Michael Paquier
Michael Schönitzer
Mikael Gustavsson
Mikhail Gribkov
Mikhail Kot
Mikhail Litsarev
Mikhail Nikalayeu
Milosz Bieniek
Mingyang Zhen
Mircea Cadariu
Mohamed Ali
Moritz Sanft
Muhammad Taha Naveed
Mutaamba Maasha
Naga Appani
Natalya Aksman
Nathan Bossart
Nazir Bilal Yavuz
Neil Chen
Neil Conway
Niall Newman
Niccolò Fei
Nick Ivanov
Nicolas Adenis-Lamarre
Nikhil Kumar Veldanda
Nikhil Sontakke
Nikita Kalinin
Nikolay Samokhvalov
Nikolay Shaplov
Ning Sun
Ning Wu
Nisha Moond
Nishant Sharma
Nitin Jadhav
Nitin Motiani
Niyas Sait
Noah Misch
Noboru Saito
Noriyoshi Shinoda
Oleg Ivanov
Oleg Samoylov
Oleg Sibiryakov
Oleg Tkachenko
Oleg Tselebrovskiy
Oli Sennhauser
Oliver Ford
Oreo Yang
Orestis Markou
Osama Abdul Qader
Palak Chaturvedi
Palayret Jacques
Patrick Reynolds
Patrick Stählin
Paul Bunn
Paul Gerste
Paul Jungwirth
Paul Kim
Paul Ramsey
Pavel Borisov
Pavel Kohout
Pavel Kopylov
Pavel Luzanov
Pavel Seleznev
Pavel Stehule
Pavel Tyslacki
Pavlo Golub
Peng Wang
Peter Eisentraut
Peter Geoghegen
Peter Mitteregger
Peter Smith
Pierre Ducroquet
Pierre Forstmann
Pierre Senellart
Pierrick Chovelon
Potapov Alexander
Pradeep Kumar
Przemyslaw Sztoch
Qifan Liu
Qing Zhang
Quan Zongliang
Radim Marek
Rafia Sabih
Rahila Syed
Rambabu V
Ran Benita
Ranier Vilela
Renli Zou
Renzo Dani
Richard Guo
Richard Neill
Rick de Jager
Rintaro Ikeda
Rithvika Devisetti
Robert Haas
Robert Pang
Robert Treat
Rogers Wang
Rohit Prasad
Roman Khapov
Ronan Dunklau
Ruben Ruiz
Rui Zhao
Ruikai Peng
Runyuan He
Rustam Allakov
Rustam Khamidullin
Ryan Bird
Ryo Kanbayashi
Ryo Matsumura
Sadhuprasad Patro
Sahitya Chandra
Sajeeb Lohani
Sami Imseih
Samuel Thibault
Sandeep Thakkar
Sandro Santilli
Sanjaya Waruna
Sarath Kumar
Satya Narlapuram
Satyanarayana Narlapuram
Sehrope Sarkuni
Semih Dogan
Sergei Glukhov
Sergei Kornilov
Sergei Patiakin
Sergey Fukanchik
Sergey Koposov
Sergey Prokhorenko
Sergey Shinderuk
Sergey Soloviev
Sergey Tatarintsev
Sergey Zhuravlev
Shengbin Zhao
Shenhao Wang
Shihao Zhong
Shinya Kato
Shinya Sugamoto
Shishir Sharma
Shixin Wang
Shiyu Qin
Shlok Kyal
Shruthi Gowda
Shubham Khanna
Shveta Malik
Siddharth Kothari
Sirisha Chamarthi
Solaimurugan V
Songjin Zhou
Sophie Alpert
Soumya S Murali
Srinath Reddy Sadipiralla
Srirama Kucherlapati
Stepan Neretin
Stephan Springl
Stéphane Schildknecht
Stephane Tachoires
Stephen Frost
Steve Baldwin
Steve Lau
Steven Niu
Stolpovskikh Danil
Sungwoo Chang
Sunil S
Surya Poondla
Suyang Zhong
Sven Klemm
Swirl Smog Dowry
Sylvie Mayer
Taiki Koshino
Takamichi Osumi
Tan Yang
Tan Zhen
Tatsuhito Kasahara
Tatsuo Ishii
Tatsuro Yamada
Tatsuya Kawata
Tender Wang
Tenglong Gu
Thom Brown
Thomas Kellerer
Thomas Munro
Tianchen Zhang
Tiancheng Ge
Tim Wood
Timur Magomedov
Tingchuan Sun
Tobias Bussmann
Todd Lang
Todd Liebenschutz-Jones
Tom Lane
Tomas Vondra
Tomer Fichman
Torsten Förtsch
Torsten Rupp
Tristan Partin
Tushar Ahuja
Tyler Smart
Vaibhav Dalvi
Vaibhav Jain
Vaibhave Sekar
Valery Gubanov
Varik Matevosyan
Vasuki M
Victor Yegorov
Vignesh C
Vik Fearing
Viktor Holmberg
Viktor Leis
Vinod Sridharan
Vishal Prasanna
Vismay Tiwari
Vitaly Davydov
Vlad Lesin
Vladimir Tokarev
Walid Ibrahim
Wenhui Qiu
Xiangyu Liang
Xiaohui Liu
Xiaopeng Wang
Xing Guo
Xingbin She
Xingwang Xiang
Xueyu Gao
Xuneng Zhou
Xunqi Hu
Yang Zhu
Yanjie Zhao
Yanliang Lei
Yaroslav Saburov
Yaroslav Syrytsia
Yasuo Honda
Yi Ding
Yilin Zhang
Yingying Chen
Yiyang Liu
Yonghao Lee
Yonghwa Lee
Yu Wang
Yuan Li
Yuanchao Zhang
Yuanzhou Yang
Yuchen Li
Yuefei Shi
Yuelin Wang
Yugo Nagata
Yuhang Qiu
Yuhang Wu
Yura Sokolov
Yuri Zamyatin
Yuxiao Guo
Zane Duffield
Zechman, Derek S
Zengqi Gao
Zepeng Zhang
Zexin Li
Zhang Hu
Zhang Mingli
Zheng Tao
Zheng Wang
Zheng Yu
Zhenpeng Lin
Zhenwei Shang
Zhibai Song
Zhibin Wang
Zhihong Yu
Zhijie Hou
Zhiyuan Su
Zhou Digoal
Zizhen Qiao
Zizhuan Liu
Zsolt Parragi

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游会在正式发布前持续修订。