
软件介绍
Postgresql数据库软件给你带来更方便的数据库管理。能够给网站的数据库提供更加安全的保护,如果你需要对你的数据库内容进行改写,使用它也同样可以进行内容的编辑。本软件可以支持很多的SQL标准,不会出现代码冲突问题,兼容性更加的良好。
软件特色
1、存储设备管理子模块:
数据库记录是存储在存储介质上的,存储设备管理子模块将屏蔽不同物理存储设备(块设备,流设备、接口函数的差异,向上层缓冲区管理子模块提供统一的访问接口函数。
2、缓冲区管理子模块:
管理postgresql的缓冲区,包括本地缓冲区和共享缓冲区。
3、页面管理子模块:
对postgresql缓冲区页面的组织结构进行定义以及提供页面操作的方法。
4、文件管理子模块:
一般的操作系统对一个进程允许打开的文件数是有限制的,而postgresql服务器有些时候需要打开的文件数是很多的,因此postgresql文件管理子模块自身为了突破这个瓶颈,封装了文件的读写操作,在这里建立了一个lru链表,通过一定的替换算法来对打开的文件进行管理,使得可以打开的文件数目不受操作系统平台的限制。
亮点优势函数:
通过函数,可以在数据库服务器端执行指令程序。
触发器:
触发器是由sql语句查询所触发的事件。如:一个insert语句可能触发一个检查数据完整性的触发器。触发器通常由insert或update语句触发。 多版本并发控制:postgresql使用多版本并发控制(mvcc,multiversion concurrency control、系统进行并发控制,该系统向每个用户提供了一个数据库的“快照”,用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。
索引:
用户可以自定义索引方法,或使用内置的b树,哈希表与gist索引。
规则:
规则(rule、允许一个查询能被重写,通常用来实现对视图(view、的操作,如插入(insert、、更新(update、、删除(delete、。
全文检索:通过 tsearch2 或 openfts,8.3版本中内嵌 tsearch2。
nosql:
json,jsonb,xml,hstore 原生支持,至 nosql 数据库的外部数据包装器。
数据类型:
包括文本、任意精度的数值数组、json 数据、枚举类型、xml 数据等。
数据仓库:
能平滑迁移至同属 postgresql 生态的 greenplum,deepgreen,hawk等,使用 fdw 进行etl。

主要功能
1、用户定义函数的扩展方面,postgresql可以更方便地使用udf(用户定义函数、进行扩展。
2、操作系统支持windows、linux、unix、mac os x、bsd。
3、维护者是postgresql global development group,首次发布于1989年6月。
4、表和视图方面,postgresql支持临时表,而物化视图,可以使用pl/pgsql、pl/perl、pl/python或其他过程语言的存储过程和触发器模拟。
5、从基本功能上来看,支持acid、关联完整性、数据库事务、unicode多国语言。
6、其他对象上,支持数据域,支持存储过程、触发器、函数、外部调用、游标7、数据表分区方面,支持4种分区,即范围、哈希、混合、列表。
8、从事务的支持度上看,对事务的支持与mysql相比,经历了更为彻底的测试。
9、索引方面,全面支持r-/r+tree索引、哈希索引、反向索引、部分索引、expression 索引、gist、gin(用来加速全文检索、,从8.3版本开始支持位图索引。
10、从存储过程上看,postgresql支持存储过程。因为存储过程的存在也避免了在网络上大量原始的sql语句的传输,这样的优势是显而易见的。
11、my isam表处理方式方面,mysql对于无事务的myisam表,采用表锁定,1个长时间运行的查询很可能会阻碍对表的更新,而postgresql不存在这样的问题。
用户测评postgresql提供了两种可选模式。一种模式保证如果操作系统或硬件崩溃,则数据将保存到磁盘中,这种模式通常比大多数商业数据库要慢,这是因为它使用了刷新(或同步、方法;另一种模式与第一种不同,它不提供数据保证,但它通常比商业数据库运行得快。遗憾的是,还没有一种折中的模式:既提供一定程度的数据安全性,又有较快的执行速度。今后的版本将会提供这种模式。
更新日志
保持了一贯以来的传统,即在各种规模负载下都可以提供较理想的性能表现。这个版本尤其是在有大量连接的场景下(不论这些连接是活动或是休闲状态、,大幅提高了事务的吞吐量。
gist索引在创建的过程中可以预排序,对快速创建索引或是减小索引大小都有好处。
在减少b树索引负载方面有了提高,包括对频繁更新的表索引减少了表膨胀的情况。
sp-gist索引 现在支持包含索引,让用户可以通过include选项来添加非搜索列至索引中。
软件官网
https://www.postgresql.org/
软件综述
PostgreSQL数据库软件是一款开源的对象关系型数据库管理系统 (ORDBMS),以其稳定性、可靠性和可扩展性著称。它广泛用于各种应用场景,从小型个人项目到大型企业级系统。
优点:
- 开源且免费: PostgreSQL 是开源软件,这意味着它可以免费使用和修改。这使得它成为个人、小企业和非营利组织的绝佳选择,他们可能没有预算购买商业数据库软件。
- 稳定可靠: PostgreSQL 以其稳定性和可靠性而著称。它经过多年的开发和测试,并在许多生产环境中得到证明。
- 可扩展性强: PostgreSQL 可以轻松扩展到处理大量数据和并发用户。它支持分区、复制和负载平衡等技术,可以满足不断增长的需求。
- 功能丰富: PostgreSQL 提供了丰富的功能,包括支持各种数据类型、索引、视图、触发器、存储过程和函数等。它还支持多种编程语言,包括 SQL、PL/pgSQL、Python 和 Perl 等。
- 社区支持: PostgreSQL拥有一个庞大且活跃的社区,为用户提供支持和帮助。社区成员包括数据库专家、开发人员和用户,他们通过在线论坛、邮件列表和会议等方式相互交流。
缺点:
- 学习曲线陡峭: PostgreSQL 的学习曲线相对较陡峭,特别是对于初学者来说。它需要花费时间和精力来学习它的语法、特性和功能。
- 缺乏某些高级特性: PostgreSQL 缺乏一些高级特性,例如图形用户界面 (GUI)、内置报表工具和数据挖掘功能等。这些特性通常需要使用第三方工具或插件来实现。
- 文档不够完善: PostgreSQL 的文档虽然非常丰富,但有时不够完善或不够清晰。这可能会给用户在学习和使用 PostgreSQL 时造成一些困难。
总的来说,PostgreSQL 是一款功能强大、稳定可靠且可扩展的数据库软件。它适用于各种应用场景,从小型个人项目到大型企业级系统。虽然它的学习曲线相对陡峭,但社区支持和丰富的文档可以帮助用户快速入门并解决遇到的问题。