我已经阅读了其他帖子,在搜索时,对这个问题的答案。
我使用的是PostgreSQL 9.1,并使用CREATE EXTENSION citext
创建了扩展'citext',但是当我尝试创建任何类型为'citext‘的列时,它抛出了这个错误
错误:类型"citext“不存在
我研究过,但没有找到任何具体的答案?知道为什么吗?
发布于 2013-04-13 05:46:16
好吧,我想明白了。我有几个数据库,必须为每个数据库运行CREATE EXTENSION citext
才能在该数据库中安装扩展。您必须在psql提示符下执行以下操作:
psql =# \c db_1
CREATE EXTENSION citext;
psql =# \c db_2
CREATE EXTENSION citext;
希望它能帮助其他人。谢谢。
发布于 2017-08-31 21:40:11
@NullException是正确的,需要在每个数据库中创建扩展。如果您想要自动创建一个扩展,您可以在template1
数据库中创建它,该数据库(至少在默认情况下)是用作"create database“的模型的数据库,因此,如果有适当的权限,在psql中:
\c template1
create extension citext;
然后,默认情况下,新数据库将包含citext。
发布于 2019-09-11 23:32:58
要使用citext
,请在第一次CreateModel
迁移操作之前使用CITextExtension
操作在PostgreSQL中设置citext
扩展。
https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/fields/#citext-fields
from django.contrib.postgres.operations import CITextExtension
class Migration(migrations.Migration):
...
operations = [
CITextExtension(),
...
]
类似于作为https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/operations/#create-postgresql-extensions的HStoreField
https://stackoverflow.com/questions/15981197
复制相似问题