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