Это команда pg_receivexlog, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pg_receivexlog - потоковая передача журналов транзакций с сервера PostgreSQL
СИНТАКСИС
pg_receivexlog [вариант...]
ОПИСАНИЕ
pg_receivexlog используется для потоковой передачи журнала транзакций из работающего кластера PostgreSQL.
Журнал транзакций передается в потоковом режиме с использованием протокола потоковой репликации и записывается
в локальный каталог файлов. Этот каталог можно использовать в качестве хранилища архива для
выполнение восстановления с использованием восстановления на определенный момент времени (см. Раздел 24.3, «Непрерывное архивирование и
Восстановление на момент времени (PITR) »в документации).
pg_receivexlog передает журнал транзакций в реальном времени по мере его создания на
server и не ждет завершения сегментов, как это делает archive_command. Для этого
По этой причине нет необходимости устанавливать archive_timeout при использовании pg_receivexlog.
В отличие от получателя WAL резервного сервера PostgreSQL, pg_receivexlog по умолчанию сбрасывает
Данные WAL только тогда, когда файл WAL закрыт. Опция - синхронный должен быть указан
сбрасывать данные WAL в реальном времени.
Журнал транзакций передается через обычное соединение PostgreSQL и использует
протокол репликации. Подключение должно быть выполнено с суперпользователем или пользователем, имеющим
Разрешения REPLICATION (см. Раздел 20.2, «Атрибуты ролей» в документации) и
pg_hba.conf должен разрешать соединение репликации. Сервер также должен быть настроен
с max_wal_senders достаточно высоким, чтобы оставить хотя бы один сеанс доступным для
поток.
Если соединение потеряно или не может быть установлено изначально, с нефатальным
ошибка, pg_receivexlog будет пытаться установить соединение бесконечно и восстановит потоковую передачу как
как можно скорее. Чтобы избежать такого поведения, используйте параметр -n.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-D каталог
--directory =каталог
Каталог для записи вывода.
Этот параметр обязателен.
- если-не-существует
Не допускайте ошибок, когда --создать-слот указан и слот с указанным
имя уже существует.
-n
--без петли
Не зацикливайтесь на ошибках подключения. Вместо этого сразу выйдите с ошибкой.
-s интервал
--status-interval =интервал
Задает количество секунд между пакетами состояния, отправленными обратно на сервер. Этот
позволяет упростить мониторинг прогресса с сервера. Нулевое значение отключает
периодические обновления статуса полностью, хотя обновление все равно будет отправлено, когда
запрашивается сервером, чтобы избежать отключения по таймауту. Значение по умолчанию - 10 секунд.
-S название слота
--slot =название слота
Требовать от pg_receivexlog использования существующего слота репликации (см. Раздел 25.2.6,
«Слоты репликации» в документации). Когда используется эта опция, pg_receivexlog
сообщит серверу о состоянии промывки, указывая, когда каждый сегмент был
синхронизируется с диском, чтобы сервер мог удалить этот сегмент, если это не так.
необходимо.
Когда клиент репликации pg_receivexlog настроен на сервере как
синхронный режим ожидания, затем с помощью слота репликации будет сообщаться положение промывки в
сервер, но только когда файл WAL закрыт. Следовательно, эта конфигурация будет
заставляют транзакции на первичном сервере ждать долгое время и эффективно не работать
удовлетворительно. Опция --synchronous (см. Ниже) должна быть указана в дополнение к
сделайте так, чтобы это работало правильно.
- синхронный
Сбросьте данные WAL на диск сразу после их получения. Также отправьте статус
пакет обратно на сервер сразу после сброса, независимо от --status-interval.
Эта опция должна быть указана, если клиент репликации pg_receivexlog
настроен на сервере как синхронный резерв, чтобы гарантировать своевременную обратную связь
отправлено на сервер.
-v
--подробный
Включает подробный режим.
Следующие параметры командной строки управляют параметрами подключения к базе данных.
-d Connstr
--dbname =Connstr
Задает параметры, используемые для подключения к серверу, в виде строки подключения. Видеть
Раздел 31.1.1, «Строки подключения», в документации для получения дополнительной информации.
Параметр называется --dbname для согласованности с другими клиентскими приложениями, но
поскольку pg_receivexlog не подключается к какой-либо конкретной базе данных в кластере,
имя базы данных в строке подключения будет проигнорировано.
-h кашель
--host =кашель
Задает имя хоста машины, на которой работает сервер. Если значение
начинается с косой черты, он используется как каталог для сокета домена Unix. В
по умолчанию берется из ПРИЗРАК переменная окружения, если установлена, иначе домен Unix
попытка подключения к сокету.
-p порт
--port =порт
Задает TCP-порт или расширение файла локального сокета домена Unix, на котором сервер
прослушивает соединения. По умолчанию ПГПОРТ переменная окружения, если установлена, или
встроенное значение по умолчанию.
-U username
--username =username
Имя пользователя для подключения.
-w
--нет пароля
Никогда не запрашивайте пароль. Если сервер требует аутентификации по паролю и
пароль недоступен другими способами, такими как файл .pgpass, соединение
попытка не удастся. Эта опция может быть полезна в пакетных заданиях и скриптах, где нет пользователей.
присутствует для ввода пароля.
-W
--пароль
Заставьте pg_receivexlog запрашивать пароль перед подключением к базе данных.
Этот параметр никогда не является существенным, поскольку pg_receivexlog автоматически запрашивает
пароль, если сервер требует аутентификации по паролю. Однако pg_receivexlog будет
терять попытки соединения, обнаружив, что серверу нужен пароль. В некоторых случаях
стоит набрать -W чтобы избежать лишних попыток подключения.
pg_receivexlog может выполнять одно из двух следующих действий для управления физическим
слоты репликации:
--создать-слот
Создайте новый слот физической репликации с именем, указанным в --слот, затем выйдите.
--drop-слот
Отбросьте слот репликации с именем, указанным в --слот, затем выйдите.
Также доступны другие варианты:
-V
--версия
Распечатайте версию pg_receivexlog и выйдите.
-?
--Помогите
Показать справку об аргументах командной строки pg_receivexlog и выйти.
ОКРУЖАЮЩАЯ СРЕДА
Эта утилита, как и большинство других утилит PostgreSQL, использует переменные среды
поддерживается libpq (см. Раздел 31.14, «Переменные среды» в документации).
ПРИМЕЧАНИЯ
При использовании pg_receivexlog вместо archive_command в качестве основного метода резервного копирования WAL это
настоятельно рекомендуется использовать слоты репликации. В противном случае сервер может быть переработан или
удалите файлы журнала транзакций перед их резервным копированием, потому что в нем нет
информация из archive_command или из слотов репликации о том, как далеко WAL
поток был заархивирован. Обратите внимание, однако, что слот репликации заполнит сервер
дисковое пространство, если получатель не успевает за выборкой данных WAL.
ПРИМЕРЫ
Чтобы передать журнал транзакций с сервера на mydbserver и сохранить его в локальном
каталог / usr / local / pgsql / архив:
$ pg_receivexlog -h mydbserver -D / usr / местные / pgsql / архив
Используйте pg_receivexlog в Интернете с помощью сервисов onworks.net