Modifier les propriétés des tables d'un schéma

La vue pg_tables que l'on peut trouver dans PgAdmin pour chaque base dans

catalogue → catalogue PostgreSQL → Vues → pg_tables

donne les informations sur chaque table de la base de données.

On peut par exemple extraire les tables du schema travail de la base stageXX avec la requête suivante :

select tablename from pg_tables where schemaname = 'travail';

Récupérer la liste des tables d'un schéma peut-être utile pour par exemple mettre à jour les droits sur toutes les tables ou changer de propriétaires.

Pour mémoire on peut par exemple changer le propriétaire d'un table avec la commande

ALTER TABLE matable OWNER nouveauproprietaire ;

La requête :

select CONCAT('ALTER TABLE travail.',tablename, ' OWNER TO gary00;') FROM pg_tables where schemaname = 'travail';

renvoi :

Que l'on peut exporter en script SQL en supprimant les double-quotes :

Le rechargement de ce script dans l'interface SQL donne :

Il suffit de supprimer la première ligne et d'exécuter le script.

Attention à remettre des guillemets ("") pour les noms de table qui contiendraient des majuscules