PostgreSQL是一个功能强大的开源对象关系型数据库系统,最早(始于1986年)是加州大学伯克利分校POSTGRES项目的一部分,至今经历了30多年并且还在持续更新迭代,最新的版本是Postgre 15。
PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。
同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。
更好的许可:PostgreSQL采用类似MIT的许可协议,允许开发人员做任何事情,包括在开源或闭源产品中商用
更好的数据一致性:PostgreSQL会在数据插入和更新之前进行严格的验证,确保数据合法才会进行相应的操作
更好的扩展性:PostgreSQL支持自定义数据类型, 支持多种语言编写自定义函数,包括C/C++、Java、.Net、Perl、 Python、Ruby、Tcl、ODBC等。
PostgreSQL 是一个对象关系型数据库,而 MySQL 是一个纯关系型数据库。
对象关系型数据库意味着 Postgres 包含表继承和函数重载等功能,这些功能对于某些应用程序来说可能十分重要。
● PostgreSQL 比MySQL更严格地遵守 SQL 标准。
● PostgreSQL 比 MySQL 更好地处理并发性:
Postgres 实现没有读锁的多版本并发控制 (MVCC)
Postgres 支持可以使用多个 CPU/内核的并行查询计划
Postgres 可以以非阻塞方式创建索引(通过 CREATE INDEX CONCURRENTLY 语法),它可以创建部分索引
● PostgreSQL 比MySQL具有更好的数据一致性
对比最新版本的MySQL 和 PostgreSQL,PostgreSQL的性能实际上要更强大一些, 但之所以没有MySQL流行主要还是历史原因,
● MySQL使用起来更简单,在Windows平台上安装比较容易。早期的PostgreSQL没有提供Windows平台的版本,需要自己编译
● 学习MySQL更加容易, 开箱即用,以root用户连接非常简单, 但是配置PostgreSQL、创建用户等等操作比MySQL要复杂
● MySQL始终有公司背书,创建了社区和配套产品的生态系统,无论是在线文档,还是论坛都比Postgre SQL丰富
国内互联网公司主要在使用的数据库产品还是以MySQL为主,想系统学习MySQL的小伙伴可以跟着下面的视频教程进行学。
MySQL知识精讲+实战案例
文章评论