关于
本页导航
关于PostgreSQL

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

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

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

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

PostgreSQL尝试符合SQL标准,在这种标准下,该标准不会与传统功能相抵触,也可能导致糟糕的架构决策。支持SQL标准所需的许多功能,尽管有时语法或功能略有不同。随着时间的流逝,有望进一步实现一致性。从2019年10月的12版开始,PostgreSQL符合179种SQL:2016 Core一致性强制性功能中的至少160种。在撰写本文时,没有关系数据库完全符合此标准。

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

数据类型
基本类型:整数,数字,字符串,布尔
结构化:日期/时间,数组,范围,UUID
文件:JSON / JSONB,XML,键值(Hstore)
几何:点,线,圆,多边形
定制:复合,定制类型
数据的完整性
唯一,非空
主键
外键
排除约束
显式锁,咨询锁
并发性能
索引:B树,多列,表达式,部分
高级索引:GiST,SP-Gist,KNN Gist,GIN,BRIN,覆盖索引,Bloom过滤器
复杂的查询计划器/优化器,仅索引扫描,多列统计
事务,嵌套事务(通过保存点)
多版本并发控制(MVCC)
读取查询的并行化和建立B树索引
表分区
SQL标准中定义的所有事务隔离级别,包括可序列化的
即时(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。

自由:PostgreSQL是完全开放的,其背后没有任何公司实体,这使其成为一个真正的开放项目。
规范: 起源于伯克利大学,正宗学院派,国际社区发展健康规范
友好: 开放的许可使它易于根据需要进行部署、嵌入和修改,可自由选择产品开源或闭源。
易扩展: 代码规范、注释详细、可读性强,便于系统开发人员基于PG优化、功能扩展。
多模: 多模开发,使用于多种场景,譬如:地理空间、文档、KV、时序、流式数据。
30+
30多年的发展
500+
500多个贡献者
47,500+
47500多项承诺
50+
50多个本地用户组
1,250,000+
1250000多行C
600+
600多个活动
Millions
数百万快乐用户
∞ 存储的数据