为啥 Django 更喜欢 Postgresql? [复制]

Posted

技术标签:

【中文标题】为啥 Django 更喜欢 Postgresql? [复制]【英文标题】:Why Django prefers Postgresql? [duplicate]为什么 Django 更喜欢 Postgresql? [复制] 【发布时间】:2015-12-25 14:52:39 【问题描述】:

我在这里阅读了它的官方文档:

https://docs.djangoproject.com/en/1.8/topics/migrations/

PostgreSQL

就以下方面而言,PostgreSQL 是这里所有数据库中功能最强大的 模式支持;唯一需要注意的是添加默认列 值将导致表的完全重写,时间成比例 到它的大小。

因此,建议您始终使用 null=True,这样会立即添加。

但它没有解释什么是“模式支持”。为什么 Postgresql 在 Django 上比其他(mysql 等)更强大?

【问题讨论】:

有一段来自 PyCon 2014 的视频 有一段来自 PyCon 2014 youtube.com/watch?v=a-_GAHfpk1Y 的视频,解释了数据库之间迁移的差异 【参考方案1】:

此参考来自迁移文档。它指的是 PostgreSQL 是 Django 中唯一支持事务 DDL 的数据库后端。也就是说 Postgres 可以回滚 CREATE TABLEALTER TABLE 语句,而 MySQL、Oracle 和 SQLite 不能。

【讨论】:

以上是关于为啥 Django 更喜欢 Postgresql? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

当我将 PostgreSQL 作为 Django 的数据库时,为啥要使用 Redis? [关闭]

为啥通过 django QuerySet 进行查询比在 Django 中使用游标慢得多?

将 Django 数据库后端从 MySql 更改为 PostgreSQL

将 Django 开发数据库从默认 SQLite 更改为 PostgreSQL

Django 定义过程

Django Blob 模型字段