Перенос БД PostgreSQL
Содержание
Заметка о снятии копии БД и развёртывании в новом месте.
Дамп
Копия БД в формате SQL:
pg_dump -v dbName > dbName.sql
Дамп в собственном формате, запакованный в Tar-архив:
pg_dump -v -Ft dbName > dbName.tar
--clean — добавляет выражения очистки БД;
--create — добавляет выражения создания БД.
Дамп всех ролей (пользователей):
pg_dumpall -v --roles-only > roles.sql
Развёртываение
Из SQL в существующую БД:
psql -d dbName -f dbName.sql
Из Tar-архива в существующую БД:
pg_restore -v -Ft -d dbName dbName.tar
Из Tar-архива с созданием БД:
pg_restore -v -Ft --create -d postgres dbName.tar
В режиме создания БД выполняются выражения из архива, созданные при дампе. В этом случае -d всего лишь указывает на БД (postgres), к которой установить первоначальное соединение.
В примере будет создана БД dbName.