Sto utilizzando phpPgAdmin nel browser e PgAdmin III per Windows. Esiste comunque la stampa della struttura della tabella per l'intero database?Come stampare la struttura della tabella da postgresql?
risposta
Il metodo standard di esportare schema del database è pg_dump:
#!/bin/sh
pg_dump --schema-only MYDBNAME > output-file.sql
Leggermente migliore modo combina pg_dump con filtraggio pg_restore lista:
#!/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
Se preferite le procedure guidate GUI, il comando pg_dump può essere generato in PgAdmin III:
- ri ght fare clic sul database nel browser degli oggetti, selezionare "Backup"
- selezionare nomefile di destinazione (estensione comune è .sql o .txt)
- Scegliere il formato "Normale". (Cioè, formato testo)
- su "Dump Opzioni # 1" scheda, spuntare "Solo Schema"
- click "Backup"
Nota: il file risultante avrà non solo le tabelle, ma anche tutti gli altri oggetti (viste, funzioni, ecc.). Se è necessaria solo la stampa minima, è possibile modificare questo file nell'editor di testo e rimuovere elementi non necessari. Lascia solo "Tipo: TABELLA;" elementi.
È possibile eseguirli uno alla volta in base alle proprie esigenze. Fai clic destro su una tabella in pgAdminIII, vai a Rapporti e seleziona "Rapporto Dizionario dati".
Per il formato di output, selezionare "Transitional XHTML 1.0", selezionare l'opzione "Incorpora il foglio di stile predefinito", assegnargli un nome file e fare clic su OK.
Aprire il file XML nel browser e stampare.
Come va con i dati? –
Esiste un modo programmatico per eseguire l'equivalente di pgAdminIII "Rapporti del dizionario dati" su tutte le tabelle all'interno di uno schema? – pdog
Se si utilizza Windows e pgAdmin, è necessario avere psql da qualche parte in C:\Program files\postgresql\<version>\bin\psql
.
Eseguire psql e quindi si dispone di \d
che stampa tutte le tabelle e gli indici e \d <table_name>
che fornisce dettagli su una tabella.
Questo dovrebbe essere 'pg_dump' not' psql' –
thx @ a-horse-with-no-name, corretto – filiprem
Utilizzare '' per evitare il codice in grigio. – ben