10
Цели и форматы
Немедленное развертывание нового экземпляра
--format=plain
удаленный запуск на сервере, где будет развернут экземпляр
копирует файлы и каталоги кластера (PGDATA) в указанный каталог
копирует табличные пространства по тем же абсолютным путям,
но можно сопоставить и другие пути (--tablespace-mapping)
Резервная копия для последующего использования
--format=tar
--gzip или --compress=0..9 для сжатия
удаленный или локальный запуск
помещает PGDATA в base.tar, файлы журнала в pg_wal.tar
помещает каждое табличное пространство в отдельный файл OID.tar,
пути могут быть изменены в файле tablespace_map
Если предполагается немедленно развернуть новый сервер из
резервной копии, удобно вызывать pg_basebackup с форматом plain
(используется по умолчанию), запуская его на целевом сервере.
Утилита удаленно подключается к серверу-источнику и создает
локальные каталоги и файлы, соответствующие каталогам и файлам
основного сервера. Таким образом, новый сервер можно запускать, как
только отработает pg_basebackup.
Табличные пространства будут скопированы по тем же абсолютным
путям, что и на сервере-источнике (поэтому в таком режиме
pg_basebackup нельзя запускать на сервере-источнике). Однако при
необходимости можно переназначить пути для табличных пространств,
указав соответствие в параметрах утилиты.
Если же копия выполняется в рамках обычной политики резервного
копирования, удобно воспользоваться форматом tar. В этом случае
pg_basebackup можно запускать как на сервере-источнике, так и
удаленно. Основной каталог кластера PGDATA будет сохранен в файле
base.tar, журналы — в файле pg_wal.tar, а табличные пространства —
каждое в своем собственном tar-файле, имя которого будет совпадать
с OID табличного пространства. Файлы могут быть сжаты, если указать
соответствующие ключи утилиты.
Для восстановления из такой копии сначала потребуется развернуть
tar-файлы по правильным путям. При этом табличные пространства
можно разместить по новым путям, но потребуется отредактировать
файл tablespace_map перед запуском сервера.