官网:

​https://www.postgresql.org/+​

PostgreSQL_数据

什么是PostgreSQL?

PostgreSQL 是一个强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL 的起源可以追溯到 1986 年作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上已经有 30 多年的积极发展。

PostgreSQL 因其经过验证的架构、可靠性、数据完整性、强大的功能集、可扩展性以及该软件背后的开源社区致力于始终如一地提供高性能和创新的解决方案而赢得了良好的声誉。PostgreSQL 在所有主要操作系统上运行,自 2001 年以来一直符合 ACID,并且具有强大的附加组件,例如流行的PostGIS地理空间数据库扩展程序。PostgreSQL 已成为许多人和组织的首选开源关系数据库也就不足为奇了。

开始使用 PostgreSQL 从未如此简单 - 选择您想要构建的项目,并让 PostgreSQL 安全可靠地存储您的数据。

为什么要使用 PostgreSQL?

PostgreSQL 具有许多旨在帮助开发人员构建应用程序、管理员保护数据完整性和构建容错环境的功能,并帮助您管理数据,无论数据集有多大。除了免费和开源之外,PostgreSQL 还具有高度的可扩展性。例如,您可以定义自己的数据类型、构建自定义函数,甚至无需重新编译数据库即可使用不同的编程语言编写代码!

PostgreSQL 试图符合SQL 标准,这种符合性不会与传统特性相矛盾,也不会导致糟糕的架构决策。支持 SQL 标准所需的许多功能,但有时语法或功能略有不同。随着时间的推移,可以预期会进一步朝着一致性迈进。截至 2020 年 9 月发布的第 13 版,PostgreSQL 至少符合 SQL:2016 Core 一致性的 179 个强制性功能中的 170 个。在撰写本文时,没有任何关系数据库完全符合该标准。

以下是 PostgreSQL 中各种功能的详尽列表,每个主要版本中都会添加更多功能:

数据类型

原语:整数、数字、字符串、布尔值

结构化:日期/时间、数组、范围、UUID

文档:JSON/JSONB、XML、Key-value (Hstore)

几何:点、线、圆、多边形

自定义:复合、自定义类型

数据的完整性

唯一,非空

主键

外键

排除约束

显式锁、咨询锁

并发、性能

索引:B 树、多列、表达式、部分

高级索引:GiST、SP-Gist、KNN Gist、GIN、BRIN、覆盖索引、布隆过滤器

复杂的查询规划器/优化器、仅索引扫描、多列统计

事务、嵌套事务(通过保存点)

多版本并发控制 (MVCC)

并行化读取查询和构建 B 树索引

表分区

SQL 标准中定义的所有事务隔离级别,包括 Serializable

表达式的即时 (JIT) 编译

可靠性、灾难恢复

预写日志 (WAL)

复制:异步、同步、逻辑

时间点恢复 (PITR),活动备用

表空间

安全

身份验证:GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等

强大的访问控制系统

列级和行级安全

使用证书和其他方法进行多因素身份验证

可扩展性

存储函数和过程

过程语言:PL/PGSQL、Perl、Python(等等)

SQL/JSON 路径表达式

外部数据包装器:使用标准 SQL 接口连接到其他数据库或流

可定制的表格存储界面

许多提供附加功能的扩展,包括 PostGIS

国际化,文本搜索

支持国际字符集,例如通过 ICU 排序规则

不区分大小写和不区分重音的排序规则

全文检索

您可以在 PostgreSQL文档中发现更多功能。此外,PostgreSQL 具有高度可扩展性:许多功能(例如索引)都定义了 API,因此您可以使用 PostgreSQL 进行构建以解决您的挑战。

PostgreSQL 已被证明在它可以管理的绝对数据量和它可以容纳的并发用户数量方面具有高度可扩展性。生产环境中有活跃的 PostgreSQL 集群,可以管理数 TB 的数据,以及管理 PB 的专用系统。