2011-05-16 100 views

Respuesta

40

Para generar una secuencia de comandos SQL que creará las tablas tal y como existen en una base de datos dada hacer:

pg_dump --schema-only --no-owner the_database > create_the_tables.sql

Esto le dará un montón de CREATE TABLE. Sólo para ver cómo era portátil Probé lo anterior de la siguiente manera:

bvm$ pg_dump -s --no-owner devdb | sqlite3 so_ans.db 

Y luego:

bvm$ sqlite3 so_ans.db .schema 
CREATE TABLE courses (
    id integer NOT NULL, 
    name text, 
    created_by integer, 
    jc text 
); 

especie de fresco.

+1

¿Esto genera todos los objetos, desencadenantes, procedimientos, etc.? – raffian

+1

"pg_dump -U postgres --schema-only --nuevos documentos del propietario> create_the_tables.sql", si el usuario es postgres y está usando el sistema operativo Windows.De lo contrario, usaría su nombre de cuenta de usuario de Windows por defecto. –

+2

La pregunta era cómo usar pgAdmin no pg_dump. –

3

Puede lograr esto a través de phpPgAdmin al igual que phpMyAdmin for MySQL.

Inicie sesión en phpPgAdmin seleccione la base de datos y luego elija exportar.

86

Aquí se explica cómo usar pgAdmin para crear un script de esquema que se puede usar con una herramienta de comparación de esquemas de base de datos PostgreSql, como apgdiff. Estas instrucciones son para pgAdmin3.

  1. En pgAdmin, haga clic derecho en la base de datos y haga clic en Copia de seguridad.
  2. Ingrese una ruta de acceso y un nombre de archivo apropiados (es decir, /some/path/my_script.sql).
  3. Seleccione Normal como el formato en el menú desplegable de formato.
  4. Vaya al volcado Opciones # 1 y marque "Solo esquema".
  5. A continuación, haga clic en Copia de seguridad. Luego haz clic en Listo.

Nota: Sí, me doy cuenta de que pgAdmin utiliza pg_dump detrás de las escenas para crear la secuencia de comandos, pero la pregunta era acerca pgAdmin, por lo que este es el método de interfaz gráfica de usuario.

+0

¿Está actualizado? No hay opción de copia de seguridad en el menú contextual al hacer clic derecho en una base de datos. Hay una opción de copia de seguridad en el menú de herramientas, pero siempre está desactivada, independientemente de lo que haya seleccionado (base de datos, esquema, tablas individuales, etc.). Esto es con pgAdmin 1.18.1 en Linux. – Kat

+0

Resulta que solo tuve que especificar la ruta binaria de Postgres (donde está pg_dump). Esto se hace en las opciones de pgAdmin (Archivo> Opciones> Rutas binarias y establece la ruta del bins PG). Esto es probable porque no tenía instalado un cliente independiente de Postgres en el momento en que instalé pgAdmin. – Kat

+0

Esta debería haber sido la respuesta aceptada, dos años después de que se haya dado NON pgadmin ... Así que obtienes mi voto positivo como la respuesta válida para la pregunta del OP – Mayhem

22

pgAdmin sin embargo tiene una facilidad para hacer lo que quiera:

"formato"

Haga clic en la base de datos que desea exportar

Seleccione Copia de seguridad en el menú emergente

Elija Llanura.

Elija "opción simple" Sólo esquema

-1

Al menos en PgAdmin III 1.22.1 se puede obtener haciendo script de creación: 1) Haga clic derecho sobre el nombre de la tabla- 2) "Scripts" -> "crear un script " Hay opciones para obtener SELECT, DELETE, etc.

Cuestiones relacionadas