Как сделать резервное копирование и восстановление схемы только в PostgreSQL?

Как выполнить резервное копирование уровня схемы в базе данных PostgreSQL и восстановить в другой базе данных? Есть ли какая-нибудь одна команда для этого? Например, можно ли pg_dump и восстановить в одной строке?

Ответы

Ответ 1

pg_dump --schema=masters oldDB > masters1.sql
cat masters1.sql | psql newDB

или

в одной команде вы можете сделать это

pg_dump oldDB --schema masters  | psql -h localhost newDB;

Ответ 2

Архивировать схему и восстановить ее в системе для postgresql, как показано ниже:

Схема дампа для базы данных

pg_dump -s database_name > db.sql

Схема дампа для конкретной таблицы

pg_dump -s database_name -t table_name > db.sql 

Восстановить резервную копию схемы, используя команду

psql -d database_name -h localhost -U postgres < path/db.sql

Ответ 3

Что случилось с документацией?

Пример из руководства:

Сбросить все схемы, имена которых начинаются с востока или запада и заканчиваться gsm, исключая любые схемы, имена которых содержат тест слова:

$pg_dump -n 'east * gsm' -n 'west * gsm' -N 'test' mydb > db.sql

Ответ 4

-s или --schema-only для исключения данных из дампа Документация