lundi 19 janvier 2015

Postgresql 8 GRANT ALL PRIVILEGE sur tables et séquences

Problème

Sur Postgresql 8 il n'existe pas de moyen d'accorder des droits sur toutes les tables et séquences facilement.

Solution

{user} > Utilisateur pour lequel on veut donner les droits


Ci-dessous les commandes SQL permettant de générer les commandes nécessaires pour donner les droits. Exécuter les commandes générés pour donner les droits sur l'utilisateur.

Pour les tables

SELECT 'GRANT ALL PRIVILEGES ON ' || quote_ident(schemaname) || '.' || quote_ident(tablename) || ' TO {user};' FROM pg_tables WHERE schemaname = 'public';

Pour les séquences

SELECT 'GRANT ALL PRIVILEGES ON ' || quote_ident(sequence_name) || ' TO {user};' FROM information_schema.sequences WHERE sequence_schema = 'public';