9 votes

Postgresql 9.1 : ERREUR : le type "citext" n'existe pas

J'essaie d'exécuter la requête suivante à l'aide de l'utilitaire 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"));

Et j'obtiens l'erreur suivante -

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

Cependant, la requête suivante s'exécute correctement -

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

Quel est le problème avec la première requête ?

12voto

Dave S Points 226

Quelle version de pg utilisez-vous ? dans < 8.4, citext peut être installé en tant que module complémentaire :

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

dans >= 8.4 il devrait être disponible dans core.

Il y a aussi des notes de mise à jour pour la 9.1.2 ici :

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

il se peut que vous deviez charger l'extension citext :

CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA ext ;

1voto

integrater Points 49

Pgadmin -> [votre base de données] -> extensions -> créer une extension -> choisir une extension. citation dans la liste déroulante et enregistrer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X