PostgreSQL功能缘何如此强大且被软件企业青睐?
关于
什么是 PostgreSQL?
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。PostgreSQL 的起源可以追溯到 1986 年,当时是加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上有超过 35 年的积极开发经验。
PostgreSQL 以其成熟的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后开源社区的奉献精神赢得了良好的声誉,始终如一地提供高性能和创新的解决方案。PostgreSQL 可在所有主流操作系统上运行,自 2001 年以来一直符合ACID标准,并具有强大的附加组件,例如流行的PostGIS地理空间数据库扩展器。毫不奇怪,PostgreSQL 已成为许多个人和组织的首选开源关系数据库。
开始使用 PostgreSQL 从未如此简单 - 选择您想要构建的项目,然后让 PostgreSQL 安全、稳健地存储您的数据。
为什么使用 PostgreSQL?
PostgreSQL 具有许多功能,旨在帮助开发人员构建应用程序、管理员保护数据完整性和构建容错环境,并帮助您管理数据(无论数据集大小)。除了免费和开源之外,PostgreSQL 还具有高度可扩展性。例如,您可以定义自己的数据类型、构建自定义函数,甚至无需重新编译数据库即可 使用不同的编程语言编写代码!
PostgreSQL 试图符合SQL 标准,只要这种一致性不会与传统功能相矛盾或导致糟糕的架构决策。它支持 SQL 标准所需的许多功能,尽管有时语法或功能略有不同。随着时间的推移,可以预期会进一步朝着一致性迈进。截至 2023 年 9 月发布的版本 16,PostgreSQL 符合 SQL:2023 Core 一致性的 179 个强制性功能中的至少 170 个。截至撰写本文时,没有关系数据库完全符合此标准。
下面是 PostgreSQL 各种特性的不完全列表,每个主要版本都会添加更多特性:
- 数据类型
- 基元:整数、数字、字符串、布尔值
- 结构化:日期/时间、数组、范围/多范围、UUID
- 文档:JSON/JSONB、XML、键值(Hstore)
- 几何:点、线、圆、多边形
- 定制:复合、自定义类型
- 数据完整性
- 唯一,不为空
- 主键
- 外键
- 排除约束
- 显式锁、咨询锁
- 并发、性能
- 索引:B 树、多列、表达式、部分
- 高级索引:GiST、SP-Gist、KNN Gist、GIN、BRIN、覆盖索引、布隆过滤器
- 复杂的查询规划器/优化器、仅索引扫描、多列统计
- 事务、嵌套事务(通过保存点)
- 多版本并发控制(MVCC)
- 并行化读取查询和构建 B 树索引
- 表分区
- SQL 标准中定义的所有事务隔离级别,包括可序列化
- 表达式的即时 (JIT) 编译
- 可靠性、灾难恢复
- 预写日志(WAL)
- 复制:异步、同步、逻辑
- 时间点恢复 (PITR)、主动备用
- 表空间
- 安全
- 身份验证:GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等
- 强大的访问控制系统
- 列级和行级安全性
- 使用证书和其他方法进行多因素身份验证
- 可扩展性
- 存储函数和过程
- 过程语言:PL/pgSQL、Perl、Python 和 Tcl。还有其他语言可通过扩展使用,例如 Java、JavaScript (V8)、R、Lua 和 Rust
- SQL/JSON 构造函数和路径表达式
- 外部数据包装器:使用标准 SQL 接口连接到其他数据库或流
- 可定制的表格存储接口
- 许多提供附加功能的扩展,包括 PostGIS
- 国际化,文本搜索
- 支持国际字符集,例如通过 ICU 排序规则
- 不区分大小写和不区分重音的排序规则
- 全文搜索
您可以在 PostgreSQL文档中发现更多功能。此外,PostgreSQL 具有高度可扩展性:许多功能(例如索引)都已定义 API,因此您可以使用 PostgreSQL 来解决您的挑战。
事实证明,PostgreSQL 具有高度可扩展性,无论是在它能够管理的数据量还是在它能够容纳的并发用户数量方面都是如此。生产环境中有管理数 TB 数据的活跃 PostgreSQL 集群,也有管理 PB 数据的专用系统。
治理
核心团队
PostgreSQL 核心团队 (核心)是 PostgreSQL 项目政策和治理 的中心仲裁者 。
系统管理员团队
PostgreSQL 系统管理员团队 ( PGInfra) 负责运行所有 postgresql.org 基础设施。其中包括各种公共和非公共服务。
提交者
PostgreSQL提交者是具有推送到git 存储库 权限的人 。
安全团队
PostgreSQL 安全团队 负责 报告和修复与 PostgreSQL 及其密切相关项目相关的漏洞。如发现 PostgreSQL 或 PostgreSQL 下载页面链接的任何安装程序中的安全漏洞,请发送电子邮件至 security@postgresql.org。如需报告非安全漏洞,请访问 报告漏洞页面。如果您不确定某个问题是否为安全漏洞,请谨慎行事并发送电子邮件至 security@postgresql.org。
行为准则委员会
行为准则委员会 负责 接收和调查与 PostgreSQL 行为准则相关的所有投诉。
贡献者委员会
赞助委员会
非营利组织
一些非营利组织 以各种方式为 PostgreSQL 项目提供服务。
政策
管理 PostgreSQL 项目各个方面的正式政策可以在这里找到:
一般政策
PostgreSQL 项目政策
内容政策
社区认可政策
功能列表
此表概述了在哪个版本中添加了哪些功能。要获取有关某个功能的更多信息,请单击链接或将鼠标指针悬停在文本上。
群组
- 后端
- 数据类型、函数和运算符
- 索引和约束
- SQL
- 数据定义语言 (DDL)
- 表现
- JSON
- 分区和继承
- 视图和物化视图
- 复制
- 备份、恢复和数据完整性
- 数据导入导出
- 配置管理
- 安全
- 交易和可见性
- 真空与维护
- 外部数据包装器
- 自定义函数、存储过程和触发器
- 过程语言
- 扩展
- 国际化
- 客户端应用程序
- 附加模块(贡献)
- 网络
- 平台
按版本过滤
17 16 15 14 十三 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1隐藏未改变的特征
后端
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
64 位大对象 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
咨询锁 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
自定义后台工作者 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
基于磁盘的 FSM | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
动态后台工作者 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
EXPLAIN(缓冲区)支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
EXPLAIN(WAL)支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
“jsonlog”日志格式 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
用于监控规划器的可加载插件基础设施 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
LISTEN/NOTIFY 的有效负载支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_stat_checkpointer 系统视图 | 是的 | 不 | 不 | 不 | 不 | 不 |
pg_stat_io - I/O 指标视图 | 是的 | 是的 | 不 | 不 | 不 | 不 |
pg_wait_events 系统视图 | 是的 | 不 | 不 | 不 | 不 | 不 |
共享内存中的服务器统计信息 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
SQL 标准信息模式 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
支持匿名共享内存 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
EXPLAIN 的 XML、JSON 和 YAML 输出 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数据类型、函数和运算符
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
复合类型数组 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数组支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
ENUM 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GUID/UUID 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
macaddr8 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
多量程 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
数组中的 NULL | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
短语搜索 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
范围类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
小型系列 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
类型修饰符支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
XML 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
索引和约束
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
块范围 (BRIN) 索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
B 树自下而上索引删除 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
B-tree 重复数据删除 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
并发 GiST 索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
B 树的覆盖索引(包括) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GiST 的覆盖索引(包括) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
可延迟的唯一约束 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
排除约束 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GIN(广义倒排索引)索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GIN 索引部分匹配 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GIN 索引性能和大小改进 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GiST(通用搜索树)索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
表达式索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
仅索引扫描 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GiST 上的仅索引扫描 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
索引支持 IS NULL | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
内存位图索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
K 最近邻 GiST 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
K 最近邻 SP-GiST 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
非阻塞 CREATE INDEX | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
并行 B 树索引扫描 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
BRIN 索引的并行化 CREATE INDEX | 是的 | 不 | 不 | 不 | 不 | 不 |
并行化 B 树索引的 CREATE INDEX | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
空间分区 GiST (SP-GiST) 索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
范围类型的 SP-GiST 索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
唯一空值不是唯一值 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
哈希索引的 WAL 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SQL
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
ANY_VALUE 聚合 | 是的 | 是的 | 不 | 不 | 不 | 不 |
先获取...有关系 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
GROUPING SETS、CUBE 和 ROLLUP 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
插入/更新/删除返回 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
LATERAL 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
合并 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
多行值 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
非十进制整数文字 | 是的 | 是的 | 不 | 不 | 不 | 不 |
按 NULL 优先/最后排序 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
range_agg 范围类型聚合函数 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
递归查询 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
regexp_count、regexp_instr、regexp_like | 是的 | 是的 | 是的 | 不 | 不 | 不 |
行比较 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
选择无密钥更新/选择密钥共享锁定模式 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SQL 标准间隔处理 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
系统用户 | 是的 | 是的 | 不 | 不 | 不 | 不 |
TABLE 语句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
下划线 (_) 表示千位分隔符 | 是的 | 是的 | 不 | 不 | 不 | 不 |
unnest/array_agg | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
插入(插入...冲突时执行...) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
窗口函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
WITHIN GROUP 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
WITH ORDINALITY 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
WITH 查询(通用表表达式) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
可写的 WITH 查询(通用表表达式) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数据定义语言 (DDL)
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
如果存在则修改对象 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
修改表...使用索引添加唯一键/主键 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
修改表...设置访问方法 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
修改表...设置已记录/未记录 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
更改列类型(ALTER TABLE .. ALTER COLUMN TYPE) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
创建访问方法 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
CREATE TABLE ... (LIKE) 使用外部表、视图和复合类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
如果存在则删除对象 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
CREATE TEMPORARY TABLE 的 ON COMMIT 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
同时重新索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
存储的生成列 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
类型表 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
表现
JSON
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
改进的 JSON 函数和运算符集 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
JSONB 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
JSONB 修改运算符和函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
JSONB 下标 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
JSON 数据类型 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SQL/JSON 构造函数 | 是的 | 是的 | 不 | 不 | 不 | 不 |
SQL/JSON:datetime() | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
SQL/JSON 就是 JSON | 是的 | 是的 | 不 | 不 | 不 | 不 |
SQL/JSON 路径表达式 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
分区和继承
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
加速分区修剪 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
声明式表分区 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
默认分区 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
分区表的外键引用 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
外表继承 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
按哈希键分区 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
查询执行期间的分区修剪 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
支持分区表上的 PRIMARY KEY、FOREIGN KEY、索引和触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
表分区 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
更新分区键 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
视图和物化视图
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
物化视图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
具有并发刷新的物化视图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SECURITY INVOKER 视图 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
临时视图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
可更新视图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
WITH CHECK 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
复制
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
更改订阅...跳过 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
级联流式复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
配置复制槽的最大 WAL 保留 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
逻辑复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
逻辑复制避免复制循环 | 是的 | 是的 | 不 | 不 | 不 | 不 |
逻辑复制列表 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
分区表的逻辑复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
从备用数据库进行逻辑复制 | 是的 | 是的 | 不 | 不 | 不 | 不 |
使用二进制协议的逻辑复制初始同步 | 是的 | 是的 | 不 | 不 | 不 | 不 |
使用附加索引进行逻辑复制查找 | 是的 | 是的 | 不 | 不 | 不 | 不 |
事务的逻辑复制并行应用 | 是的 | 是的 | 不 | 不 | 不 | 不 |
逻辑复制发布模式中的所有表 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
逻辑复制行过滤 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
逻辑复制流正在进行的事务 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
逻辑复制订阅者可以在发生错误时禁用 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
同步复制的仲裁提交 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
复制槽 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
仅流式级联复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
流复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
同步复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
备份、恢复和数据完整性
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
存档模块 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
数据页上的校验和 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
在离线集群中启用/禁用页面校验和 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
通用 WAL 功能 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
双机热备 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
用于 WAL 整页写入的 lz4 和 Zstandard (zstd) 压缩 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
最小 wal 大小 / 最大 wal 大小 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
多个同步备用 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
命名还原点 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
并行 pg_dump | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
并行还原 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_basebackup 客户端解压 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
pg_basebackup 服务器端压缩 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
pg_basebackup 工具 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_receivewal (以前称为 pg_receivexlog) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
时间点恢复 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
恢复期间预取 WAL | 是的 | 是的 | 是的 | 不 | 不 | 不 |
remote_apply 模式 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
延时待机 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
验证备份完整性(pg_verifybackup) | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
热备用 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数据导入导出
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
从/到 STDIN/STDOUT 复制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
复制自...哪里 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
使用任意 SELECT 进行 COPY | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
CSV 支持 COPY | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
配置管理
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
修改系统 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
“整数”值的分数输入 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
包含 pg_hba.conf 和 pg_ident.conf 的指令 | 是的 | 是的 | 不 | 不 | 不 | 不 |
每个用户/数据库服务器配置设置 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_config 系统视图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_hba.conf 和 pg_ident.conf 中的正则表达式匹配 | 是的 | 是的 | 不 | 不 | 不 | 不 |
安全
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
SCRAM认证的通道绑定 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
客户端可以要求 SCRAM 通道绑定 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
客户端指定的身份验证要求 | 是的 | 是的 | 不 | 不 | 不 | 不 |
列级别权限 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
默认权限 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
授予/撤销所有表/序列/函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GSSAPI 客户端和服务器端加密 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
GSSAPI 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Kerberos 凭据委派 | 是的 | 是的 | 不 | 不 | 不 | 不 |
大对象访问控制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
LDAP 服务器发现 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
通过有效的客户端 SSL/TLS 证书进行多因素身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
本机 LDAP 身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
本机 RADIUS 身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
每个用户/数据库连接限制 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
预定义角色 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
设置配置参数的权限 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
角色 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
行级安全性 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SCRAM-SHA-256 身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
LDAP 身份验证的搜索+绑定模式操作 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
视图上的 security_barrier 选项 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
安全服务提供商接口 (SSPI) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
libpq 中的 SSL 证书验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SSL 客户端证书身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
通过 GSSAPI 进行 SSPI 身份验证 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
支持使用客户端操作系统信任的CA。 | 是的 | 是的 | 不 | 不 | 不 | 不 |
交易和可见性
真空与维护
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
插入的数据可以触发 autovacuum | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
集成的自动清理守护进程 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
页面冻结优化 | 是的 | 是的 | 不 | 不 | 不 | 不 |
索引的并行 VACUUM | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
并行 vacuumdb 作业 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
真空基数树记忆结构 | 是的 | 不 | 不 | 不 | 不 | 不 |
真空“紧急模式” | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
吸尘可见性地图 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
外部数据包装器
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
使用 postgres_fdw 进行证书认证 | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
外部数据包装器查询并行 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
外部数据包装器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
外部表 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
导入外部模式 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
导入外部表分区 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
在远程数据库上执行并行查询 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
postgres_fdw 并行提交 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
postgres_fdw 下推 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
PostgreSQL 外部数据包装器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
可写的外部数据包装器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
自定义函数、存储过程和触发器
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
修改表启用/禁用触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
修改表/启用复制触发器/规则 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
BEGIN ATOMIC 函数体 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
执行过程的 CALL 语法 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
列级触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SQL 存储过程的 CREATE PROCEDURE 语法 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
事件触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
聚合函数的 FILTER 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
聚合中的 ORDER BY 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
每个功能 GUC 设置 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
每个函数的统计信息 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
返回查询执行 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
退货表 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
语句级触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
语句级 TRUNCATE 触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
视图上的触发器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
可变参数函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
CREATE TRIGGER 的 WHEN 子句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
过程语言
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
pl/pgsql 中的 CASE | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
PL/pgSQL 的 CONTINUE 语句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
创造变革 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/perl 的 DO 语句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/pgsql 的 DO 语句 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
PL/pgSQL 中的 EXCEPTION 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
PL/pgSQL 中的 EXECUTE USING | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/pgsql 中的 FOREACH IN ARRAY | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/pgsql 和 PL/SQL 的 IN/OUT/INOUT 参数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
命名参数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
非超级用户语言创建 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
默认安装 pl/pgsql | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
多态函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Python 3 对 pl/python 的支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
合格函数参数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
RETURN QUERY 的查询并行性 | 是的 | 是的 | 是的 | 是的 | 不 | 不 |
在 pl/pgsql 中返回查询 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
函数的 ROWS 和 COST 规范 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/pgsql 的可滚动和可更新游标支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/pgsql 的 SQLERRM/SQLSTATE | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
PL/python 中的 Unicode 对象支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
用户定义的异常 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pl/perl 的验证函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
扩展
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
创建扩展..级联 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
扩展安装 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Trusted Extensions | 是的 | 是的 | 是的 | 是的 | 是的 | 不 |
国际化
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
列级排序规则支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数据库级别排序规则 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
集群/数据库的默认 ICU 排序规则 | 是的 | 是的 | 是的 | 不 | 不 | 不 |
EUC_JIS_2004/SHIFT_JIS_2004 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
ICU 排序规则 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
多字节编码支持,包括 UTF8 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
多语言支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
不确定排序规则 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Unicode 字符串文字和标识符 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Windows 上的 UTF8 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
客户端应用程序
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
基准测试 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_prewarm | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_rewind | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_standby | 过时的 | 过时的 | 过时的 | 过时的 | 是的 | 是的 |
pg_upgrade | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
1.1.1. pg_waldump | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
psql\绑定 | 是的 | 是的 | 不 | 不 | 不 | 不 |
psql \dconfig | 是的 | 是的 | 是的 | 不 | 不 | 不 |
版本感知 psql | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
附加模块(贡献)
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
管理包 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
身份验证延迟 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
自动解释 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
btree_gin | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
btree_gist | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
文本 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数据库链接 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
dblink 异步通知支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
文件_fdw | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
模糊字符串匹配 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
商店 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
数组 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
不是 (ISBN) | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
CUBE 的 KNN 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
长树 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
页面检查 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
密码检查 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_buffercache | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_freespacemap | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_stat_statements | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_stat_statements 改进 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
普格斯塔特 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
参数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_trgm 正则表达式索引 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
pg_walinspect | 是的 | 是的 | 是的 | 不 | 不 | 不 |
段 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
查询数据库 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
安全信息 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
表函数 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
中枢网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
无口音 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
uuid-ossp | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
网络
平台
17 | 16 | 15 | 14 | 十三 | 12 | |
---|---|---|---|---|---|---|
Microsoft Visual C++ 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
原生 Windows 端口 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
SuperH 硬件平台的自旋锁支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Linux 上的 Sun Studio 编译器 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
Windows x64 支持 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2023-09-08 Eclipse 安装Gradle插件
2022-09-08 解决视频OCX在调用云台指令使用鼠标事件来发起和结束指令动作无效