2011-12-28 18 views

Respuesta

6

La forma estándar de la exportación de esquema de base de datos es pg_dump:

#!/bin/sh 
pg_dump --schema-only MYDBNAME > output-file.sql 

Levemente mejor manera combina pg_dump con filtrado 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 

Si prefiere asistentes GUI, comando pg_dump se puede generar en PgAdmin III:

  • ri luchar haga clic en la base de datos en el navegador de objetos, seleccione "Copia de seguridad"
  • seleccione el nombre de archivo de destino (extensión común es .sql o .txt)
  • elegir el formato "normal". (Es decir, formato de texto)
  • en la pestaña "Dump Opciones # 1", marcar la casilla "Sólo esquema"
  • clic "Copia de seguridad"

Nota: el archivo resultante tendrá no sólo las tablas, sino también todos los demás objetos (vistas, funciones, etc.). Si solo necesita la impresión mínima, puede editar este archivo en el editor de texto y eliminar elementos innecesarios. Deje solo "Tipo: TABLA"; artículos.

+0

Eso debería ser 'pg_dump' no' psql' –

+0

thx @ a-horse-with-no-name, corregido – filiprem

+0

Use '' para evitar el código gris. – ben

1

Puede hacerlas de una en una cuando las necesite. Haga clic con el botón derecho en una tabla en pgAdminIII, vaya a Informes y seleccione "Informe del diccionario de datos".

Para el formato de salida, seleccione "XHTML 1.0 Transitional", elija la opción "Incrustar la hoja de estilos predeterminada", asígnele un nombre de archivo y haga clic en Aceptar.

Abra el archivo XML en su navegador e imprima.

+0

¿Qué tal con los datos? –

+0

¿Existe una forma programática para ejecutar el equivalente de pgAdminIII "Informes del diccionario de datos" en todas las tablas dentro de un esquema? – pdog

3

Si está en Windows y pgAdmin, debe tener psql en algún lugar en C:\Program files\postgresql\<version>\bin\psql.

Ejecute psql y luego tiene \d que imprime todas las tablas e índices y \d <table_name> que le brinda detalles sobre una tabla.

Cuestiones relacionadas