Основные принципы работы с pgdump и pgrestore в PostgreSQL:
- Pg_dump создаёт резервные копии одной конкретной базы данных. 4 Во время работы утилита не блокирует другие операции с базой данных. 2 Формат дампа пользователь определяет сам: это может быть архив или скрипт (текстовый файл с перечнем SQL команд). 4
- Pgrestore восстанавливает базу данных из дампа в архивном формате, созданного с помощью pgdump. 4 На вход поступает дамп, при восстановлении можно настраивать различные параметры процесса. 4
Некоторые особенности работы с pg_restore:
- Если пользователь указывает имя базы данных, pg_restore подключается к ней и восстанавливает контент прямо в неё. 5 Если имя не указано, создаётся скрипт с командами SQL для восстановления базы данных. 5
- Перед восстановлением SQL-дампа все пользователи, которые владели объектами или имели права на объекты в выгруженной базе данных, должны уже существовать. 2 Если их нет, при восстановлении будут ошибки пересоздания объектов с изначальными владельцами и/или правами. 2
- После восстановления резервной копии имеет смысл запустить ANALYZE для каждой базы данных, чтобы оптимизатор запросов получил полезную статистику. 2