Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
À 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
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
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
ok merci
Hors ligne
Pages : 1