Миграция базы данных PostgreSQL

Создайте файл, содержащий данные для загрузки, при помощи утилиты pg_dump, используя команду COPY для создания копии данных и схемы. Файл, сгенерированный с помощью pg_dump, позволит загрузить данные в базу с тем же именем и пересоздаст таблицы, индексы и внешние ключи.

Создание sql-дампа:

pg_dump dbname=имя_базы -f mydb_dump.sql

Восстановление из созданного дампа:

psql -f mydb_dump.sql --host хост --port 6432 --username имя_пользователя --password пароль --dbname имя_базы

Возможно создание копии данных в пользовательском формате. Например, custom-формат — наиболее гибкий и позволяет восстановить только схему или только данные конкретной таблицы. Примечание: копия в custom-формате сжимается по умолчанию.

Создание дампа в custom-формате:

pg_dump -Fc -v -h хост -U имя_пользователя имя_базы > archive.dump

Для восстановления из такой копии с помощью pg_restore создайте в панели управления целевую базу данных с таким же именем, как база данных в резервной копии.

Можно создать целевую базу данных с другим именем, в таком случае следует использовать pg_restore с ключом -d для восстановления данных в базу с новым именем:

pg_restore -v -h хост -U имя_пользователя -d имя_базы archive.dump