postgres дамп

PostgreSQL — реляционная система управления базами данных, в основе SQL и набор команд при работе с Postgres практически идентичен тому, что используется с MySQL. Для перемещения БД на другой сервер и создания бэкапов используется Postgres дамп.

 

postgres дамп: создать и развернуть

Все команды должны выполняться от имени пользователя, имеющего достаточные привилегии для работы с определенной базой.

В примерах ниже будет использоваться пользователь postgres

su — postgres

pg_dump DATABASE_NAME > dump.sql

 

Postgres дамп представляет собой .sql файл, который читабелен и может быть отредактирован после экспорта.

 

Флаги pg_dump, которые применяются чаще всего

-h — удаленный хост (ip адрес)

-p — пора на удаленном сервере, к которому нужно подключаться

-U — имя пользователя, имеющему достаточные права доступа для дампа базы данных

 

 

Команда с применением этих флагов будет выглядеть так:

pg_dump -h 123.123.123.123 -p 3434 -U dbadmin DATABASE_NAME > dump.sql

 

Восстановление из дампа можно выполнять за счет psql или pg_restore

 

В обоих случаях предварительно нужно убедиться в том, что база существует, при необходимости она создается так:

createdb -T template0 DATABASE_NAME

 

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

pg_restore -d DATABASE_NAME dump.sql

Если pg_restore передать ключ -C будет автоматически создана БД с указанным именем.

 

Другая команда для восстановления — psql

psql dbname < dumpfile

Бэкап Postgres

Утилита pg_dumpall позволяет быстро сделать дамп всех баз на сервере и сохранить их в один фйл

pg_dumpall > all.sql

 

Разворачивается такой дамп затем командой psql с ключем -f

psql -f all.sql postgres

 

 

 

Можно использовать перенаправления вывода и экспортировав дамп Postgres на одном сервере, загрузить его в базу на другом

pg_dump -h 123.123.123.123 DATABASE_NAME | psql -h 123.123.124.124 DATABASE_NAME

 

Читайте про создание дампов и их импорт для MySQL