目录

文章目录

诞生

PostgreSQL 是一个纯粹的、由社区驱动的开源软件,被称为世界上功能最强大的对象关系型数据库管理系统(ORDBMS)。自从 MySQL 被 Oracle 收购以后,PostgreSQL 逐渐成为了开源关系型数据库的首选。

PostgreSQL 起源于加州大学伯克利分校计算机系,最初设想于 1986 年,当时叫做 Berkley Postgres Project。1995 年,开发者 Andrew Yu 和 Jolly Chen 在 Postgres 中添加了一个 SQL 翻译程序,并在开源社区发布,称为 Postgres95。1996 年,开发者再次对 Postgres95 做了较大的改动,并将其作为 PostgresSQL 6.0 版正式发布。

  • Github:https://github.com/postgres/
  • 官方网站:https://www.postgresql.org/
  • 中文社区:http://www.postgres.cn/index.php

特性

数据类型

  • 基本类型:Integer、Numeric、String、Boolean
  • 结构类型:Date/Time、Array、Range、UUID
  • 文档类型:JSON/JSONB、XML、Key-value(Hstore)
  • 几何类型:Point、Line、Circle、Polygon
  • 自定义类型:Composite、Custom Types

完整性约束

  • 数据唯一性,不为空
  • 主键
  • 外键
  • 排除约束
  • 显式锁定,咨询锁定

并发性、性能

  • 索引
  • 高级索引
  • 复杂的查询计划器/优化器
  • 多版本并发控制(MVCC)
  • 读取查询的并行化和构建 B 树索引
  • 表分区
  • SQL 标准中定义的所有事物隔离级别,包括 Serializable
  • 即时表达式汇编(JIT)

可靠性

  • 预写日志(WAL)
  • 数据复制(异步,同步,逻辑)
  • 时间点恢复
  • 主动备用
  • 表空间
  • 支持多种集群架构

可扩展性

  • 支持多种语言来写存储过程和程序,例如:PL/PGSQL、Perl、Python 等。
  • 外部数据包装器:使用标准 SQL 接口连接到其他数据库或流
  • 许多提供附加功能的扩展,包括PostGIS

安全性

  • 身份验证方式:GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等。
  • 强大的访问控制系统
  • 列和行级安全性

国际化,文本搜索

  • 支持国际字符集
  • 全文检索
09-03 03:50