Как распечатать структуру таблицы из postgresql? - PullRequest
6 голосов
/ 28 декабря 2011

Я использую phpPgAdmin в браузере и PgAdmin III для Windows.Можно ли в любом случае взять распечатку структуры таблицы для всей базы данных?

Ответы [ 3 ]

6 голосов
/ 28 декабря 2011

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

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

Немного лучший способ объединяет 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 :

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

Примечание: полученный файл будет содержать не только таблицы, но и все другие объекты (представления, функции и т. Д.). Если вам нужна только минимальная распечатка, вы можете отредактировать этот файл в текстовом редакторе и удалить ненужные вещи. Оставьте только "Type: TABLE;" товар.

5 голосов
/ 03 апреля 2014

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

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

1 голос
/ 12 февраля 2014

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

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

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

...