django.db.utils.ProgrammingError:类型“int4range”不存在

Posted

技术标签:

【中文标题】django.db.utils.ProgrammingError:类型“int4range”不存在【英文标题】:django.db.utils.ProgrammingError: type "int4range" does not exist 【发布时间】:2016-03-09 13:57:44 【问题描述】:

第一次使用 PostgreSQL 特定的数据库字段,更具体地说是IntegerRangeField。在 Debian 虚拟机上使用 Django 1.8.7、PostgreSQL 9.1.13、Psycopg2 2.6.1 和 Python 2.7.3。运行将IntegerRangeField 添加到模型的迁移会引发:

django.db.utils.ProgrammingError: type "int4range" does not exist

我是否必须在 PostgreSQL 中安装任何模块或扩展才能使用范围字段? (我知道有一个扩展必须加载才能使用HStoreField

我错过了什么吗?

【问题讨论】:

【参考方案1】:

Range data types 在 PostgreSQL 9.2 中添加。您使用的是 9.1.13。

【讨论】:

谢谢,这里有一些提示可以让所需的 PostgreSQL 在 Debian wheezy pontikis.net/blog/postgresql-9-debian-7-wheezy 上工作【参考方案2】:

postgresql 中的范围字段从 9.2 版本开始可用(如 here 所述,它们是在 9.2 中引入的),因此您不能在 9.1.13 上使用它们,因为它们不存在。

【讨论】:

以上是关于django.db.utils.ProgrammingError:类型“int4range”不存在的主要内容,如果未能解决你的问题,请参考以下文章