Назад | Перейти на главную страницу

Резервное копирование удаленной базы данных Postgres

У меня есть компьютер с 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, но по-прежнему предоставляет удаленное хранилище резервных копий.