PostgreSQL是世界上最先进的开源数据库,也是第四大最受欢迎的数据库。在20多年的开发中,PostgreSQL 由一个组织良好,高度原则性和经验丰富的开源社区管理。它是一个面向对象的数据库,完全符合 ACID 标准且具有高度可扩展性,使社区能够随着工作负载需求的发展添加新的特性和功能。
由于其可扩展性,PostgreSQL 提供了多种内置的 PostgreSQL 数据类型,包括 JSON,XML,HSTORE(键值),Geo-spatial(PostGIS),IPv6;灵活的索引,具有复合索引,GiST,SP-GiST,GIN;全文搜索,在线索引重组;后台工作线程,例如称为 Mongress 的托管进程,它接受 MongoDB 查询以与 Postgres 数据接口;一个 contrib 模块接口:pgcrypto(数据加密),pg_trgm(查找“类似”数据),HSTORE(无模式数据);和广泛的 SQL 支持。
PostgreSQL 可以在所有主要的操作系统上运行,包括 Linux,UNIX(AIX,BSD,HP-UX,macOS,Solaris)和Windows。它提供以下编程语言:PL / pgSQL,PL / SQL,Java,Python,Ruby,C / C +,PHP,Perl,Tcl,Scheme。Postgres 还提供以下库接口:OCI、libpq、JDBC、ODBC、.net、Perl、Python、Ruby、C/C+、PHP、Lisp、Scheme 和 Qt。
PostgreSQL 数据库提供企业级数据库解决方案,并被许多行业的各种企业使用,包括金融服务,信息技术,政府以及媒体和通信。
什么是PostgreSQL
PostgreSQL是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多可安全存储和扩展最复杂数据工作负载的特性。 PostgreSQL 的起源可以追溯到 1986 年,作为加州大学伯克利分校 POSTGRES 项目的一部分,并在核心平台上进行了 30 多年的积极开发。
PostgreSQL 因其久经考验的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后的开源社区致力于始终如一地提供高性能和创新解决方案而赢得了良好的声誉。 PostgreSQL 可在所有主要操作系统上运行,自 2001 年以来一直符合 ACID,并具有强大的附加组件,例如流行的 PostGIS 地理空间数据库扩展器。毫不奇怪,PostgreSQL 已成为许多人和组织选择的开源关系数据库。
开始使用 PostgreSQL 从未如此简单 – 选择一个您想要构建的项目,让 PostgreSQL 安全可靠地存储您的数据。
为什么使用PostgreSQL
PostgreSQL 具有许多功能,旨在帮助开发人员构建应用程序,帮助管理员保护数据完整性和构建容错环境,并帮助您管理数据,无论数据集有多大或多小。除了免费和开源之外,PostgreSQL 还具有高度可扩展性。例如,您可以定义自己的数据类型、构建自定义函数,甚至使用不同的编程语言编写代码,而无需重新编译数据库!
PostgreSQL 试图符合 SQL 标准,这样的一致性不会与传统特性相矛盾或可能导致糟糕的架构决策。支持 SQL 标准所需的许多功能,但有时语法或功能略有不同。随着时间的推移,可以预期进一步朝着一致性迈进。从 2021 年 9 月发布的第 14 版开始,PostgreSQL 至少符合 SQL:2016 Core 一致性的 179 个强制性特性中的 170 个。在撰写本文时,没有任何关系数据库完全符合该标准。
以下是 PostgreSQL 中各种功能的详尽列表,每个主要版本中都会添加更多功能:
数据类型
基元:整数、数字、字符串、布尔值
结构化:日期/时间、数组、范围/多范围、UUID
文档:JSON/JSONB、XML、键值(Hstore)
几何:点、线、圆、多边形
自定义:复合,自定义类型
数据完整性
唯一,不为空
主密钥
外密钥
排除约束
显式锁,建议锁
并发性,性能
索引:B-tree、多列、表达式、部分
高级索引:GiST、SP-Gist、KNN Gist、GIN、BRIN、覆盖索引、布隆过滤器
复杂的查询计划器/优化器、仅索引扫描、多列统计信息
事务、嵌套事务(通过保存点)
多版本并发控制 (MVCC)
读取查询的并行化和构建 B-tree 索引
表分区
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 的数据。
此外,该应用程序还具有直观的功能,即 Vacuum、Analyze 和 Reindex,可帮助您在几秒钟内维护数据库对象。第一个函数扫描数据库或表中不再使用的行。如果一行被更新或删除,之前的内容不会被替换,而是被标记为无效。第二个功能名为分析,调查每个选定的数据库或表包含的所有可用值。重新索引功能可帮助您快速重建索引,以防它们被不寻常的插入数据模式修改。
总的来说,PostgreSQL 被证明是一个稳定的解决方案,可以帮助 DBA 快速管理多个数据库,并且由于它支持包括 Perl、Java、Ruby、C/C++ 和 Python 在内的各种编程语言,它能够运行不同的存储过程和 SQL脚本。
特别说明
提示:该资源为网盘资源,请提前安装好百度网盘电脑版