pg_receivewal
pg_receivewal â полÑÑиÑÑ Ð¶ÑÑÐ½Ð°Ð»Ñ Ð¿ÑедзапиÑи Ñ ÑеÑвеÑа Postgres Pro
СинÑакÑиÑ
pg_receivewal [паÑамеÑÑ...]
ÐпиÑание
УÑилиÑа pg_receivewal пÑедназнаÑена Ð´Ð»Ñ Ð¿ÑиÑма жÑÑнала пÑедзапиÑи Ð¾Ñ ÑабоÑаÑÑего клаÑÑеÑа Postgres Pro. ÐÑÑнал пÑедзапиÑи пеÑедаÑÑÑÑ Ð¿Ð¾ пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð¿Ð¾Ñоковой ÑепликаÑии и запиÑÑваеÑÑÑ Ð² локалÑнÑй каÑалог. ÐаÑем ÑÑÐ¾Ñ ÐºÐ°Ñалог можно иÑполÑзоваÑÑ Ð² каÑеÑÑве аÑÑ Ð¸Ð²Ð° Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени (Ñм. Раздел 24.3).
pg_receivewal пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¶ÑÑнал пÑедзапиÑи в ÑеалÑном вÑемени по меÑе Ñого, как он генеÑиÑÑеÑÑÑ Ð½Ð° ÑеÑвеÑе, и не ждÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑегменÑов, как ÑÑо Ð´ÐµÐ»Ð°ÐµÑ archive_command. ÐоÑÑÐ¾Ð¼Ñ pg_receivewal можно иÑполÑзоваÑÑ, не ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ archive_timeout.
РоÑлиÑие Ð¾Ñ Ð¿ÑиÑмника WAL, ÑабоÑаÑÑего на ведомом ÑеÑвеÑе Postgres Pro, pg_receivewal по ÑмолÑÐ°Ð½Ð¸Ñ ÑоÑ
ÑанÑÐµÑ Ð½Ð° диÑк даннÑе WAL, ÑолÑко когда Ñайл WAL закÑÑваеÑÑÑ. ÐÐ»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
WAL в ÑеалÑном вÑемени необÑ
одимо иÑполÑзоваÑÑ ÐºÐ»ÑÑ --synchronous. Так как пÑиÑмник pg_receivewal не пÑименÑÐµÑ WAL, важно не допÑÑÑиÑÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½ ÑÑал ÑинÑ
ÑоннÑм ведомÑм ÑеÑвеÑом, когда паÑамеÑÑ synchronous_commit Ñавен remote_apply. ÐÑли ÑÑо пÑоизойдÑÑ, он бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ ÐºÐ°Ðº ведомÑй, коÑоÑÑй никогда не Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð³Ð½Ð°ÑÑ Ð²ÐµÐ´ÑÑего, ÑÑо пÑиведÑÑ Ðº блокиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑикÑаÑии ÑÑанзакÑий. ЧÑÐ¾Ð±Ñ ÑÑо пÑедоÑвÑаÑиÑÑ, нÑжно либо ÑÑÑановиÑÑ Ð¿Ð¾Ð´Ñ
одÑÑее знаÑение паÑамеÑÑа synchronous_standby_names, либо задаÑÑ Ð´Ð»Ñ pg_receivewal Ñакое Ð¸Ð¼Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (application_name), коÑоÑое не ÑооÑвеÑÑÑвÑÐµÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸, либо вÑбÑаÑÑ Ð´Ð»Ñ synchronous_commit знаÑение, оÑлиÑное Ð¾Ñ remote_apply.
ÐÑÑнал пÑедзапиÑи пеÑедаÑÑÑÑ ÑеÑез обÑÑное подклÑÑение к Postgres Pro, Ñ Ð¸ÑполÑзованием пÑоÑокола ÑепликаÑии. ÐодклÑÑение должен ÑÑÑанавливаÑÑ ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ полÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавом REPLICATION (Ñм. Раздел 20.2), а в pg_hba.conf должно ÑазÑеÑаÑÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение Ð´Ð»Ñ ÑепликаÑии. ÐÑоме Ñого, паÑамеÑÑ max_wal_senders на ÑеÑвеÑе должен бÑÑÑ Ð´Ð¾ÑÑаÑоÑно болÑÑим, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑоздаÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑÐµÐ°Ð½Ñ Ð´Ð»Ñ Ð¿ÐµÑедаÑи поÑока.
ÐаÑалÑÐ½Ð°Ñ ÑоÑка пеÑедаÑи жÑÑнала пÑедзапиÑи вÑÑиÑлÑеÑÑÑ Ð¿Ñи запÑÑке pg_receivewal Ñак:
СнаÑала ÑканиÑÑеÑÑÑ ÐºÐ°Ñалог, в коÑоÑÑй помеÑаÑÑÑÑ ÑÐ°Ð¹Ð»Ñ ÑегменÑов WAL, в нÑм вÑбиÑаеÑÑÑ Ð¿Ð¾Ñледний завеÑÑÑннÑй Ñайл ÑегменÑа, и наÑалÑной ÑоÑкой ÑÑиÑаеÑÑÑ Ð½Ð°Ñало ÑледÑÑÑего Ñайла ÑегменÑа WAL.
ÐÑли вÑÑиÑлиÑÑ Ð½Ð°ÑалÑнÑÑ ÑоÑÐºÑ Ð¿ÑедÑдÑÑим ÑпоÑобом не ÑдаÑÑÑÑ, иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑледнÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑÐ¾Ñ ÑанÑннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² WAL, коÑоÑÑÑ Ð²ÑдаÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°
IDENTIFY_SYSTEM.
ÐÑли подклÑÑение ÑазоÑвалоÑÑ Ð¸Ð»Ð¸ его c Ñамого наÑала не ÑдаÑÑÑÑ ÑÑÑановиÑÑ Ð¸Ð·-за некÑиÑиÑеÑкой оÑибки, pg_receivewal бÑÐ´ÐµÑ Ð±ÐµÑконеÑно повÑоÑÑÑÑ Ð¿Ð¾Ð¿ÑÑки подклÑÑÐµÐ½Ð¸Ñ Ð¸ воÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð¿ÐµÑедаÑÑ, как ÑолÑко ÑможеÑ. ЧÑÐ¾Ð±Ñ Ð¾ÑмениÑÑ ÑÑо поведение, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом -n.
РоÑÑÑÑÑÑвие кÑиÑиÑнÑÑ Ð¾Ñибок pg_receivewal бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð´Ð¾ пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ñигналом SIGINT (Control+C).
ÐаÑамеÑÑÑ
-DкаÑалог--directory=каÑалогÐаÑалог, в коÑоÑÑй бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð´Ð°Ð½Ð½Ñе.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм.
-Elsn--endpos=lsnÐвÑомаÑиÑеÑки пÑекÑаÑиÑÑ ÑепликаÑÐ¸Ñ Ð¸ завеÑÑиÑÑ ÑабоÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ вÑÑ Ð¾Ð´Ð° 0 (без оÑибки) пÑи доÑÑижении заданного LSN.
ÐÑли бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑена запиÑÑ Ñ LSN, ÑавнÑм заданномÑ
lsn, она бÑÐ´ÐµÑ Ð¾Ð±ÑабоÑана.--if-not-existsÐе вÑдаваÑÑ Ð¾ÑибкÑ, когда Ñказан паÑамеÑÑ
--create-slotи ÑÐ»Ð¾Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм именем Ñже ÑÑÑеÑÑвÑеÑ.-n--no-loopÐе повÑоÑÑÑÑ Ñикл пÑи оÑÐ¸Ð±ÐºÐ°Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ, а ÑÑÐ°Ð·Ñ Ð·Ð°Ð²ÐµÑÑаÑÑ ÑабоÑÑ, возвÑаÑÐ°Ñ Ð¾ÑибкÑ.
--no-syncС ÑÑим клÑÑом
pg_receivewalне бÑÐ´ÐµÑ Ð¿ÑинÑдиÑелÑно ÑбÑаÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе WAL на диÑк. ÐÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð±ÑÑÑÑее, но пÑи поÑледÑÑÑем Ñбое опеÑаÑионной ÑиÑÑÐµÐ¼Ñ ÑегменÑÑ WAL могÑÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¸ÑпоÑÑеннÑми. ÐбÑÑно ÑÑÐ¾Ñ ÐºÐ»ÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ пÑи ÑеÑÑиÑовании, но пÑи Ñоздании аÑÑ Ð¸Ð²Ð° WAL в пÑоизводÑÑвенной ÑÑеде иÑполÑзоваÑÑ ÐµÐ³Ð¾ не ÑледÑеÑ.ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð½ÐµÑовмеÑÑим Ñ
--synchronous.-sинÑеÑвал--status-interval=инÑеÑвалУказÑÐ²Ð°ÐµÑ Ð¸Ð½ÑеÑвал в ÑекÑÐ½Ð´Ð°Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑпÑавками ÑеÑвеÑÑ Ð¿Ð°ÐºÐµÑов ÑоÑÑоÑниÑ. ÐÑо позволÑÐµÑ ÑпÑоÑÑиÑÑ Ð¼Ð¾Ð½Ð¸ÑоÑинг пÑогÑеÑÑа. ЧÑÐ¾Ð±Ñ Ð²ÑклÑÑиÑÑ Ð¿ÐµÑиодиÑеÑкое обновление ÑоÑÑоÑниÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑÑановиÑÑ Ð·Ð½Ð°Ñение в нолÑ. ÐÑи ÑÑом обновление бÑÐ´ÐµÑ Ð¾ÑпÑавлÑÑÑÑÑ Ð¿Ð¾ запÑоÑÑ ÑеÑвеÑа Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¾ÑÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ иÑÑеÑÐµÐ½Ð¸Ñ Ð²Ñемени. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ ÑоÑÑавлÑÐµÑ 10 ÑекÑнд.
-SимÑ_ÑлоÑа--slot=имÑ_ÑлоÑаУказÑÐ²Ð°ÐµÑ pg_receivewal иÑполÑзоваÑÑ ÑÑÑеÑÑвÑÑÑий ÑÐ»Ð¾Ñ ÑепликаÑии (Ñм. ÐодÑаздел 25.2.6). Ðогда задан ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, pg_receivewal бÑÐ´ÐµÑ ÑообÑаÑÑ ÑеÑвеÑÑ ÑекÑÑÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑÐ¾Ñ ÑанениÑ, оÑмеÑаÑ, какой ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð±Ñл ÑÐ¾Ñ ÑанÑн на диÑке, ÑÑÐ¾Ð±Ñ ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð³ ÑдалиÑÑ ÑÑÐ¾Ñ ÑегменÑ, еÑли он болÑÑе не нÑжен.
Ðогда ÐºÐ»Ð¸ÐµÐ½Ñ ÑепликаÑии pg_receivewal наÑÑÑоен на ÑеÑвеÑе как ÑÐ¸Ð½Ñ ÑоннÑй ведомÑй ÑеÑвеÑ, Ð´Ð»Ñ Ð¸ÑполÑзÑемого ÑлоÑа ÑепликаÑии ÑеÑвеÑÑ Ð±ÑÐ´ÐµÑ Ð¿ÐµÑедаваÑÑÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑÐ¾Ñ ÑанÑннÑÑ Ð´Ð°Ð½Ð½ÑÑ , но ÑолÑко когда Ñайл WAL закÑÑваеÑÑÑ. Таким обÑазом, в Ñакой конÑигÑÑаÑии ÑÑанзакÑии на ведÑÑем ÑеÑвеÑе бÑдÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ð¿ÑодолжиÑелÑное вÑÐµÐ¼Ñ Ð¸ по ÑÑÑи бÑдÑÑ ÑабоÑаÑÑ Ð½ÐµÑдовлеÑвоÑиÑелÑно. ЧÑÐ¾Ð±Ñ ÑÑа конÑигÑÑаÑÐ¸Ñ ÑабоÑала коÑÑекÑно, нÑжно дополниÑелÑно ÑказаÑÑ Ð¿Ð°ÑамеÑÑ
--synchronous(Ñм. ниже).--synchronousÐ¡Ð¾Ñ ÑанÑÑÑ Ð´Ð°Ð½Ð½Ñе WAL на диÑк ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле Ñого, как они бÑли полÑÑенÑ. Также пеÑедаваÑÑ Ð¿Ð°ÐºÐµÑ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑÐ¾Ñ ÑанениÑ, вне завиÑимоÑÑи оÑ
--status-interval.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑледÑÐµÑ ÑказÑваÑÑ, еÑли ÐºÐ»Ð¸ÐµÐ½Ñ ÑепликаÑии pg_receivewal наÑÑÑоен на ÑеÑвеÑе как ÑÐ¸Ð½Ñ ÑоннÑй ведомÑй, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ ÑвоевÑеменнÑÑ Ð¿ÐµÑедаÑÑ Ð¾ÑвеÑа ÑеÑвеÑÑ.
-v--verboseÐклÑÑÐ°ÐµÑ Ñежим подÑобнÑÑ ÑообÑений.
-ZÑÑовенÑ--compress=ÑÑовенÑÐклÑÑÐ°ÐµÑ gzip-ÑжаÑие жÑÑналов пÑедзапиÑи и задаÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑÐ¸Ñ Ð¾Ñ 0 (без ÑжаÑиÑ) до 9 (макÑималÑное ÑжаÑие). ÐÑи ÑÑом ко вÑем именам Ñайлов tar добавлÑеÑÑÑ ÑÑÑÑикÑ
.gz.
Ðалее опиÑÐ°Ð½Ñ Ð¿Ð°ÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑением.
-dÑÑÑока_подклÑÑениÑ--dbname=ÑÑÑока_подклÑÑениÑУказÑÐ²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ Ð² ÑоÑмаÑе ÑÑÑоки подклÑÑениÑ; они бÑдÑÑ Ð¿ÐµÑеопÑеделÑÑÑ Ð»ÑбÑе одноимÑннÑе паÑамеÑÑÑ, заданнÑе в командной ÑÑÑоке.
ÐаÑамеÑÑ Ð½Ð°Ð·ÑваеÑÑÑ
--dbnameÐ´Ð»Ñ ÑоглаÑованноÑÑи Ñ Ð´ÑÑгими клиенÑÑкими пÑиложениÑми, но Ñак как pg_receivewal не подклÑÑаеÑÑÑ Ðº какой-либо конкÑеÑной базе, ÑÑо Ð¸Ð¼Ñ Ð² ÑÑÑоке подклÑÑÐµÐ½Ð¸Ñ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ.-hÑеÑвеÑ--host=ÑеÑвеÑУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, на коÑоÑом ÑабоÑÐ°ÐµÑ ÑеÑвеÑ. ÐÑли знаÑение наÑинаеÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ, оно опÑеделÑÐµÑ ÐºÐ°Ñалог Unix-ÑокеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÐµÑÑÑÑÑ Ð¸Ð· пеÑеменной окÑÑжениÑ
PGHOST, еÑли она ÑÑÑановлена. РпÑоÑивном ÑлÑÑае вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к Unix-ÑокеÑÑ.-pпоÑÑ--port=поÑÑУказÑÐ²Ð°ÐµÑ TCP-поÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑение Ñайла локалÑного Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¿ÐµÑеменной окÑÑжениÑ
PGPORT, еÑли она ÑÑÑановлена, либо ÑиÑлом, заданнÑм пÑи компилÑÑии.-UимÑ_полÑзоваÑелÑ--username=имÑ_полÑзоваÑелÑÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
-w--no-passwordÐе вÑдаваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð½Ð° ввод паÑолÑ. ÐÑли ÑеÑÐ²ÐµÑ ÑÑебÑÐµÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑÐ¾Ð»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð½Ðµ доÑÑÑпен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑÑедÑÑв, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ñайл
.pgpass, попÑÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в пакеÑнÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸ÑÑ Ð¸ ÑкÑипÑÐ°Ñ , где Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑолÑ.-W--passwordÐÑинÑдиÑелÑно запÑаÑиваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¿ÐµÑед подклÑÑением к базе даннÑÑ .
ÐÑо неÑÑÑеÑÑвеннÑй паÑамеÑÑ, Ñак как pg_receivewal запÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð°Ð²ÑомаÑиÑеÑки, еÑли ÑеÑÐ²ÐµÑ Ð¿ÑовеÑÑÐµÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑÑ Ð¿Ð¾ паÑолÑ. Ðднако ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ ÑÑо, pg_receivewal лиÑний Ñаз подклÑÑаеÑÑÑ Ðº ÑеÑвеÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ввеÑÑи
-W, ÑÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ ÑÑÑ Ð½ÐµÐ½ÑжнÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
pg_receivewal Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполниÑÑ Ð¾Ð´Ð½Ð¾ из двÑÑ Ð´ÐµÐ¹ÑÑвий в оÑноÑении ÑлоÑов ÑизиÑеÑкой ÑепликаÑии:
--create-slotСоздаÑÑ ÑÐ»Ð¾Ñ ÑизиÑеÑкой ÑепликаÑии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданнÑм аÑгÑменÑом
--slot, и завеÑÑиÑÑÑÑ.--drop-slotУдалиÑÑ ÑÐ»Ð¾Ñ ÑепликаÑии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданнÑм аÑгÑменÑом
--slot, и завеÑÑиÑÑÑÑ.
ÐÑÑгие Ñлаги:
-V--versionСообÑиÑÑ Ð²ÐµÑÑÐ¸Ñ pg_receivewal и завеÑÑиÑÑÑÑ.
-?--helpÐÑвеÑÑи ÑпÑÐ°Ð²ÐºÑ Ð¿Ð¾ аÑгÑменÑам командной ÑÑÑоки pg_receivewal и завеÑÑиÑÑÑÑ.
Ðод завеÑÑениÑ
pg_receivewal завеÑÑиÑÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ 0 пÑи пÑеÑÑвании Ñигналом SIGINT. (ÐÑо ÑÑаÑнÑй ÑпоÑоб его завеÑÑениÑ, поÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»ÑÑение ÑÑого Ñигнала не ÑÑиÑаеÑÑÑ Ð¾Ñибкой.) ÐÑи кÑиÑиÑеÑÐºÐ¸Ñ Ð¾ÑÐ¸Ð±ÐºÐ°Ñ Ð¸Ð»Ð¸ полÑÑении дÑÑÐ³Ð¸Ñ Ñигналов код завеÑÑÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð½ÐµÐ½ÑлевÑм.
ÐеÑеменнÑе окÑÑжениÑ
ÐÑа ÑÑилиÑа, как и болÑÑинÑÑво дÑÑÐ³Ð¸Ñ ÑÑÐ¸Ð»Ð¸Ñ Postgres Pro, иÑполÑзÑÐµÑ Ð¿ÐµÑеменнÑе ÑÑедÑ, поддеÑживаемÑе libpq (Ñм. Раздел 32.14).
ÐамеÑаниÑ
ÐÑименÑÑ pg_receivewal вмеÑÑо archive_command в каÑеÑÑве оÑновного ÑпоÑоба ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL, наÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑлоÑÑ ÑепликаÑии. РпÑоÑивном ÑлÑÑае ÑеÑÐ²ÐµÑ Ð²Ð¿Ð¾Ð»Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑепиÑаÑÑ Ð¸Ð»Ð¸ ÑдалиÑÑ ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑнала пÑедзапиÑи, пÑежде Ñем они бÑдÑÑ ÑкопиÑованÑ, Ñак как он не полÑÑÐ°ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ инÑоÑмаÑии, ÑеÑез archive_command или ÑлоÑÑ ÑепликаÑии, о Ñом, как пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð°ÑÐ¸Ñ Ð¿Ð¾Ñока WAL. УÑÑиÑе, однако, ÑÑо пÑи иÑполÑзовании ÑлоÑа ÑепликаÑии Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸ÑÑÑÑ Ð²ÑÑ Ð¼ÐµÑÑо на диÑке, еÑли пÑинимаÑÑÐ°Ñ ÑÑоÑона не бÑÐ´ÐµÑ ÑÑпеваÑÑ Ð¿ÑинимаÑÑ Ð´Ð°Ð½Ð½Ñе WAL.
pg_receivewal ÑÐ¾Ñ ÑÐ°Ð½Ð¸Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð³ÑÑÐ¿Ð¿Ñ Ð² полÑÑеннÑÑ ÑÐ°Ð¹Ð»Ð°Ñ WAL, еÑли Ñакие ÑазÑеÑÐµÐ½Ð¸Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ клаÑÑеÑе.
ÐÑимеÑÑ
СледÑÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¶ÑÑнал пÑедзапиÑи Ñ ÑеÑвеÑа mydbserver и ÑоÑ
ÑанÑÐµÑ ÐµÐ³Ð¾ в локалÑном каÑалоге /usr/local/pgsql/archive:
$pg_receivewal -h mydbserver -D /usr/local/pgsql/archive