Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 14/03/2009 20:03:36
- nzs
- Membre
[SQL] Manipulation des tables systèmes
Bonsoir,
Après des recherches en vain, je reste toujours bloquée sur trois points principaux :
- table des index : je ne trouve pas la table qui contient les index, effectivement, je souhaite les lister.
- table des vues : même problème que précédemment, les vues ne sont pas stockés dans la "table des tables".
- informations sur les utilisateurs : les droits qu'ils possèdent, ce qu'ils ont créés ( triggers, index, séquences, ect ...)
Je souhaite accéder à toutes ces informations par le biais de requête SQL, j'ai déjà épluché forums, tutoriaux et contenus des différentes tables system mais je n'ai trouvé nulle part.
Merci par avance pour votre aide,
NZs
Hors ligne
#2 14/03/2009 22:57:31
- gleu
- Administrateur
Re : [SQL] Manipulation des tables systèmes
table des index
SELECT * FROM pg_indexes;
ou
SELECT * FROM pg_class WHERE relkind='i';
table des vue
SELECT * FROM pg_views;
ou
SELECT * FROM pg_class WHERE relkind='v';
informations sur les utilisateurs
Généralement, le plus simple pour trouver ses informations est d'utiliser psql avec le mode -E et les méta commandes. Le mode -E permet de connaître les requêtes exécutées réellement par psql suite à la saisie d'une métacommande comme \du (pour la liste des utilisateurs). Par exemple :
guillaume@laptop$ psql -E pagila
psql (8.4devel)
Type "help" for help.
pagila=# \du
******** REQUÊTE *********
SELECT r.rolname, r.rolsuper, r.rolinherit,
r.rolcreaterole, r.rolcreatedb, r.rolcanlogin,
r.rolconnlimit,
ARRAY(SELECT b.rolname
FROM pg_catalog.pg_auth_members m
JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid)
WHERE m.member = r.oid) as memberof
FROM pg_catalog.pg_roles r
ORDER BY 1;
**************************
Liste des rôles
Nom du rôle | Attributes | Membre de
-------------+------------------+-----------
guillaume | Superutilisateur | {}
: Créer un rôle
: Créer une base
postgres | Superutilisateur | {}
: Créer un rôle
: Créer une base
Guillaume.
Hors ligne
Pages : 1