PostgreSQL 更贴近 SQL 标准,复杂查询、扩展、JSON、并发控制和数据完整性更强;MySQL 部署简单、生态广、读多写少的 Web 业务经验丰富。复杂业务和强一致性优先 PostgreSQL,简单业务和既有 MySQL 生态继续 MySQL。
| 维度 | PostgreSQL | MySQL |
|---|---|---|
| SQL 标准 | 支持度高 | 有较多方言和限制 |
| 事务/MVCC | 成熟,DDL 事务化 | InnoDB 事务成熟,DDL 行为不同 |
| 扩展 | 扩展生态强(PostGIS、pgvector 等) | 插件生态不同 |
| JSON | JSONB 索引和查询强 | JSON 支持较晚,能力有限 |
| 复制 | 流复制、逻辑复制 | 主从、组复制 |
| 默认行为 | 标识符折叠小写、严格类型 | 大小写/类型更宽松 |
| 运维 | 参数和扩展多 | 上手简单,生态广 |
psql -h host -U user -d db -c 'SELECT version();'
mysql -h host -u user -p -e 'SELECT version();'
LIMIT、日期函数、大小写和引号行为都不同。pg_dump/pg_restore vs mysqldump/mysqlpump。psql / pg_dump — PostgreSQLmysql / mysqldump — MySQLpg_ctl / mysqld — 服务端