Vous n'êtes pas identifié(e).

#1 18/12/2009 11:50:52

mich30
Membre

schemas crées dans une database

je cherche la requete pour savoir tous les shemas crées dans
une database

SELECT * FROM pg_tables

SELECT * FROM pg_database
la jointure ou est t'elle
merci

Hors ligne

#2 18/12/2009 11:56:59

Marc Cousin
Membre

Re : schemas crées dans une database

Les schemas d'une base sont visibles dans pg_namespace.

Les jointures entre les tables systèmes se font sur une colonne cachée appelée oid.

Par exemple, la vue pg_tables est définie comme telle :

 SELECT n.nspname AS schemaname, c.relname AS tablename, pg_get_userbyid(c.relowner) AS tableowner, t.spcname AS tablespace, c.relhasindex AS hasindexes, c.relhasrules AS hasrules, c.relhastriggers AS hastriggers
   FROM pg_class c
   LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
   LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
  WHERE c.relkind = 'r'::"char";

Dernière modification par Marc Cousin (18/12/2009 11:57:17)


Marc.

Hors ligne

#3 18/12/2009 15:43:45

mich30
Membre

Re : schemas crées dans une database

select * from pg_namespace   nspower oid = 11830559 ou y a tous mes shemas
select * from pg_database    et le oid dans pg_database je ne le trouve pas
pour le lien entre pg_namespace et pg_database y a t'il encore une table intermediaire
merci

Hors ligne

#4 18/12/2009 16:22:56

Marc Cousin
Membre

Re : schemas crées dans une database

À ma connaissance il n'y a pas de lien entre pg_namespace et pg_database : chaque base ne voit que ses namespaces, il n'y a donc pas de sens à essayer d'établir un lien entre la base et le namespace : les seuls namespaces qu'une requête verra sont ceux de la base.


Marc.

Hors ligne

#5 18/12/2009 17:00:07

mich30
Membre

Re : schemas crées dans une database

il doit bien avoir une requete pour repondre a la question
lister tous les schemas d'une Base de donnée
merci et bon noel d'avance

Hors ligne

#6 18/12/2009 17:10:52

Marc Cousin
Membre

Re : schemas crées dans une database

Tous les schémas d'une base de données, il suffit d'interroger pg_namespace.
Mais il faut être connecté à cette base de données pour ça.


Marc.

Hors ligne

#7 18/12/2009 17:25:23

mich30
Membre

Re : schemas crées dans une database

ok merci

Hors ligne

Pied de page des forums