Это команда pg_standby, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pg_standby - поддерживает создание сервера горячего резервирования PostgreSQL
СИНТАКСИС
pg_standby [вариант...] размещение в архиве следующий файл xlogfilepath [перезапуск]
ОПИСАНИЕ
pg_standby поддерживает создание сервера базы данных «горячего резерва». Он разработан, чтобы быть
готовая к производству программа, а также настраиваемый шаблон, если вам потребуется конкретная
изменения.
pg_standby предназначен для ожидания команда восстановления_команда, что необходимо для превращения стандартного
восстановление архива в режим горячего резерва. Также требуется другая конфигурация,
все это описано в основном руководстве по серверу (см. Раздел 25.2, «Доставка журналов
Резервные серверы »в документации).
Чтобы настроить резервный сервер для использования pg_standby, поместите это в его recovery.conf
конфигурационный файл:
restore_command = 'pg_standby архивКаталог % f% p% r '
в котором архивКаталог - это каталог, из которого должны быть восстановлены файлы сегментов WAL.
If перезапуск указывается, обычно с использованием макроса% r, затем все файлы WAL
логически предшествующий этому файлу будет удален из размещение в архиве. Это сводит к минимуму
количество файлов, которые необходимо сохранить, с сохранением возможности перезапуска после сбоя. Использовать
этого параметра уместно, если размещение в архиве является переходной плацдармом для
именно этот резервный сервер, но когда окно размещение в архиве предназначен как
область долгосрочного архива WAL.
pg_standby предполагает, что размещение в архиве - это каталог, доступный для чтения пользователем, владеющим сервером.
If перезапуск (или -k) указано, размещение в архиве каталог должен быть доступен для записи
тоже.
Есть два способа переключения на сервер базы данных «горячего резерва», когда главный сервер
не удается:
Умный отказоустойчивый
В интеллектуальном аварийном переключении сервер запускается после применения всех файлов WAL, доступных в
архив. Это приводит к нулевой потере данных, даже если резервный сервер упал.
позади, но если есть много непримененных WAL, может пройти много времени до того, как
резервный сервер готов. Чтобы запустить интеллектуальное аварийное переключение, создайте файл триггера
содержащий слово smart, или просто создайте его и оставьте пустым.
Быстрое переключение при отказе
При быстром переключении сервер активируется немедленно. Любые файлы WAL в архиве
которые еще не были применены, будут проигнорированы, и все транзакции в этих файлах
потеряны. Чтобы запустить быстрое переключение, создайте файл триггера и напишите слово быстро
внутрь. pg_standby также можно настроить для автоматического выполнения быстрого аварийного переключения.
если в течение определенного интервала не появляется новый файл WAL.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
pg_standby принимает следующие аргументы командной строки:
-c
Используйте команду cp или copy для восстановления файлов WAL из архива. Это единственный поддерживаемый
поведение, поэтому эта опция бесполезна.
-d
Распечатайте много выходных данных журнала отладки на stderr.
-k
Удалить файлы из размещение в архиве так что не более этого количества файлов WAL до
текущие хранятся в архиве. Ноль (по умолчанию) означает, что файлы не удаляются.
от размещение в архиве. Этот параметр будет автоматически проигнорирован, если перезапуск is
указан, поскольку этот метод спецификации более точен при определении правильного
точка отключения архива. Использование этого параметра устарела начиная с PostgreSQL 8.3; это
безопаснее и эффективнее указывать перезапуск параметр. Слишком маленькая настройка
может привести к удалению файлов, которые все еще необходимы для перезапуска резервного
сервер, в то время как слишком большой параметр тратит пространство архива.
-r максимальное количество попыток
Установите максимальное количество повторных попыток выполнения команды копирования в случае сбоя (по умолчанию 3).
После каждого сбоя ждем время сна * num_retries так что время ожидания
прогрессивно увеличивается. Поэтому по умолчанию мы будем ждать 5 секунд, 10 секунд, затем 15 секунд.
перед тем, как сообщить об ошибке на резервный сервер. Это будет интерпретироваться как
конец восстановления, и в результате полностью перейдет в ждущий режим.
-s время сна
Установите количество секунд (до 60, по умолчанию 5) для перехода в спящий режим между тестами, чтобы проверить,
WAL файл для восстановления пока доступен в архиве. Настройка по умолчанию не
обязательно рекомендуется; см. Раздел 25.2 «Резервные серверы доставки журналов» в
документация для обсуждения.
-t файл-триггер
Укажите файл триггера, присутствие которого должно вызывать аварийное переключение. Рекомендуется, чтобы
вы используете структурированное имя файла, чтобы избежать путаницы относительно того, какой сервер
срабатывает, когда в одной системе существует несколько серверов; Например
/tmp/pgsql.trigger.5432.
-V
--версия
Распечатайте версию pg_standby и выйдите.
-w максимальное время ожидания
Установите максимальное количество секунд для ожидания следующего файла WAL, после чего быстрое
аварийное переключение будет выполнено. Установка нуля (по умолчанию) означает вечное ожидание. В
установка по умолчанию не обязательно рекомендуется; см. Раздел 25.2, «Доставка журналов
Резервные серверы »в документации для обсуждения.
-?
--Помогите
Показать справку об аргументах командной строки pg_standby и выйти.
ПРИМЕЧАНИЯ
pg_standby разработан для работы с PostgreSQL 8.2 и новее.
PostgreSQL 8.3 предоставляет макрос% r, который позволяет pg_standby узнавать последний
файл, который необходимо сохранить. В PostgreSQL 8.2 параметр -k необходимо использовать, если очистка архива
требуется. Эта опция остается доступной в версии 8.3, но ее использование не рекомендуется.
PostgreSQL 8.4 предоставляет Recovery_end_command вариант. Без этой опции остатки
Файл-триггер может быть опасным.
pg_standby написан на C и имеет легко модифицируемый исходный код, в частности
определенные разделы, которые можно изменить для своих нужд
ПРИМЕРЫ
В системах Linux или Unix вы можете использовать:
archive_command = 'cp% p ... / archive /% f'
restore_command = 'pg_standby -d -s 2 -t /tmp/pgsql.trigger.5442 ... / архив% f% p% r 2 >> standby.log'
recovery_end_command = 'rm -f /tmp/pgsql.trigger.5442'
где каталог архива физически расположен на резервном сервере, так что
команда_архива обращается к нему через NFS, но файлы являются локальными по отношению к резервному
(позволяет использовать ln). Это будет:
· Производить отладочную информацию в standby.log
· Спать в течение 2 секунд между проверками доступности следующего файла WAL
· Прекращать ожидание только тогда, когда появляется файл триггера с именем /tmp/pgsql.trigger.5442, и
выполнить аварийное переключение в соответствии с его содержанием
· Удалить файл триггера по окончании восстановления
· Удалить ненужные файлы из каталога архива
В Windows вы можете использовать:
archive_command = 'копировать% p ... \\ архив \\% f'
restore_command = 'pg_standby -d -s 5 -t C: \ pgsql.trigger.5442 ... \ archive% f% p% r 2 >> standby.log'
recovery_end_command = 'дель C: \ pgsql.trigger.5442'
Обратите внимание, что обратную косую черту необходимо удвоить в команда_архива, Но в
команда восстановления_команда or Recovery_end_command. Это будет:
· Используйте команду copy для восстановления файлов WAL из архива
· Производить отладочную информацию в standby.log
· Спать в течение 5 секунд между проверками доступности следующего файла WAL
· Прекращать ожидание только тогда, когда появляется файл триггера с именем C: \ pgsql.trigger.5442, и
выполнить аварийное переключение в соответствии с его содержанием
· Удалить файл триггера по окончании восстановления
· Удалить ненужные файлы из каталога архива
Команда копирования в Windows устанавливает окончательный размер файла до того, как файл будет полностью скопирован,
что обычно сбивает с толку pg_standby. Следовательно, pg_standby ждет секунды сна.
как только он увидит нужный размер файла. Cp GNUWin32 устанавливает размер файла только после файла
копия завершена.
Поскольку в примере Windows используется копия на обоих концах, один или оба сервера могут быть
доступ к каталогу архива по сети.
Используйте pg_standby онлайн с помощью сервисов onworks.net