原作者 Mark Smallcombe
原文 PostgreSQL vs MySQL: The Critical Differences | Integrate.io

  • 数据类型支持:PG支持更多的类型(数组、JSON、哈希表、地理数据)
  • SQL 规范性
    • PG 对高阶的SQL标准有更好的遵循
    • MySQL 过去有一些与严格的SQL标准的偏差,不过在最新的版本中提升了规范性,并且在继续弥合这种偏差
  • 性能:
    • MySQL 已被证明适合读取密集型工作,这使得它更适合web应用和网页
    • PG 的架构更适合复杂的查询和分析工作,适合在需要高级SQL特性的场景下工作
  • 复制和高可用:
    • MySQL 提供多种复制方法,包括主从复制,但是它的一些聚类解决方案可能需要第三方工具。
    • PG 提供内置的同步复制,更容易实现高可用和数据冗余
  • 全文搜索:
    • PG 包含了开箱即用的鲁棒的全文搜索能力,允许复杂的文本搜索操作
    • MySQL 也支持全文搜素,但需要额外的配置以及外部引擎例如InnoDB或者MyISAM
  • 外键约束和触发器:
    • PG有对外键约束和触发器的高级支持,使得它是有复杂的数据完整性和业务规则的程序的更好选择
    • MySQL 也有外键约束和触发器,但是过往并不严格执行这些
  • 许可证:
    • PG 使用 PostgreSQL License
    • MySQL 使用 GPL,但是现在也提供商业许可