2011-12-28 3 views

ответ

6

Стандартный способ экспорта схемы базы данных является pg_dump:

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

Sligtly лучший способ сочетает pg_dump с фильтрацией pg_restore списка:

#!/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 

Если вы предпочитаете графический интерфейс мастера, pg_dump команда может генерироваться PgAdmin III

  • ri ght щелкните базу данных в обозревателе объектов, выберите «Резервное копирование»
  • выберите искомое имя файла (общее расширение является .sql или .txt)
  • Выберите «Обычный» формат. (То есть, текстовый формат)
  • на «Свалка Опции # 1» на вкладке, отметьте «Только Schema»
  • нажмите кнопку «Резервное копирование»

Примечание: полученный файл будет иметь не только стол, но и все остальные объекты (виды, функции и т. д.). Если вам нужна только минимальная распечатка, вы можете отредактировать этот файл в текстовом редакторе и удалить ненужные вещи. Оставить только «Тип: ТАБЛИЦА;» Предметы.

+0

Это должно быть 'pg_dump' не' psql' –

+0

thx @ a-horse-with-no-name, исправлено – filiprem

+0

Используйте '', чтобы избежать серого кода. – ben

1

Вы можете сделать это по одному, сколько вам нужно. Щелкните правой кнопкой мыши на таблице в pgAdminIII, откройте «Отчеты» и выберите «Отчет о словарях данных».

Для выходного формата выберите «XHTML 1.0 Transitional», выберите «Вставить стандартную таблицу стилей», укажите имя файла и нажмите «ОК».

Откройте XML-файл в своем браузере и распечатайте.

+0

Как насчет данных? –

+0

Есть ли программный способ запускать эквивалент pgAdminIII «Отчеты словаря данных» на всех таблицах в схеме? – pdog

3

Если вы находитесь в Windows и pgAdmin, вы должны иметь psql где-то в C:\Program files\postgresql\<version>\bin\psql.

Запустите psql, а затем у вас есть \d, который печатает все таблицы и индексы и \d <table_name>, который дает вам подробную информацию о одной таблице.

Смежные вопросы