8
Копия базы данных
--
-- PostgreSQL database dum
--
-- Dumped from database ve
-- Dumped by pg_dump versi
SET statement_timeout = 0;
SET lock_timeout = 0;
SET
idle_in_transaction_sessio
SET client_encoding = 'UTF
SET standard_conforming_st
$ pg_dump -d база -f файл
$ psql -f файл
формат: команды SQL
при выгрузке можно выбрать отдельные объекты базы данных
новая база должна быть создана из шаблона template0
заранее должны быть созданы роли и табличные пространства
после загрузки имеет смысл выполнить ANALYZE
Для создания полноценной резервной копии базы данных используется
утилита pg_dump.
Если не указать имя файла (-f, --file), то утилита выведет результат на
консоль. А результатом является скрипт, предназначенный для psql,
который содержит команды для создания необходимых объектов
и наполнения их данными.
Дополнительными ключами утилиты можно ограничить набор объектов:
выбрать указанные таблицы, или все объекты в указанных схемах (с
учетом установленных расширений), или наложить другие фильтры.
Чтобы восстановить объекты из резервной копии, достаточно
выполнить полученный скрипт в psql.
Следует иметь в виду, что базу данных для восстановления надо
создавать из шаблона template0, так как все изменения, сделанные
в template1, также попадут в резервную копию.
Кроме того, заранее должны быть созданы необходимые роли
и табличные пространства. Поскольку эти объекты не относятся
к конкретной БД, они не будут выгружены в резервную копию.
После восстановления базы имеет смысл выполнить команду
ANALYZE: она соберет статистику, необходимую оптимизатору для
планирования запросов.