PostgreSQL, работа с дампами

08.01.2020

Дано.
Хост: localhost
Сервер баз данных: PostgreSQL 11 (и ниже, использовалось начиная с 8-ой версии)
База данных: mydb
Пользователь: postgres
Пароль: отсутствует (режим trust для localhost)

Задача.
Создать дамп базы данных и восстановить его. В имени файла дампа должен содержаться год, месяц и день его создания.

Решение.
Создать дамп:

pg_dump --file="mydb-$(date +\%Y-\%m-\%d).bak" -F c -U postgres -h localhost mydb;

Если события происходят 28.01.2020, создаст файл mydb-2020-01-28.bak в текущей директории.

Восстановить дамп:

pg_restore -F c -h localhost -d mydb -U postgres -cO --if-exist mydb-2020-01-28.bak

Комментарии.
Назначение использованных аргументов можно посмотреть с помощью pg_dump --help и pg_restore --help.