postgresql -- Дамп базы от имени пользователя, Загрузка дампа из файла

Создание дампа

Если вы используете postgresql, дамп базы можно сделать так:

pg_dump db_name > dump_file_name

Чтобы запустить команду от имени пользователя, добавляем -U имя_пользователя:

pg_dump db_name -U db_user_name > dump_file_name
#

ниже вводим пароль.

Загрузка дампа из файла

psql для текстовых файлов

Развернуть дамп можно так:

psql dbname -U dbusername < dumpfilename

Если получаем ошибку вроде:

The input is a PostgreSQL custom-format dump.
Use the pg_restore command-line client to restore this dump to a database.

то, видимо, дамп в архивном формате и имеет смысл использовать pg_restore.

pg_restore для архивов

pg_restore  -U dbusername -d dbname -1  dumpfilename
#

Для ошибок вроде:

could not execute query: ERROR: schema "public" already exists

Может помочь флаг --clean (ВНИМАНИЕ: учитывайте возможность потери данных, если в базе куда вы накатываете дамп есть что-то ценное!):

pg_restore --clean  -U dbusername -d dbname -1  dumpfilename
#

Источник

vedro-compota's picture

добавил информацию по использованию pg_restore (оф. документация: https://www.postgresql.org/docs/current/...)

_____________
матфак вгу и остальная классика =)