pg_recvlogical
pg_recvlogical â ÑпÑавление поÑоками логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Postgres Pro
СинÑакÑиÑ
pg_recvlogical [паÑамеÑÑ...]
ÐпиÑание
УÑилиÑа pg_recvlogical ÑпÑавлÑÐµÑ ÑлоÑами логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð°Ð½Ð½Ñе из ÑакиÑ
ÑлоÑов ÑепликаÑии.
Ðна ÑоздаÑÑ Ñоединение в Ñежиме ÑепликаÑии, Ñак ÑÑо на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ñе же огÑаниÑениÑ, ÑÑо и Ñ pg_receivexlog, плÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии (Ñм. ÐлавÑ 46).
ÐаÑамеÑÑÑ
ÐÐ»Ñ Ð²ÑбоÑа дейÑÑÐ²Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм один из ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов:
--create-slotСоздаÑÑ Ð½Ð¾Ð²Ñй ÑÐ»Ð¾Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданнÑм аÑгÑменÑом
--slot, иÑполÑзÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñвода, заданнÑй аÑгÑменÑом--plugin, Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñказанной в--dbname.--drop-slotУдалиÑÑ ÑÐ»Ð¾Ñ ÑепликаÑии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданнÑм аÑгÑменÑом
--slot, и завеÑÑиÑÑÑÑ.--startÐаÑаÑÑ Ð¿ÑиÑм поÑока изменений из ÑлоÑа логиÑеÑкой ÑепликаÑии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданнÑм аÑгÑменÑом
--slot, и пÑодолжаÑÑ Ð´Ð¾ Ñигнала пÑеÑÑваниÑ. ÐÑли пеÑедаÑа поÑока пÑеÑÑваеÑÑÑ Ð½Ð° дÑÑгой ÑÑоÑоне из-за вÑклÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оÑÑановки ÑеÑвеÑа, Ñикл подклÑÑÐµÐ½Ð¸Ñ Ð¸ пеÑедаÑи повÑоÑÑеÑÑÑ (еÑли не добавлен паÑамеÑÑ--no-loop).ФоÑÐ¼Ð°Ñ Ð¿Ð¾Ñока опÑеделÑеÑÑÑ Ð¼Ð¾Ð´Ñлем вÑвода, вÑбÑаннÑм пÑи Ñоздании ÑлоÑа.
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ñока подклÑÑаÑÑÑÑ Ð½Ñжно к Ñой же базе, Ð´Ð»Ñ ÐºÐ¾ÑоÑой ÑоздавалÑÑ ÑлоÑ.
ÐаÑамеÑÑÑ --create-slot и --start иÑклÑÑаÑÑ Ð´ÑÑг дÑÑга. ÐейÑÑвие --drop-slot неÑовмеÑÑимо Ñ Ð»ÑбÑми дÑÑгими дейÑÑвиÑми.
СледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки ÑпÑавлÑÑÑ ÑаÑположением и ÑоÑмаÑом вÑводимÑÑ Ð´Ð°Ð½Ð½ÑÑ , а Ñакже дÑÑгим поведением ÑепликаÑии:
-fимÑ_Ñайла--file=имÑ_ÑайлаÐапиÑÑваÑÑ Ð¿Ð¾Ð»ÑÑеннÑе и декодиÑованнÑе даннÑе ÑÑанзакÑий в ÑказаннÑй Ñайл. ÐÐ»Ñ Ð²Ñвода в stdout ÑкажиÑе
-(минÑÑ).-FÑекÑндÑ--fsync-interval=ÑекÑндÑУÑÑанавливаеÑ, как ÑаÑÑо pg_recvlogical бÑÐ´ÐµÑ Ð²ÑзÑваÑÑ
fsync(), ÑÑÐ¾Ð±Ñ Ð³Ð°ÑанÑиÑоваÑÑ, ÑÑо вÑÑ Ð¾Ð´Ð½Ð¾Ð¹ Ñайл надÑжно ÑÐ¾Ñ ÑанÑн на диÑке.СеÑÐ²ÐµÑ Ð²ÑÐµÐ¼Ñ Ð¾Ñ Ð²Ñемени даÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑÐ¾Ñ ÑаниÑÑ Ð´Ð°Ð½Ð½Ñе и ÑообÑиÑÑ ÑÐ¾Ñ ÑанÑннÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑ, но ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑполнÑÑÑ ÑÐ¾Ñ Ñанение ÑаÑе.
ÐÑи знаÑении, Ñавном
0, ÑÑнкÑиÑfsync()вообÑе не вÑзÑваеÑÑÑ, но ÑеÑвеÑÑ ÑообÑаеÑÑÑ Ð½Ð¾Ð²Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑиÑ. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе даннÑÑ Ð² ÑлÑÑае ÑбоÑ.-Ilsn--startpos=lsnÐ Ñежиме
--startÑепликаÑÐ¸Ñ Ð½Ð°ÑнÑÑÑÑ Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ LSN. Ðак ÑÑо ÑабоÑаеÑ, подÑобно опиÑÑваеÑÑÑ Ð² Ðлаве 46 и Разделе 50.3. РдÑÑÐ³Ð¸Ñ ÑÐµÐ¶Ð¸Ð¼Ð°Ñ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ.--if-not-existsÐе вÑдаваÑÑ Ð¾ÑибкÑ, когда Ñказан паÑамеÑÑ
--create-slotи ÑÐ»Ð¾Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм именем Ñже ÑÑÑеÑÑвÑеÑ.-n--no-loopÐогда подклÑÑение к ÑеÑвеÑÑ Ð¿Ð¾ÑеÑÑно, не повÑоÑÑÑÑ Ñикл, пÑоÑÑо завеÑÑиÑÑ ÑабоÑÑ.
-oимÑ[=знаÑение]--option=имÑ[=знаÑение]ÐеÑедаÑÑ Ð¿Ð°ÑамеÑÑ
имÑ_паÑамеÑÑамодÑÐ»Ñ Ð²Ñвода, пÑи ÑÑом Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑедано и егознаÑение. ÐÐ°Ð±Ð¾Ñ Ð¿Ð°ÑамеÑÑов и Ð¸Ñ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÑÑ Ð¾Ñ Ð²ÑбÑанного модÑÐ»Ñ Ð²Ñвода.-PмодÑлÑ--plugin=модÑлÑÐÑполÑзоваÑÑ ÑказаннÑй модÑÐ»Ñ Ð²Ñвода логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи Ñоздании ÑлоÑа. См. ÐлавÑ 46. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ дейÑÑвÑеÑ, еÑли ÑÐ»Ð¾Ñ Ñже ÑÑÑеÑÑвÑеÑ.
-sÑекÑндÑ--status-interval=ÑекÑндÑÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ Ñак же, как одноимÑннÑй паÑамеÑÑ pg_receivexlog (Ñм. его опиÑание Ñам).
-SимÑ_ÑлоÑа--slot=имÑ_ÑлоÑаÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¸Ð¼Ñ ÑлоÑа логиÑеÑкой ÑепликаÑии, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² Ñежиме
--start, ÑоздаваÑÑÑÑ Ð² Ñежиме--create-slotили ÑдалÑÑÑÑÑ Ð² Ñежиме--drop-slot.-v--verboseÐклÑÑÐ°ÐµÑ Ñежим подÑобнÑÑ ÑообÑений.
Ðалее опиÑÐ°Ð½Ñ Ð¿Ð°ÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑением.
-dбаза_даннÑÑ--dbname=база_даннÑÑÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÑбиÑÐ°ÐµÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. Ðак именно она иÑполÑзÑеÑÑÑ, можно ÑзнаÑÑ Ð² опиÑании ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð´ÐµÐ¹ÑÑвий. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÑока подклÑÑÐµÐ½Ð¸Ñ libpq; за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 31.1.1. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ полÑзоваÑелÑ.
-hимÑ_компÑÑÑеÑа-или-ip--host=имÑ_компÑÑÑеÑа-или-ipУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, на коÑоÑом ÑабоÑÐ°ÐµÑ ÑеÑвеÑ. ÐÑли знаÑение наÑинаеÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ, оно опÑеделÑÐµÑ ÐºÐ°Ñалог Unix-ÑокеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÐµÑÑÑÑÑ Ð¸Ð· пеÑеменной окÑÑжениÑ
PGHOST, еÑли она ÑÑÑановлена. РпÑоÑивном ÑлÑÑае вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к Unix-ÑокеÑÑ.-pпоÑÑ--port=поÑÑУказÑÐ²Ð°ÐµÑ TCP-поÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑение Ñайла локалÑного Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¿ÐµÑеменной окÑÑжениÑ
PGPORT, еÑли она ÑÑÑановлена, либо ÑиÑлом, заданнÑм пÑи компилÑÑии.-Uuser--username=userÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо Ð¸Ð¼Ñ ÑекÑÑего полÑзоваÑÐµÐ»Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑемÑ.
-w--no-passwordÐе вÑдаваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð½Ð° ввод паÑолÑ. ÐÑли ÑеÑÐ²ÐµÑ ÑÑебÑÐµÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑÐ¾Ð»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð½Ðµ доÑÑÑпен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑÑедÑÑв, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ñайл
.pgpass, попÑÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в пакеÑнÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸ÑÑ Ð¸ ÑкÑипÑÐ°Ñ , где Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑолÑ.-W--passwordÐÑинÑдиÑелÑно запÑаÑиваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¿ÐµÑед подклÑÑением к базе даннÑÑ .
ÐÑо неÑÑÑеÑÑвеннÑй паÑамеÑÑ, Ñак как pg_recvlogical запÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð°Ð²ÑомаÑиÑеÑки, еÑли ÑеÑÐ²ÐµÑ Ð¿ÑовеÑÑÐµÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑÑ Ð¿Ð¾ паÑолÑ. Ðднако, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ ÑÑо, pg_recvlogical лиÑний Ñаз подклÑÑаеÑÑÑ Ðº ÑеÑвеÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ввеÑÑи
-W, ÑÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ ÑÑÑ Ð½ÐµÐ½ÑжнÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
Также еÑÑÑ ÑледÑÑÑие дополниÑелÑнÑе паÑамеÑÑÑ:
-V--versionСообÑиÑÑ Ð²ÐµÑÑÐ¸Ñ pg_recvlogical и завеÑÑиÑÑÑÑ.
-?--helpÐоказаÑÑ ÑпÑÐ°Ð²ÐºÑ Ð¿Ð¾ аÑгÑменÑам командной ÑÑÑоки pg_recvlogical и завеÑÑиÑÑÑÑ.
ÐеÑеменнÑе окÑÑжениÑ
Ðак и болÑÑинÑÑво дÑÑÐ³Ð¸Ñ ÑÑÐ¸Ð»Ð¸Ñ Postgres Pro, пÑиложение Ñакже иÑполÑзÑÐµÑ Ð¿ÐµÑеменнÑе окÑÑжениÑ, поддеÑживаемÑе libpq (Ñм. Раздел 31.14).
ÐÑимеÑÑ
ÐÑимеÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в Разделе 46.1.