PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Connaître les privilèges d'un user sur une table via SQL

Technique - général | Connaître les privilèges d'un user sur une table via SQL

Par ycremel le 04/08/2005 - 10:01

Bonjour,

j'aimerais connaître la requete SQL qui permet de récupérer les privilèges d'un utilisateur donnée pour une table donnée.

Merci d'avance
PS: si quelqu'un à des idées sur mes problèmes de migration Oracle --> PostgreSQL 8.0.3 precedemment émis, n'hésitez pas ...

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour, Étant donné que l

Jean-Paul Argudo/ = 7 Août, 2005 - 21:10

Bonjour,
Étant donné que la commande \z dans psql vous donne la liste des droits sur une table donnée (cf http://traduc.postgresqlfr.org/pgsql-fr/sql-grant.html),

Étant donné que l'option -E de psql permet de renvoyer la requête système qui sert à afficher les données des commandes \commande (tapez \help dans psql...), il suffit de lancer psql avec l'option -E et de lire la requête... qu'il vous suffira d'adapter pour répondre à votre question:


jpargudo@hector:~$ psql -E boss
Welcome to psql 8.0.2, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

boss=# \z adhesions
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'S' THEN 'sequence' END as "Type",
c.relacl as "Access privileges"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r', 'v', 'S')
AND pg_catalog.pg_table_is_visible(c.oid) AND n.nspname !~ '^pg_'
AND c.relname ~ '^adhesions$'
ORDER BY 1, 2;
**************************

Access privileges for database "boss"
Schema | Name | Type | Access privileges
--------+-----------+-------+-----------------------------
public | adhesions | table | {postgres=arwdRxt/postgres}
(1 row)

Bon codage !

--
Jean-Paul ARGUDO
www.PostgreSQLFr.org


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.