华为云计算 云知识 MySQL与PostgreSQL的对比
MySQL与PostgreSQL的对比

   

MySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL,如WordPress、Drupal等大多数php开源程序。

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL是完全由社区驱动的开源项目。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。

MySQL是C/C++混合开发,PostgreSQL则是完全的C语言开发,这是在技术方面的差异

1.稳定性

PostgreSQL稳定性非常强,InnoDB即使是在断电这种场景下,PostgreSQL也是相当稳定的,这个MySQL用户应该是深有体会的,很多估计都经历过服务器级别的数据丢失。

2.储引擎

MySQL是单存储引擎,PostgreSQL是多存储引擎,包括InnoDB、MyISAM等。

3.操作

删除临时表的时候,PostgreSQL语句没有TEMP、TEMPORARY关键字,DROP TABLE通过数据库连接的排列被删除。MySQL支持TEMP、TEMPORARY关键字,DROP TABLE语句只允许删除临时表,要手动删除。PostgreSQL支持CASCADE选择删除表的依赖对象,PostgreSQL的TRUNCATE TABLE支持功能更多。MySQL TRUNCATE TABLE不支持CASCADE食物安全,数据删除之后就没办法回滚了。

4.数据类型

PostgreSQL支持多种高级数据类型,比如array,用户也可以定义类型,MySQL只支持标准类型。PostgreSQL支持布尔型,支持IP地址数据类型,支持常量和函数调用。PostgreSQL支持JSON和其他NoSQL功能,本机支持XML,允许索引JSON数据,MySQL支持JSON,不过不支持其他的NoSQL功能。PostgreSQL的对象统计功能也很强,这一点MySQL也有差距。

5.线程

PostgreSQL是多进程、MySQL是多线程。PostgreSQL支持大多数命令类型上触发的触发器。MySQL是异步复制,PostgreSQL支持同步、异步、半同步复制。PostgreSQL要求所有数据必须完全满足需求,只要出一个错误整个数据入库过程都要失败,不过MySQL没这样的问题。


上一篇:查询租户配额ListQuotas 下一篇:华为云MRS服务应用场景

云数据库 RDS for PostgreSQL 

 

华为云数据库 RDS for PostgreSQL是一种典型的开源关系型数据库,在保证数据可靠性和完整性方面表现出色,支持互联网电商、地理位置应用系统、金融保险系统、复杂数据对象处理等场景