跳转到内容

PostgreSQL/功能

100% developed
来自维基教科书,开放世界中的开放书籍


杰出的目标

[编辑 | 编辑源代码]

最早的 概念文件 - 出版于 1986 年 - 定义了一个目标,该目标将 PostgreSQL 与其他许多系统区分开来,直到今天:“为数据类型、运算符和访问方法提供用户可扩展性”。这个目标已经实现。它不仅对用户可用,即使内部实现也利用这些接口来创建系统组件。

PostgreSQL 实现了一个客户端/服务器模型。每个客户端进程连接到服务器站点上的一个后端进程。这样的后端进程是实例的一部分,一个由许多进程组成的组,它们紧密协作并处理数据访问。PostgreSQL 不会在后端进程或其他任何地方使用线程。

  • 身份验证方法:SCRAM-SHA-256、GSSAPI、SSPI、LDAP、RADIUS、证书、PAM
  • 角色(用户和组)授权访问数据和执行函数

可靠性

[编辑 | 编辑源代码]
  • 事务,具有完整的 ACID 支持和不同的隔离级别
  • 保存点(子事务)
  • 多版本并发控制 (MVCC)
  • 时间点恢复
  • 表和索引的分区
  • 同步、异步和逻辑复制
  • 双向复制
  • 发布/订阅机制
  • 在多个 CPU 上并行执行单个查询

应用程序方面

[编辑 | 编辑源代码]
  • 丰富的预定义数据类型,例如 JSON
  • 支持数组
  • 复合类型(类似于某些编程语言中的记录),通过关键字构造行
  • 检查约束
  • 使用外键的引用完整性
  • 表继承
  • 视图、物化视图、可更新视图

可扩展性

[编辑 | 编辑源代码]
  • 用户定义的数据类型、运算符和索引访问方法
  • 用户定义的函数、过程、触发器和过程语言
  • 创建扩展接口以创建用户定义的包。一些公开可用的示例
    • 外部数据包装器用于其他 - PostgreSQL 或非 PostgreSQL - 数据库或文件系统
    • PostGIS:用于空间和地理对象的扩展
    • hstore:键值存储

SQL 支持

[编辑 | 编辑源代码]
  • 高度符合 SQL 标准:177 个功能中的 170 个
  • 外连接、联合、交集、排除
  • 分组依据、分组集、立方、汇总
  • 公用表表达式 (CTE)
  • 递归查询、图查询
  • 窗口函数、分析函数



华夏公益教科书