本篇旨在基础铺路,与大家共享
定义:
1.PostgreSQL的是一个功能强大的开源对象关系数据库系统,它使用并扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能.PostgreSQL的起源可以追溯到1986年年年,作为加州大学伯克利分校POSTGRES项目的一部分,并在核心平台上进行了30多年的积极开发。
2.PostgreSQL的的凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案.PostgreSQL在所有主要操作系统上运行,自2001年以来一直是符合ACID标准的,并且具有强大的附加功能,例如流行的PostGIS中的地理空间数据库扩展器。毫无疑问,PostgreSQL的的已经成为许多人和组织的首选开源关系数据库。
优势
PostgreSQL的提供了许多功能,旨在帮助开发人员构建应用程序,管理员保护数据完整性并构建容错环境,并帮助您管理数据,无论数据集有多大或多小。除了免费和开源之外,PostgQL高度可扩展性。例如,您可以定义自己的数据类型,构建自定义函数,甚至可以编写来自不同编程语言的代码,而无需重新编译数据库!
PostgreSQL的的试图符合SQL标准,这种一致性不会与传统功能相矛盾,或者可能导致糟糕的架构决策。支持SQL标准所需的许多功能,但有时语法或功能略有不同。随着时间的推移,...可以预期进一步向一致性迈进从2017年10月发布的版本10开始时,PostgreSQL符合SQL的17个强制性功能中的至少160个:2011核心一致性,在撰写本文时,没有任何关系数据库满足此标准的完全符合性。
功能
- 数据类型
基元:整数,数字,字符串,布尔值
结构化:日期/时间,数组,范围,UUID
文档:JSON / JSONB,XML,键值(Hstore)
几何:点,线,圆,多边形
自定义:复合,自定义类型 - 数据的完整性
独一无二,不是空的
主键
外键
排除约束
显式锁定,咨询锁定 - 并发性,性能
索引:乙树,多列,表达式,部分
高级索引:GiST,SP-Gist,KNN Gist,GIN,BRIN,Bloom过滤器
复杂的查询计划器/优化器,仅索引扫描,多列统计
交易,嵌套交易(通过保存点)
多版本并发控制(MVCC)
读取查询的并行化
表分区
SQL标准中定义的所有事务隔离级别,包括序列化 - 可靠性,灾难恢复
预写日志(WAL)
复制:异步,同步,逻辑
时间点恢复(PITR),主动备用
表空间 - 安全
身份验证:GSSAPI,SSPI,LDAP,SCRAM-SHA-256,证书等
强大的访问控制系统
列和行级安全性 - 可扩展性
存储过程
程序语言:PL / PGSQL,Perl,Python(以及更多)
外部数据包装器:使用标准SQL接口连接到其他数据库或流
许多提供附加功能的扩展,包括了PostGIS - 国际化,文本搜索
支持国际字符集,例如通过ICU校对
全文搜索