9
Формат custom
;
; Archive created at 2017-
; dbname: demo
; TOC Entries: 146
; Compression: -1
; Dump Version: 1.12-0
; Format: CUSTOM
;
; Selected TOC Entries:
;
2297; 1262 475453 DATABASE
5; 2615 475454 SCHEMA - bo
2298; 0 0 COMMENT - SCHEMA
$ pg_dump -d база -F c -f файл
$ pg_restore -d база -j N файл
внутренний формат с оглавлением
отдельные объекты базы данных можно выбрать на этапе восстановления
возможна загрузка в несколько параллельных потоков
Утилита pg_dump позволяет указать формат резервной копии. По
умолчанию это plain — простые команды для psql.
Формат custom (-F c, --format=custom) создает резервную копию
в специальном формате, содержащем не только объекты, но и
оглавление. Наличие оглавления позволяет выбирать объекты для
восстановления не при создании копии, а непосредственно при
восстановлении.
Файл формата custom по умолчанию сжат.
Для восстановления потребуется другая утилита — pg_restore. Она
читает файл и преобразует его в команды psql. Если не указать явно
имя базы данных (в ключе -d), то команды будут выведены на консоль.
Если же база данных указана — утилита соединится с этой БД и
выполнит команды без участия psql.
Чтобы восстановить только часть объектов, можно воспользоваться
одним из двух подходов. Во-первых, можно ограничить объекты
аналогично тому, как они ограничиваются в pg_dump. Вообще, утилита
pg_restore понимает многие параметры из репертуара pg_dump.
Во-вторых, можно получить из оглавления список объектов,
содержащихся в резервной копии (ключ --list). Затем этот список можно
отредактировать вручную, удалив ненужное и передать измененный
список на вход pg_restore (ключ --use-list).