У меня есть компьютер с Windows 2008 Server с запущенной на нем базой данных postgres. Я хотел бы ежедневно создавать резервную копию и отправлять на другую машину (под управлением Ubuntu или Windows). Как лучше всего это настроить?
По документация postgresql, варианты резервного копирования включают:
pg_dump
, который полностью работает через соединение PostgreSQL, поэтому он будет выполнять резервное копирование из любого места, откуда вы можете подключиться к серверу. Это простой и очевидный вариант, который вам следует предпочесть, если вы не знаете, что вам нужно что-то еще. Использовать pg_dumpall --globals-only
за которым следует pg_dump -Fc
каждой базы данных, резервную копию которой вы хотите создать.
pg_basebackup
сделать резервную копию по протоколу потоковой репликации. Начиная с версии 9.2, --xlog-method=stream
опция позволяет вам делать все резервные копии через потоковую репликацию без необходимости настройки архивирования WAL на исходном сервере.
Архивирование WAL с базовой резервной копией для восстановления на определенный момент времени.
pg_start_backup()
, rsync и pg_stop_backup()
с настроенным архивированием WAL.
Первые два варианта резервного копирования полностью инициируются удаленно.
Последние два требуют, чтобы сервер «проталкивал» архивы WAL на удаленный хост через настроенный archive_command
, но по-прежнему предоставляет удаленное хранилище резервных копий.