pg dump выводит имя схемы и данные

когда я использую (pg_dump -f backup.sql mydb), имя схемы не включается. Как сделать дамп, который выведет также имя схемы (личное). см. пример ниже

Вывод: ALTER TYPE basicinfo OWNER TO postgres; // примечание: основная информация — это имя таблицы

Ожидаемый результат: ALTER TYPE personal.basicinfo OWNER TO postgres;

Любые идеи?


person Lifee Iss Simplee    schedule 26.10.2015    source источник
comment
Если вы просмотрите первые несколько строк дампа, вы увидите такие строки, как SET search_path = personal. Это должно гарантировать, что объекты прав выбраны. Может быть, вы хотели явно указать имя схемы по какой-то другой причине?   -  person Jayadevan    schedule 26.10.2015
comment
Спасибо, Джаядеван, но вы правы, я хочу также явно указать имя схемы. Я восстановил базу данных.sql с тем же форматом (включая имя схемы) и хочу сделать резервную копию в том же формате. Есть ли другой способ?   -  person Lifee Iss Simplee    schedule 03.11.2015


Ответы (2)


Свойства глобальной базы данных, такие как OWNER и т. д., всегда задаются именами SCHEMA в выходных данных pg_dump.

Однако для неглобальных объектов базы данных, насколько мне известно, нет никакого способа получить SCHEMA имена перед всеми объектами базы данных. Сценарий работает следующим образом: он заранее устанавливает SET search_path все объекты базы данных, специфичные для схемы... что более эффективно и имеет тот же эффект.

Если вы пытаетесь проанализировать вывод pg_dump для извлечения данной строки SQL, которая работает независимо, вам может потребоваться также проанализировать ближайшую предшествующую строку SET search_path и выполнить ее перед выполнением целевой строки (например, ALTER TYPE), чтобы получить желаемый эффект. .

person Robins Tharakan    schedule 26.10.2015

Вы не можете сделать это, используя pg_dump напрямую. Попробуйте использовать разные инструменты, у них разные реализации для экспорта базы данных PostgreSQL.

Вот список инструментов:

  1. phpPgAdmin — http://sourceforge.net/projects/phppgadmin

  2. AnySQL Maestro — http://www.sqlmaestro.com/products/anysql/maestro/

  3. DBeaver – http://dbeaver.jkiss.org/

Все ссылки: https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools

person ji-ruh    schedule 26.10.2015