J'utilise phpPgAdmin dans le navigateur et PgAdmin III pour Windows. Existe-t-il un moyen d'imprimer la structure des tables pour l'ensemble de la base de données ?
Réponses
Trop de publicités?La méthode standard d'exportation du schéma d'une base de données est la suivante pg_dump :
#!/bin/sh
pg_dump --schema-only MYDBNAME > output-file.sql
Une solution légèrement meilleure combine pg_dump avec pg_restore le filtrage des listes :
#!/bin/sh
dump=`mktemp`
list=`mktemp`
pg_dump --schema-only MYDBNAME -Fc -f $dump
pg_restore -l $dump | grep ' TABLE ' > $list
pg_restore -L $list $dump > output-file.sql
rm $list $dump
Si vous préférez les assistants GUI, la commande pg_dump peut être générée en PgAdmin III :
- cliquer avec le bouton droit de la souris sur la base de données dans le navigateur d'objets, sélectionner "Sauvegarde".
- sélectionner le nom du fichier de destination (l'extension courante est .sql ou .txt)
- Choisissez le format "Plain". (c'est-à-dire le format texte)
- dans l'onglet "Options de vidage #1", cochez "Seulement le schéma"
- cliquez sur "Sauvegarde"
Remarque : le fichier résultant contiendra non seulement des tables, mais aussi tous les autres objets (vues, fonctions, etc.). Si vous n'avez besoin que d'une impression minimale, vous pouvez éditer ce fichier dans un éditeur de texte et supprimer les éléments inutiles. Ne laissez que les éléments "Type : TABLE ;".
Vous pouvez les faire un par un au fur et à mesure que vous en avez besoin. Cliquez avec le bouton droit de la souris sur une table dans pgAdminIII, allez dans Rapports et sélectionnez "Rapport sur le dictionnaire de données".
Pour le format de sortie, sélectionnez "XHTML 1.0 Transitional", choisissez l'option "Embed the default stylesheet", donnez-lui un nom de fichier et cliquez sur OK.
Ouvrez le fichier XML dans votre navigateur et imprimez.