Postgresql入门
1.Postgresql数据库简介
PostgresQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSql可以运行在所有主流操作系统上,包括Linux、Unix(AIX、BSD、HP-UX、SGIIRIX、MacOs X、Solaris和Tru64)和Windows。
作为一种企业级数据库,PostgresQL以它所具有的各种高级功能而自豪,像多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等。它支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作。
截止2024年三月份,postgresql数据库得分排名第四,且仍出现上升去世
来源:https://db-engines.com/en/ranking
2.postgresql特性
极限值:
最大单个数据库大小: 不限
最大数据单表大小:32 TB
单条记录最大:1.6 TB
单字段最大允许:1 GB
单表允许最大记录数:不限
单表最大字段数:250-1600(取决于字段类型)
单表最大索引数:不限
3.postgresql兼容性
- PostgreSQL对SQL标准高度兼容,它实现的功能完全遵守于ANSI-SQL:2008标准。目前完全支持子查询(包括在FROM中的子查询)、授权读取和可序列化的事务隔离级别。同时PostgreSQL也具有完整的关系数据库系统的目录功能,它支持单数据库的多模式功能,每一个目录可通过SQL标准中定义的字典信息模式进行访问。
- Data集成性功能包括(复合)主键、含有严格约束或级联更新和删除功能的外键、录入检查约束、唯一性约束和非空约束。
- PostgreSQL也具有很多扩展模块和更高级的功能。其中有为方便使用的通过序列实现的自增字段、允许返回部分记录集的LIMIT/OFFSET选项,也支持复合、唯一、部分和函数式索引,索引并支持B-Tree、R-Tree、Hash或GiST存储方式。
4.postgresql高度可定制性
PostgreSQL的存储过程开发可以使用众多的程序语言,包括Java、Perl、Python、Ruby、Tc1、C/C++和自带的PL/pgSQL,其中的PL/pgSQL与Oracle的PL/SQL很相似,内置了数百个函数,功能从基本的算术计算和字符串处理到加密逻辑计算并与0racle有高度兼容性。
由于有很多的存储过程语言可以使用,这样也产生了很多的库接口,这样允许各种编译型或是解释型的语言在PostgreSQL进行使用,包括Java(JDBC)、0DBC、Perl、Python、Ruby、C、C++、PHP、Lisp、Scheme和Qt等。
最重要的一点,PostgreSQL的源代码可以自由获取,它的授权是在非常自由的开源授权下,这种授权允许用户在各种开源或是闭源项目中使用、修改和发布PostgreSQL的源代码。用户对源代码的可以按用户意愿进行任何修改、改进。
5.PostgreSQL部分历史大版本发布时间
- post-Ingres :1985年,成立该项目
- Postgres V1 - V4:1988年至1993年
- Postgres95 :1995年,重写了SQL解释器
- PostgreSQL 6.x:1996年,正式更名,表示Postgres + SQL,发布第一个开源版本
- PostgreSQL 7.1 :加入了预写式日志功能;不再限制文本类型的数据段长度
- PostgreSQL 8.x :对Windows平台支持;支持事务保存点、表空间、即时恢复等功能;并开始支持Perl服务器端编程语言
- PostgreSQL 9.0:加入流复制、Hot Standby功能
- PostgreSQL 9.1:加入同步流复制
- PostgreSQL 9.2:加入级联复制功能
- PostgreSQL 9.3:加入物化视图功能;支持事件触发;可写外部表
- PostgreSQL 9.4:逻辑复制 btre索引
- PostgreSQL 9.5:加入行级别安全功能,TABLESAMPLE 数据取样功能
- PostgreSQL 9.6:加入并行查询功能;多standby节点数据同步
- PostgreSQL 10: 表分区、提高并行查询性能
- PostgreSQL 11: 并行功能增强、分区增强、存储过程支持嵌入事务
- PostgreSQL 12: 在线重建索引、索引优化、流复制配置简化
Version | Current minor | Supported | First Release | Final Release |
16 | 16.2 | Yes | September 14, 2023 | November 9, 2028 |
15 | 15.6 | Yes | October 13, 2022 | November 11, 2027 |
14 | 14.11 | Yes | September 30, 2021 | November 12, 2026 |
13 | 13.14 | Yes | September 24, 2020 | November 13, 2025 |
12 | 12.18 | Yes | October 3, 2019 | November 14, 2024 |
11 | 11.22 | No | October 18, 2018 | November 9, 2023 |
10 | 10.23 | No | October 5, 2017 | November 10, 2022 |
9.0 | 9.0.23 | No | September 20, 2010 | October 8, 2015 |
8.0 | 8.0.26 | No | January 19, 2005 | October 1, 2010 |
7.0 | 7.0.3 | No | May 8, 2000 | May 8, 2005 |
6.5 | 6.5.3 | No | June 9, 1999 | June 9, 2004 |
6.0 | 6.0.0 | No | March 1, 1998 | March 1, 2003 |
6.postgresql学习资源
- 官网:https://www.postgresql.org/
- postgresql中文:http://www.postgres.cn/v2/home
- 墨天轮社区:https://www.modb.pro/
7.引用
- PostgreSQL主要特性及发展里程碑事件
- postgresql入门到精通教程
https://www.bilibili.com/video/BV1bM411a7Fm