• # Précision, petite précision

    Posté par . En réponse au message Soucis avec postgreSQL. Évalué à 3.

    Je n'ai pas vraiment saisi ce que tu voulais faire :
    . tu veux récupérer le nom du champ correspondant à la clé primaire pour chaque table ?
    . tu veux récupérer toutes les valeurs des champs correspondant au clés primaires pour chacune des tables (possible à partir du précédent)?

    À priori, un index est créé pour chaque clé primaire donc pour chaque table (tablename), tu dois pouvoir trouver dans le champ indexdef le nom de ta clé primaire (table pg_indexes).
    Il y a certainement mieux. C'est ce que j'ai testé en trente secondes :
    # SELECT * from pg_indexes where tablename='foo';
    schemaname | tablename | indexname | indexdef
    ------------+-----------+-----------+----------------------------------------------------------
    public | foo | foo_pkey | CREATE UNIQUE INDEX foo_pkey ON foo USING btree (id_foo)
    ou id_foo est la clé.