From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | "Laurent =?ISO-8859-15?Q?Mesur=E9?=" <laurent(dot)mesure(at)free(dot)fr> |
Cc: | "pgsql-fr-generale" <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: determiner les champ de clef primaire d'une |
Date: | 2006-06-05 17:44:53 |
Message-ID: | 20060605194500.20524 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Laurent Mesuré wrote:
> >> ayant une table je voudrais extraire la liste des champs de la clef
> >> primaire.
> >>
> >> j'"essaye avec les tables pg_class,pg_index, mais du coup je me
> >> trouve confronté au type int2vector. Du coup, je suis sur qu'il y a
> >> surement une methode plus simple, mais je ne la trouve pas.
Pour le nombre des champs, c'est pg_index.indnatts
Pour aller chercher les champs un par un, il y a une fonction
pg_catalog.pg_get_indexdef qui prend en argument le numéro de colonne
en commençant par 1, et qui renvoie le nom du champ, en gros.
Voir http://docs.postgresqlfr.org/8.1/functions-info.html
Et sinon dans psql, il est possible de faire
\set ECHO_HIDDEN pour voir les requêtes construites par psql pour
répondre aux commandes du type \d
C'est très utile pour apprendre des choses sur tout ce qui est
relatif au catalogue des données.
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org
From | Date | Subject | |
---|---|---|---|
Next Message | Nabil Servais | 2006-06-06 09:33:58 | Re: problème de configuration |
Previous Message | Laurent Mesuré | 2006-06-05 17:06:30 | Re: determiner les champ de clef primaire d'une |