Postgresql 9.1: ОШИБКА: тип citext не существует

Я пытаюсь выполнить следующий запрос через утилиту PgAdmin.

CREATE TABLE svcr."EventLogs" ("eventId" BIGINT NOT NULL, 
"eventTime" TIMESTAMP WITH TIME ZONE NOT NULL, "userid" CITEXT, 
"realmid" CITEXT NOT NULL, "onUserid" CITEXT, "description" TEXT, 
CONSTRAINT eventlogs_pkey PRIMARY KEY ("eventId"));

И я получаю следующую ошибку -

ERROR: type "citext" does not exist
SQL state: 42704
Character: 120

Однако следующий запрос работает нормально -

CREATE TABLE svcr."CategoryMap" ("category" INT NOT NULL, 
"userData" INT NOT NULL);

Что не так с первым запросом?


person devang    schedule 28.10.2012    source источник
comment
Он использует тип столбца, которого нет в postgesql, точно так же, как в сообщении говорится v   -  person Paul Tomblin    schedule 29.10.2012


Ответы (1)


какую версию пг вы используете? в ‹ 8.4 citext можно установить как надстройку:

http://pgxn.org/dist/citext/

в >= 8.4 он должен быть доступен в ядре.

здесь также есть некоторые примечания по обновлению для 9.1.2:

http://www.postgresql.org/docs/9.1/static/release-9-1-2.html

вам может потребоваться загрузить расширение citext:

СОЗДАТЬ РАСШИРЕНИЕ, ЕСЛИ НЕ СУЩЕСТВУЕТ citext WITH SCHEMA ext;

person Dave S    schedule 28.10.2012
comment
Да, я установил расширение. Спасибо. - person devang; 29.10.2012