54.4. ÐÑоÑокол поÑоковой ÑепликаÑии #
ЧÑÐ¾Ð±Ñ Ð¸Ð½Ð¸ÑииÑоваÑÑ Ð¿Ð¾ÑоковÑÑ ÑепликаÑиÑ, ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿ÐµÑедаÑÑ Ð² ÑÑаÑÑовом ÑообÑении паÑамеÑÑ replication. ÐогиÑеÑкое знаÑение true (или on, yes, 1) ÑÑого паÑамеÑÑа ÑказÑÐ²Ð°ÐµÑ Ð¾Ð±ÑлÑживаÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ Ð¿ÐµÑейÑи в Ñежим пеÑедаÑÑика даннÑÑ
ÑизиÑеÑкой ÑепликаÑии. Ð ÑÑом Ñежиме вмеÑÑо SQL-опеÑаÑоÑов ÐºÐ»Ð¸ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑдаваÑÑ ÑолÑко огÑаниÑеннÑй Ð½Ð°Ð±Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ ÑепликаÑии, показаннÑй ниже.
ÐÑли паÑамеÑÑ replication Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение database, обÑлÑживаÑÑий пÑоÑеÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ пеÑейÑи в Ñежим пеÑедаÑÑика даннÑÑ
логиÑеÑкой ÑепликаÑии. ÐÑи ÑÑом вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к базе даннÑÑ
, заданной в паÑамеÑÑе dbname. Ð Ñежиме логиÑеÑкой ÑепликаÑии могÑÑ Ð²ÑполнÑÑÑÑÑ ÐºÐ°Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑепликаÑии, показаннÑе ниже, Ñак и обÑÑнÑе SQL-командÑ.
Ð Ñежиме пеÑедаÑи даннÑÑ ÑизиÑеÑкой или логиÑеÑкой ÑепликаÑии Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко пÑоÑÑой пÑоÑокол запÑоÑов.
ÐÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ ÑепликаÑии Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ Ñоединение Ð´Ð»Ñ ÑепликаÑии, запÑÑÑив psql или дÑÑгÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° базе libpq Ñо ÑÑÑокой подклÑÑениÑ, вклÑÑаÑÑей паÑамеÑÑ replication, напÑÐ¸Ð¼ÐµÑ Ñак:
psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
Ðднако ÑаÑÑо полезнее иÑполÑзоваÑÑ pg_receivewal (Ð´Ð»Ñ ÑизиÑеÑкой ÑепликаÑии) или pg_recvlogical (Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой).
ÐÐ¾Ð¼Ð°Ð½Ð´Ñ ÑепликаÑии запиÑÑваÑÑÑÑ Ð² жÑÑнал ÑабоÑÑ ÑеÑвеÑа, когда вклÑÑÑн паÑамеÑÑ log_replication_commands.
Ð Ñежиме ÑепликаÑии пÑинимаÑÑÑÑ ÑледÑÑÑие командÑ:
IDENTIFY_SYSTEM#ÐапÑаÑÐ¸Ð²Ð°ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑионнÑе даннÑе ÑеÑвеÑа. СеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑокой, ÑодеÑжаÑей ÑеÑÑÑе полÑ:
systemid(text)УникалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑиÑÑемÑ, иденÑиÑиÑиÑÑÑÑий клаÑÑеÑ. Ðо Ð½ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опÑеделиÑÑ, ÑÑо Ð±Ð°Ð·Ð¾Ð²Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, из коÑоÑой иниÑиализиÑовалÑÑ ÑезеÑвнÑй ÑеÑвеÑ, полÑÑена из Ñого же клаÑÑеÑа.
timeline(int8)ÐденÑиÑикаÑÐ¾Ñ ÑекÑÑей линии вÑемени. Также полезен Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо ÑезеÑвнÑй ÑеÑÐ²ÐµÑ ÑоглаÑован Ñ Ð³Ð»Ð°Ð²Ð½Ñм.
xlogpos(text)ТекÑÑее положение ÑÐ¾Ñ ÑанÑннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² WAL. ÐозволÑÐµÑ ÑзнаÑÑ, Ñ ÐºÐ°ÐºÐ¾Ð¹ позиÑии в жÑÑнале пÑедзапиÑи Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑаÑÑÑÑ Ð¿Ð¾ÑÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¿ÐµÑедаÑа.
dbname(text)ÐодклÑÑÑÐ½Ð½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ Ð¸Ð»Ð¸ NULL.
SHOWимÑ#ÐапÑаÑÐ¸Ð²Ð°ÐµÑ Ñ ÑеÑвеÑа ÑекÑÑее знаÑение паÑамеÑÑа вÑемени вÑполнениÑ. ÐÑа команда подобна SQL-команде SHOW.
имÑÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа вÑемени вÑполнениÑ. ÐоÑÑÑпнÑе паÑамеÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð² Ðлаве 18.
TIMELINE_HISTORYлин_вÑем#ÐапÑаÑÐ¸Ð²Ð°ÐµÑ Ñ ÑеÑвеÑа Ñайл иÑÑоÑии Ð´Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¸ вÑемени
лин_вÑем. СеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов в одной ÑÑÑоке, ÑодеÑжаÑей два полÑ. ÐÑи Ð¿Ð¾Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐµÐ½Ñ ÐºÐ°Ðº имеÑÑие Ñипtext, но ÑакÑиÑеÑки они ÑодеÑÐ¶Ð°Ñ Ð¿ÑоÑÑо байÑÑ, не в ÑекÑÑовой кодиÑовке:filename(text)ÐÐ¼Ñ Ñайла Ñ Ð¸ÑÑоÑией линии вÑемени, напÑимеÑ
00000002.history.content(text)СодеÑжимое Ñайла Ñ Ð¸ÑÑоÑией линией вÑемени.
CREATE_REPLICATION_SLOTимÑ_ÑлоÑа[TEMPORARY] {PHYSICAL|LOGICALмодÑлÑ_вÑвода} [ (паÑамеÑÑ[, ...] ) ] #СоздаÑÑ ÑÐ»Ð¾Ñ ÑизиÑеÑкой или логиÑеÑкой ÑепликаÑии. СлоÑÑ ÑепликаÑии опиÑÐ°Ð½Ñ Ð¿Ð¾Ð´Ñобно в ÐодÑазделе 25.2.6.
имÑ_ÑлоÑаÐÐ¼Ñ Ñоздаваемого ÑлоÑа. Ðаданное Ð¸Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ бÑÑÑ Ð´Ð¾Ð¿ÑÑÑимÑм Ð´Ð»Ñ ÑлоÑа ÑепликаÑии (Ñм. ÐодÑаздел 25.2.6.1).
модÑлÑ_вÑводаÐÐ¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñвода, пÑименÑемого Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (Ñм. Раздел 47.6).
TEMPORARYÐÑо Ñказание оÑмеÑаеÑ, ÑÑо даннÑй ÑÐ»Ð¾Ñ ÑепликаÑии ÑвлÑеÑÑÑ Ð²ÑеменнÑм. ÐÑеменнÑе ÑлоÑÑ Ð½Ðµ ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð½Ð° диÑке и авÑомаÑиÑеÑки ÑдалÑÑÑÑÑ Ð¿Ñи оÑибке или завеÑÑении ÑеанÑа.
ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие паÑамеÑÑÑ:
TWO_PHASE [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), ÑÑÐ¾Ñ ÑÐ»Ð¾Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸Ñование двÑÑ Ñазной ÑикÑаÑии. С ÑÑим паÑамеÑÑом декодиÑÑÑÑÑÑ Ð¸ пеÑедаÑÑÑÑ ÑеÑвеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑвÑзаннÑе Ñ Ð´Ð²ÑÑ Ñазной ÑикÑаÑией:
PREPARE TRANSACTION,COMMIT PREPAREDиROLLBACK PREPARED. ТÑанзакÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ Ð¸ пеÑедаваÑÑÑÑ Ð²Ð¾ вÑемÑPREPARE TRANSACTION.RESERVE_WAL [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), ÑÑÐ¾Ñ ÑÐ»Ð¾Ñ ÑизиÑеÑкой ÑепликаÑии ÑезеÑвиÑÑÐµÑ WAL немедленно. Ðез ÑÑого ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ WAL ÑезеÑвиÑÑеÑÑÑ ÑолÑко пÑи подклÑÑении клиенÑа поÑоковой ÑепликаÑии.
SNAPSHOT { 'export' | 'use' | 'nothing' }ÐÑи ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²ÑбиÑаÑÑ, ÑÑо делаÑÑ Ñо Ñнимком, ÑоздаваемÑм пÑи иниÑиализаÑии логиÑеÑкого ÑлоÑа. С Ñказанием
'export', подÑазÑмеваемÑм по ÑмолÑаниÑ, ÑÑÐ¾Ñ Ñнимок бÑÐ´ÐµÑ ÑкÑпоÑÑиÑоваÑÑÑÑ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² дÑÑÐ³Ð¸Ñ ÑеанÑÐ°Ñ . ÐÑо Ñказание нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ð²Ð½ÑÑÑи ÑÑанзакÑии. С Ñказанием'use'Ñнимок бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑекÑÑей ÑÑанзакÑии, в коÑоÑой вÑполнÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°. ÐÑо Ñказание должно иÑполÑзоваÑÑÑÑ Ð² ÑÑанзакÑии, пÑи ÑÑом командаCREATE_REPLICATION_SLOTдолжна бÑÑÑ Ð¿ÐµÑвой в ÑÑой ÑÑанзакÑии. ÐаконеÑ, Ñ'nothing'Ñнимок бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² обÑÑном Ñежиме, и ниÑего болÑÑе Ñ Ð½Ð¸Ð¼ делаÑÑ Ð½ÐµÐ»ÑзÑ.FAILOVER [boolean]ÐÑли паÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение true, ÑÐ»Ð¾Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑÑÑ Ñ ÑезеÑвнÑми ÑеÑвеÑами, ÑÑо позволÑÐµÑ Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкÑÑ ÑепликаÑÐ¸Ñ Ð¿Ð¾Ñле аваÑийного пеÑеклÑÑÐµÐ½Ð¸Ñ Ñзлов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â false.
РоÑÐ²ÐµÑ Ð½Ð° ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑеÑÐ²ÐµÑ Ð¿ÐµÑедаÑÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑокой, ÑодеÑжаÑей ÑледÑÑÑие полÑ:
slot_name(text)ÐÐ¼Ñ Ñоздаваемого ÑлоÑа ÑепликаÑии.
consistent_point(text)ÐозиÑÐ¸Ñ Ð² WAL, в коÑоÑой ÑÐ»Ð¾Ñ Ð´Ð¾ÑÑиг ÑоглаÑованного ÑоÑÑоÑниÑ. ÐÑо ÑÐ°Ð¼Ð°Ñ ÑаннÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑ, Ñ ÐºÐ¾ÑоÑой Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑаÑÑÑÑ ÑÑанÑлÑÑÐ¸Ñ ÑеÑез ÑÑÐ¾Ñ ÑÐ»Ð¾Ñ ÑепликаÑии.
snapshot_name(text)ÐденÑиÑикаÑÐ¾Ñ Ñнимка, ÑкÑпоÑÑиÑованного командой. ÐÑÐ¾Ñ Ñнимок дейÑÑвиÑелен до ÑÐµÑ Ð¿Ð¾Ñ, пока ÑеÑез ÑÑо Ñоединение не бÑÐ´ÐµÑ Ð²Ñполнена ÑледÑÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° или Ñоединение не бÑÐ´ÐµÑ Ð·Ð°ÐºÑÑÑо. Null, еÑли ÑозданнÑй ÑÐ»Ð¾Ñ â ÑизиÑеÑкий.
output_plugin(text)ÐÐ¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñвода, иÑполÑзÑемого ÑозданнÑм ÑлоÑом ÑепликаÑии. Null, еÑли ÑозданнÑй ÑÐ»Ð¾Ñ â ÑизиÑеÑкий.
CREATE_REPLICATION_SLOTимÑ_ÑлоÑа[TEMPORARY] {PHYSICAL[RESERVE_WAL] |LOGICALмодÑлÑ_вÑвода[EXPORT_SNAPSHOT|NOEXPORT_SNAPSHOT|USE_SNAPSHOT|TWO_PHASE] } #Такой ваÑÐ¸Ð°Ð½Ñ Ð·Ð°Ð¿Ð¸Ñи командÑ
CREATE_REPLICATION_SLOTпо-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñо ÑÑаÑÑми веÑÑиÑми.ALTER_REPLICATION_SLOTимÑ_ÑлоÑа(паÑамеÑÑ[, ...] ) #ÐзменÑÐµÑ Ð¾Ð¿Ñеделение ÑлоÑа ÑепликаÑии. СлоÑÑ ÑепликаÑии подÑобно опиÑÐ°Ð½Ñ Ð² ÐодÑазделе 25.2.6. ÐÑа команда ÑейÑÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко Ð´Ð»Ñ ÑлоÑов логиÑеÑкой ÑепликаÑии.
имÑ_ÑлоÑаÐÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½Ñемого ÑлоÑа. Ðаданное Ð¸Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ бÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑнÑм Ð´Ð»Ñ ÑлоÑа ÑепликаÑии (Ñм. ÐодÑаздел 25.2.6.1).
ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие паÑамеÑÑÑ:
TWO_PHASE [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), ÑÑÐ¾Ñ ÑÐ»Ð¾Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸Ñование двÑÑ Ñазной ÑикÑаÑии. С ÑÑим паÑамеÑÑом декодиÑÑÑÑÑÑ Ð¸ пеÑедаÑÑÑÑ ÑеÑвеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑвÑзаннÑе Ñ Ð´Ð²ÑÑ Ñазной ÑикÑаÑией:
PREPARE TRANSACTION,COMMIT PREPAREDиROLLBACK PREPARED. ТÑанзакÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ Ð¸ пеÑедаваÑÑÑÑ Ð²Ð¾ вÑемÑPREPARE TRANSACTION.
FAILOVER [boolean]ÐÑли паÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение true, ÑÐ»Ð¾Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑÑÑ Ñ ÑезеÑвнÑми ÑеÑвеÑами, ÑÑо позволÑÐµÑ Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкÑÑ ÑепликаÑÐ¸Ñ Ð¿Ð¾Ñле аваÑийного пеÑеклÑÑÐµÐ½Ð¸Ñ Ñзлов.
READ_REPLICATION_SLOTимÑ_ÑлоÑа#СÑиÑÑÐ²Ð°ÐµÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑлоÑе ÑепликаÑии. ÐозвÑаÑÐ°ÐµÑ ÐºÐ¾ÑÑеж Ñо знаÑениÑми
NULL, еÑли ÑказаннÑй ÑÐ»Ð¾Ñ ÑепликаÑии не ÑÑÑеÑÑвÑеÑ. ÐÑа команда поддеÑживаеÑÑÑ ÑолÑко Ð´Ð»Ñ ÑлоÑов ÑизиÑеÑкой ÑепликаÑии.РоÑÐ²ÐµÑ Ð½Ð° ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑеÑÐ²ÐµÑ Ð²ÐµÑнÑÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑокой, ÑодеÑжаÑей ÑледÑÑÑие полÑ:
slot_type(text)Тип ÑлоÑа ÑепликаÑии:
physicalилиNULL.restart_lsn(text)restart_lsnÑлоÑа ÑепликаÑии.restart_tli(int8)ÐденÑиÑикаÑÐ¾Ñ Ð»Ð¸Ð½Ð¸Ð¸ вÑемени, ÑвÑзанной Ñ
restart_lsn, в ÑекÑÑей иÑÑоÑии линии вÑемени.
START_REPLICATION[SLOTимÑ_ÑлоÑа] [PHYSICAL]XXX/XXX[TIMELINEлин_вÑем] #УказÑÐ²Ð°ÐµÑ ÑеÑвеÑÑ Ð½Ð°ÑаÑÑ Ð¿Ð¾ÑоковÑÑ Ð¿ÐµÑедаÑÑ WAL, наÑÐ¸Ð½Ð°Ñ Ñ Ð¿Ð¾Ð·Ð¸Ñии
XXX/XXXв WAL. ÐÑли ÑказÑваеÑÑÑ Ð¿Ð°ÑамеÑÑTIMELINE, пеÑедаÑа наÑинаеÑÑÑ Ð½Ð° линии вÑеменилин_вÑем, инаÑе вÑбиÑаеÑÑÑ ÑекÑÑÐ°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени ÑеÑвеÑа. СеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð²ÐµÑнÑÑÑ Ð² оÑÐ²ÐµÑ Ð¾ÑибкÑ, напÑимеÑ, еÑли запÑоÑеннÑй ÑÐµÐ³Ð¼ÐµÐ½Ñ WAL Ñже поÑеÑÑн. ÐÑли пÑоблем не возникаеÑ, ÑеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑообÑение CopyBothResponse, а заÑем наÑÐ¸Ð½Ð°ÐµÑ Ð¿ÐµÑедаваÑÑ Ð¿Ð¾Ñок WAL клиенÑÑ.ÐÑли в паÑамеÑÑÐ°Ñ Ð¿ÐµÑедаÑÑÑÑ
имÑ_ÑлоÑа, ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¾ÑÑажаÑÑ ÑоÑÑоÑние ÑепликаÑии в ÑÑом ÑлоÑе и оÑÑлеживаÑÑ, какие ÑегменÑÑ, а еÑли вклÑÑÑн Ñежимhot_standby_feedback, Ñо и в ÐºÐ°ÐºÐ¸Ñ ÑÑанзакÑиÑÑ , вÑÑ ÐµÑÑ Ð½ÑÐ¶Ð½Ñ ÑÑÐ¾Ð¼Ñ ÑезеÑÐ²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÑ.ÐÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑаÑÐ¸Ð²Ð°ÐµÑ Ð½Ðµ поÑледнÑÑ, но ÑÑÑеÑÑвÑÑÑÑÑ Ð² иÑÑоÑии ÑеÑвеÑа Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени, ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¿ÐµÑедаваÑÑ Ð²ÐµÑÑ WAL на ÑÑой линии вÑемени, наÑÐ¸Ð½Ð°Ñ Ñ Ð·Ð°Ð¿ÑоÑенной ÑÑаÑÑовой ÑоÑки до моменÑа, когда ÑеÑÐ²ÐµÑ Ð¿ÐµÑеклÑÑилÑÑ Ð½Ð° дÑÑгÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени. ÐÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿ÐµÑедаÑÑ Ñ Ð½Ð°ÑалÑной позиÑией ÑоÑно в конÑе ÑÑаÑой линии вÑемени, ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑопÑÑÐºÐ°ÐµÑ Ñежим COPY.
ÐоÑле пеÑедаÑи вÑÐµÑ Ð·Ð°Ð¿Ð¸Ñей WAL на линии вÑемени, не ÑвлÑÑÑейÑÑ ÑекÑÑей, ÑеÑÐ²ÐµÑ Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð¿Ð¾ÑоковÑÑ Ð¿ÐµÑедаÑÑ, вÑÑ Ð¾Ð´Ñ Ð¸Ð· Ñежима копиÑованиÑ. Ðогда ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿Ð¾Ð´ÑвеÑÐ¶Ð´Ð°ÐµÑ Ð·Ð°Ð²ÐµÑÑение пеÑедаÑи, Ñакже вÑÑ Ð¾Ð´Ñ Ð¸Ð· Ñежима копиÑованиÑ, ÑеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов в одной ÑÑÑоке Ñ Ð´Ð²ÑÐ¼Ñ ÑÑолбÑами, ÑообÑÐ°Ñ Ñаким обÑазом о ÑледÑÑÑей линии вÑемени в иÑÑоÑии ÑеÑвеÑа. РпеÑвом ÑÑолбÑе пеÑедаÑÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÑледÑÑÑей линии вÑемени (Ñипа
int8), а во вÑоÑом â позиÑÐ¸Ñ Ð² WAL, в коÑоÑой пÑоизоÑло пеÑеклÑÑение (Ñипаtext). ÐбÑÑно в ÑÑой же позиÑии завеÑÑаеÑÑÑ Ð¿ÐµÑедаÑа поÑока WAL, но Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¸ÑклÑÑениÑ, когда ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаваÑÑ Ð·Ð°Ð¿Ð¸Ñи WAL из ÑÑаÑой линии вÑемени, коÑоÑÑе он Ñам еÑÑ Ð½Ðµ воÑпÑоизвÑл до пеÑеклÑÑениÑ. ÐÐ°ÐºÐ¾Ð½ÐµÑ ÑеÑÐ²ÐµÑ Ð¿ÐµÑедаÑÑ Ð´Ð²Ð° ÑообÑÐµÐ½Ð¸Ñ CommandComplete (одно говоÑÐ¸Ñ Ð¾ завеÑÑении CopyData, а вÑоÑое â о завеÑÑении Ñамой командÑSTART_REPLICATION), поÑле Ñего он гоÑов пÑинÑÑÑ ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ.ÐаннÑе WAL пеÑедаÑÑÑÑ Ð² ÑеÑии ÑообÑений CopyData; за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 54.6 и РазделÑ 54.7. (ÐÑо позволÑÐµÑ Ð¿ÐµÑемежаÑÑ Ð¸Ñ Ñ Ð´ÑÑгой инÑоÑмаÑией; в ÑаÑÑноÑÑи, ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаÑÑ ÑообÑение ErrorResponse, еÑли он ÑÑолкнÑлÑÑ Ñ Ð¿Ñоблемами, Ñже наÑав пеÑедаÑÑ Ð¿Ð¾Ñока.) ÐÐ¾Ð»ÐµÐ·Ð½Ð°Ñ Ð½Ð°Ð³ÑÑзка каждого ÑообÑÐµÐ½Ð¸Ñ CopyData Ð¾Ñ ÑеÑвеÑа к клиенÑÑ ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе в одном из ÑледÑÑÑÐ¸Ñ ÑоÑмаÑов:
- XLogData (B) â даннÑе жÑÑнала ÑÑанзакÑий #
- Byte1('w')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ Ð´Ð°Ð½Ð½Ñе WAL.
- Int64
ÐаÑалÑÐ½Ð°Ñ ÑоÑка даннÑÑ WAL в ÑÑом ÑообÑении.
- Int64
ТекÑÑее положение конÑа WAL на ÑеÑвеÑе.
- Int64
ÐÐ¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑиÑÑемнÑÑ ÑаÑов ÑеÑвеÑа в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑедаÑи, в микÑоÑекÑÐ½Ð´Ð°Ñ Ñ Ð¿Ð¾Ð»ÑноÑи 2000-01-01.
- Byte
n ФÑÐ°Ð³Ð¼ÐµÐ½Ñ Ð¿Ð¾Ñока даннÑÑ WAL.
Ðдна запиÑÑ WAL никогда не ÑазделÑеÑÑÑ Ð½Ð° два ÑообÑÐµÐ½Ð¸Ñ XLogData. Ðогда запиÑÑ WAL пеÑеÑÐµÐºÐ°ÐµÑ Ð³ÑаниÑÑ ÑÑÑаниÑÑ WAL, и Ñаким обÑазом Ð¾Ñ Ð½ÐµÑ Ñже оказÑваеÑÑÑ Ð¾Ñделена пÑодолжаÑÑÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ, ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑазделиÑÑ Ð½Ð° ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾ гÑаниÑе ÑÑÑаниÑÑ. ÐÑÑгими Ñловами, пеÑÐ²Ð°Ñ Ð¾ÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ WAL и пÑодолжаÑÑие ÐµÑ Ð·Ð°Ð¿Ð¸Ñи могÑÑ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ Ð² ÑазлиÑнÑÑ ÑообÑениÑÑ XLogData.
- Primary keepalive message (B) â СообÑение об акÑивноÑÑи ведÑÑего #
- Byte1('k')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение об акÑивноÑÑи оÑпÑавиÑелÑ.
- Int64
ТекÑÑее положение конÑа WAL на ÑеÑвеÑе.
- Int64
ÐÐ¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑиÑÑемнÑÑ ÑаÑов ÑеÑвеÑа в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑедаÑи, в микÑоÑекÑÐ½Ð´Ð°Ñ Ñ Ð¿Ð¾Ð»ÑноÑи 2000-01-01.
- Byte1
ÐнаÑение 1 ознаÑаеÑ, ÑÑо ÐºÐ»Ð¸ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ оÑвеÑиÑÑ Ð½Ð° ÑÑо ÑообÑение как можно ÑкоÑее, во избежание оÑклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñайм-аÑÑÑ. Со знаÑением 0 ÑÑо не ÑÑебÑеÑÑÑ.
ÐÑинимаÑÑий пÑоÑеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаваÑÑ Ð¾ÑвеÑÑ Ð¾ÑпÑавиÑÐµÐ»Ñ Ð² лÑбое вÑемÑ, иÑполÑзÑÑ Ð¾Ð´Ð¸Ð½ из ÑледÑÑÑÐ¸Ñ ÑоÑмаÑов даннÑÑ (Ñакже в полезной нагÑÑзке ÑообÑÐµÐ½Ð¸Ñ CopyData):
- Standby status update (F) â Ðбновление ÑоÑÑоÑÐ½Ð¸Ñ ÑезеÑвного ÑеÑвеÑа #
- Byte1('r')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пеÑедаÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñнное ÑоÑÑоÑние полÑÑаÑелÑ.
- Int64
Ðоложение ÑледÑÑÑего за поÑледним байÑом WAL, полÑÑеннÑм и запиÑаннÑм на диÑк на ÑезеÑвном ÑеÑвеÑе.
- Int64
Ðоложение ÑледÑÑÑего за поÑледним байÑом WAL, ÑÐ¾Ñ ÑанÑннÑм на диÑке на ÑезеÑвном ÑеÑвеÑе.
- Int64
Ðоложение ÑледÑÑÑего за поÑледним байÑом WAL, пÑименÑннÑм на ÑезеÑвном ÑеÑвеÑе.
- Int64
ÐÐ¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑиÑÑемнÑÑ ÑаÑов клиенÑа в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑедаÑи, в микÑоÑекÑÐ½Ð´Ð°Ñ Ñ Ð¿Ð¾Ð»ÑноÑи 2000-01-01.
- Byte1
ÐÑли ÑодеÑÐ¶Ð¸Ñ 1, ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑаÑÐ¸Ð²Ð°ÐµÑ Ð¾Ñ ÑеÑвеÑа немедленнÑй оÑÐ²ÐµÑ Ð½Ð° ÑÑо ÑообÑение. Так ÐºÐ»Ð¸ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑоÑиÑÑ Ð¾Ñклик ÑеÑвеÑа и пÑовеÑиÑÑ, пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ Ð»Ð¸ ÑÑнкÑиониÑоваÑÑ Ñоединение.
- Hot standby feedback message (F) â СообÑение обÑаÑной ÑвÑзи гоÑÑÑего ÑезеÑва #
- Byte1('h')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение обÑаÑной ÑвÑзи гоÑÑÑего ÑезеÑва.
- Int64
ÐÐ¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑиÑÑемнÑÑ ÑаÑов клиенÑа в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑедаÑи, в микÑоÑекÑÐ½Ð´Ð°Ñ Ñ Ð¿Ð¾Ð»ÑноÑи 2000-01-01.
- Int32
ТекÑÑее глобалÑное знаÑение
xminданного ÑезеÑвного ÑеÑвеÑа, не ÑÑиÑÑваÑÑееcatalog_xminвÑÐµÑ ÑлоÑов ÑепликаÑии. ÐÑли и ÑÑо знаÑение, и ÑледÑÑÑееcatalog_xmin, ÑÐ°Ð²Ð½Ñ 0, ÑÑо воÑпÑинимаеÑÑÑ ÐºÐ°Ðº Ñведомление о Ñом, ÑÑо ÑеÑез данное подклÑÑение болÑÑе не бÑдÑÑ Ð¿ÐµÑедаваÑÑÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑаÑной ÑвÑзи гоÑÑÑего ÑезеÑва. ÐоÑледÑÑÑие ненÑлевÑе ÑообÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ ÑабоÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° обÑаÑной ÑвÑзи.- Int32
ÐÐ¿Ð¾Ñ Ð° глобалÑного иденÑиÑикаÑоÑа ÑÑанзакÑии
xminна ÑезеÑвном ÑеÑвеÑе.- Int32
ÐаименÑÑее знаÑение
catalog_xminÐ´Ð»Ñ Ð²ÑÐµÑ ÑлоÑов ÑепликаÑии на ÑезеÑвном ÑеÑвеÑе. ÐнаÑение 0 показÑваеÑ, ÑÑо на ÑезеÑвном ÑеÑвеÑе неÑcatalog_xmin, либо обÑаÑÐ½Ð°Ñ ÑвÑÐ·Ñ Ð³Ð¾ÑÑÑего ÑезеÑва оÑклÑÑена.- Int32
ÐÐ¿Ð¾Ñ Ð° иденÑиÑикаÑоÑа ÑÑанзакÑии
catalog_xminна ÑезеÑвном ÑеÑвеÑе.
START_REPLICATIONSLOTимÑ_ÑлоÑаLOGICALXXX/XXX[ (имÑ_паÑамеÑÑа[знаÑение_паÑамеÑÑа] [, ...] ) ] #УказÑÐ²Ð°ÐµÑ ÑеÑвеÑÑ Ð½Ð°ÑинаÑÑ Ð¿Ð¾ÑоковÑÑ Ð¿ÐµÑедаÑÑ WAL Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии Ñ Ð¿Ð¾Ð·Ð¸Ñии
XXX/XXXв WAL или Ñconfirmed_flush_lsnÑлоÑа (Ñм. Раздел 53.20), еÑли ÑÑо знаÑение болÑÑе. Таким обÑазом клиенÑам не пÑÐ¸Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй ÑÑаÑÑÑ LSN, еÑли не нÑжно обÑабаÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе. Ðднако в ÑлÑÑаÑÑ , когда ÑепликаÑÐ¸Ñ Ð½Ð°ÑинаеÑÑÑ Ð½Ðµ Ñ Ð·Ð°Ð¿ÑоÑенного LSN, некоÑоÑÑе оÑибки на ÑÑоÑоне клиенÑа могÑÑ Ð¾ÑÑаÑÑÑÑ Ð½ÐµÐ·Ð°Ð¼ÐµÑеннÑми. ÐоÑÑÐ¾Ð¼Ñ Ð¿Ñежде Ñем пеÑедаваÑÑSTART_REPLICATION, Ð¸Ð¼ÐµÐµÑ ÑмÑÑл запÑоÑиÑÑ Ð·Ð½Ð°Ñениеconfirmed_flush_lsnи ÑбедиÑÑÑÑ Ð² Ñом, ÑÑо оно ÑооÑвеÑÑÑвÑÐµÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñм.СеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð²ÐµÑнÑÑÑ Ð² оÑÐ²ÐµÑ Ð¾ÑибкÑ, напÑимеÑ, еÑли Ñакого ÑлоÑа неÑ. ÐÑли пÑоблем не возникаеÑ, ÑеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑообÑение CopyBothResponse, а заÑем наÑÐ¸Ð½Ð°ÐµÑ Ð¿ÐµÑедаваÑÑ Ð¿Ð¾Ñок WAL клиенÑÑ.
ÐаннÑе, пеÑедаваемÑе внÑÑÑи ÑообÑений CopyBothResponse, имеÑÑ ÑÐ¾Ñ Ð¶Ðµ ÑоÑмаÑ, ÑÑо опиÑан Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
START_REPLICATION ... PHYSICAL, вклÑÑÐ°Ñ Ð´Ð²Ð° ÑообÑÐµÐ½Ð¸Ñ CommandComplete.ÐбÑабоÑÐºÑ Ð²ÑводимÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи вÑполнÑÐµÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñвода, ÑвÑзаннÑй Ñ Ð²ÑбÑаннÑм ÑлоÑом.
SLOTимÑ_ÑлоÑаÐÐ¼Ñ ÑлоÑа, из коÑоÑого пеÑедаÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. ÐÑо Ð¸Ð¼Ñ ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм, оно должно ÑооÑвеÑÑÑвоваÑÑ ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ Ð»Ð¾Ð³Ð¸ÑеÑÐºÐ¾Ð¼Ñ ÑлоÑÑ ÑепликаÑии, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
CREATE_REPLICATION_SLOTв ÑежимеLOGICAL.XXX/XXXÐозиÑÐ¸Ñ Ð² WAL, Ñ ÐºÐ¾ÑоÑой должна наÑаÑÑÑÑ Ð¿ÐµÑедаÑа.
имÑ_паÑамеÑÑаÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа, пеÑедаваемого модÑÐ»Ñ Ð²Ñвода логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑбÑанного ÑлоÑа. ÐаÑамеÑÑÑ, пÑинимаемÑе ÑÑандаÑÑнÑм модÑлем (
pgoutput), опиÑÐ°Ð½Ñ Ð² Разделе 54.5.знаÑение_паÑамеÑÑаÐеобÑзаÑелÑное знаÑение, в ÑоÑме ÑÑÑоковой конÑÑанÑÑ, ÑвÑзÑваемое Ñ ÑказаннÑм паÑамеÑÑом.
-
DROP_REPLICATION_SLOTимÑ_ÑлоÑа[WAIT] # УдалÑÐµÑ ÑÐ»Ð¾Ñ ÑепликаÑии, ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²ÑÐµÑ Ð·Ð°ÑезеÑвиÑованнÑÑ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ ÑеÑÑÑÑов на ÑÑоÑоне ÑеÑвеÑа.
имÑ_ÑлоÑаÐÐ¼Ñ ÑлоÑа, подлежаÑего ÑдалениÑ.
WAITС ÑÑим Ñказанием команда бÑÐ´ÐµÑ Ð¶Ð´Ð°ÑÑ, пока акÑивнÑй ÑÐ»Ð¾Ñ Ð½Ðµ ÑÑÐ°Ð½ÐµÑ Ð½ÐµÐ°ÐºÑивнÑм (по ÑмолÑÐ°Ð½Ð¸Ñ Ð² ÑÑом ÑлÑÑае вÑдаÑÑÑÑ Ð¾Ñибка).
-
UPLOAD_MANIFEST# ÐагÑÑÐ¶Ð°ÐµÑ Ð¼Ð°Ð½Ð¸ÑеÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ пÑи подгоÑовке к инкÑеменÑалÑÐ½Ð¾Ð¼Ñ ÑезеÑÐ²Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð¿Ð¸ÑованиÑ.
BASE_BACKUP[ (паÑамеÑÑ[, ...] ) ] #УказÑÐ²Ð°ÐµÑ ÑеÑвеÑÑ Ð½Ð°ÑаÑÑ Ð¿Ð¾ÑоковÑÑ Ð¿ÐµÑедаÑÑ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð¹ копии. СиÑÑема авÑомаÑиÑеÑки пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð² Ñежим ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ наÑала пеÑедаÑи, и вÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ð· него поÑле завеÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸ÑованиÑ. ÐÑа команда пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑледÑÑÑие паÑамеÑÑÑ:
LABEL'меÑка'УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¼ÐµÑÐºÑ Ð´Ð»Ñ ÑезеÑвной копии. ÐÑли меÑка не задана, по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑанавливаеÑÑÑ Ð¼ÐµÑка
base backup. ÐÐ»Ñ Ð¼ÐµÑки дейÑÑвÑÑÑ Ñе же пÑавила пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ð²ÑÑек, ÑÑо и Ð´Ð»Ñ ÑÑандаÑÑнÑÑ ÑÑÑок SQL пÑи вклÑÑÑннÑм Ñежиме standard_conforming_strings.TARGETполÑÑаÑелÑУказÑÐ²Ð°ÐµÑ ÑеÑвеÑÑ, кÑда пеÑедаваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ. ÐÑли вÑбÑано знаÑение
client, иÑполÑзÑемое по ÑмолÑаниÑ, даннÑе ÑезеÑвной копии пеÑедаÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ. ÐÑи знаÑенииserverÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ запиÑÑваÑÑÑÑ Ð½Ð° ÑеÑвеÑе в каÑалог, заданнÑй паÑамеÑÑомTARGET_DETAIL. ÐÑи знаÑенииblackholeданнÑе никÑда не пеÑедаÑÑÑÑ, а пÑоÑÑо оÑбÑаÑÑваÑÑÑÑ.ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ð·Ð½Ð°Ñение
server, нÑжно имеÑÑ Ð¿Ñава ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ Ñолиpg_write_server_files.TARGET_DETAILдополниÑелÑнаÑ_инÑоÑмаÑиÑÐополниÑелÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ полÑÑаÑеле.
СейÑÐ°Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ, ÑолÑко когда полÑÑаÑелем ÑвлÑеÑÑÑ
server. УказÑÐ²Ð°ÐµÑ ÐºÐ°Ñалог Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð° Ñелевом ÑеÑвеÑе.PROGRESS [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), запÑаÑиваеÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð´Ð»Ñ Ð¾ÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÑогÑеÑÑа опеÑаÑии. СеÑÐ²ÐµÑ Ð¿ÐµÑедаÑÑ Ð² оÑÐ²ÐµÑ Ð¿ÑиблизиÑелÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð² заголовке каждого ÑаблиÑного пÑоÑÑÑанÑÑва, иÑÑ Ð¾Ð´Ñ Ð¸Ð· коÑоÑого можно понÑÑÑ, наÑколÑко пÑодвинÑлаÑÑ Ð¿ÐµÑедаÑа поÑока. ÐÐ»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑого ÑазмеÑа анализиÑÑÑÑÑÑ ÑазмеÑÑ Ð²ÑÐµÑ Ñайлов еÑÑ Ð´Ð¾ наÑала пеÑедаÑи, и ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð½ÐµÐ³Ð°Ñивно повлиÑÑÑ Ð½Ð° пÑоизводиÑелÑноÑÑÑ â в ÑаÑÑноÑÑи, Ð¼Ð¾Ð¶ÐµÑ ÑвелиÑиÑÑÑÑ Ð·Ð°Ð´ÐµÑжка пеÑедаÑи пеÑвÑÑ Ð´Ð°Ð½Ð½ÑÑ . Так как ÑÐ°Ð¹Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¼Ð¾Ð³ÑÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑезеÑвного копиÑованиÑ, оÑенка ÑазмеÑа не бÑÐ´ÐµÑ ÑоÑной; ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð°Ð·Ñ Ð¼Ð¾Ð¶ÐµÑ ÑвелиÑиÑÑÑÑ Ð¸Ð»Ð¸ ÑменÑÑиÑÑÑÑ Ð·Ð° вÑÐµÐ¼Ñ Ð¾Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑой оÑенки до пеÑедаÑи акÑÑалÑнÑÑ Ñайлов.
CHECKPOINT { 'fast' | 'spread' }ÐадаÑÑ Ñип конÑÑолÑной ÑоÑки, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð² наÑале базового копиÑованиÑ. Ðо ÑмолÑаниÑ
spread(пÑоÑÑжÑннаÑ).WAL [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), в ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ð¾Ð¼ÐµÑаÑÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе ÑегменÑÑ WAL. ÐÑи ÑÑом в подкаÑалог
pg_walаÑÑ Ð¸Ð²Ð° базового каÑалога бÑдÑÑ Ð¿Ð¾Ð¼ÐµÑÐµÐ½Ñ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ñ Ð½Ð°Ñала до конÑа копиÑованиÑ.WAIT [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑаниÑ), пÑи копиÑовании ожидаеÑÑÑ Ð·Ð°Ð²ÐµÑÑение аÑÑ Ð¸Ð²Ð°Ñии поÑледнего ÑÑебÑемого ÑегменÑа WAL либо вÑдаÑÑÑÑ Ð¿ÑедÑпÑеждение, еÑли аÑÑ Ð¸Ð²Ð°ÑÐ¸Ñ WAL не вклÑÑена. ÐÑли оÑклÑÑÑн, пÑи копиÑовании не бÑÐ´ÐµÑ Ð½Ð¸ ожиданиÑ, ни пÑедÑпÑеждений, Ñак ÑÑо обеÑпеÑение налиÑÐ¸Ñ ÑÑебÑемого жÑÑнала ÑÑановиÑÑÑ Ð·Ð°Ð´Ð°Ñей клиенÑа.
COMPRESSIONмеÑодУказÑÐ²Ð°ÐµÑ ÑеÑвеÑÑ Ð¼ÐµÑод ÑжаÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÑезеÑвной копии. Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ ÑледÑÑÑие меÑодÑ:
gzip,lz4иzstd.COMPRESSION_DETAILдополниÑелÑнаÑ_инÑоÑмаÑиÑÐополниÑелÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ Ð²ÑбÑанного меÑода ÑжаÑиÑ. ÐÑполÑзÑеÑÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом
COMPRESSION. ÐÑли знаÑение паÑамеÑÑа â Ñелое ÑиÑло, оно обознаÑÐ°ÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑиÑ. РпÑоÑивном ÑлÑÑае знаÑение должно пÑедÑÑавлÑÑÑ Ñобой ÑпиÑок клÑÑевÑÑ Ñлов, ÑазделÑннÑÑ Ð·Ð°Ð¿ÑÑÑми, в ÑоÑмеклÑÑевое_ÑловоиликлÑÑевое_Ñлово=знаÑение. Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ ÐºÐ»ÑÑевÑе Ñловаlevel,longиworkers.ÐлÑÑевое Ñлово
levelзадаÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑиÑ. ÐлÑgzipÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑÐ¸Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ ÑелÑм ÑиÑлом оÑ1до9(по ÑмолÑаниÑZ_DEFAULT_COMPRESSIONили-1), длÑlz4â ÑелÑм ÑиÑлом Ð¾Ñ 1 до 12 (по ÑмолÑаниÑ0Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑно бÑÑÑÑого ÑжаÑиÑ), а длÑzstdâ ÑелÑм ÑиÑлом оÑZSTD_minCLevel()(обÑÑно-131072) доZSTD_maxCLevel()(обÑÑно22), по ÑмолÑаниÑZSTD_CLEVEL_DEFAULTили3.ÐлÑÑевое Ñлово
longвклÑÑÐ°ÐµÑ Ñежим поиÑка ÑооÑвеÑÑÑвий на болÑÑой диÑÑанÑии Ð´Ð»Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ ÐºÐ¾ÑÑÑиÑиенÑа ÑжаÑÐ¸Ñ Ð·Ð° ÑÑÑÑ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ Ð½Ð°Ð³ÑÑзки на памÑÑÑ. ÐÑÐ¾Ñ Ñежим поддеÑживаеÑÑÑ ÑолÑко длÑzstd.ÐлÑÑевое Ñлово
workersзадаÑÑ ÑиÑло паÑаллелÑнÑÑ Ð¿Ð¾Ñоков Ð´Ð»Ñ ÑжаÑиÑ. СжаÑие в неÑколÑко паÑаллелÑнÑÑ Ð¿Ð¾Ñоков поддеÑживаеÑÑÑ ÑолÑко длÑzstd.MAX_RATEÑкоÑоÑÑÑÐгÑаниÑÐ¸Ð²Ð°ÐµÑ (ÑдеÑживаеÑ) макÑималÑнÑй обÑÑм даннÑÑ , пеÑедаваемÑй Ð¾Ñ ÑеÑвеÑа клиенÑÑ Ð·Ð° единиÑÑ Ð²Ñемени. ÐдиниÑа измеÑÐµÐ½Ð¸Ñ ÑÑого паÑамеÑÑа â килобайÑÑ Ð² ÑекÑндÑ. ÐÑли задаÑÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, его знаÑение должно бÑÑÑ Ñавно нÑлÑ, либо должно Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² диапазоне Ð¾Ñ 32 (килобайÑ/Ñек) до 1 ÐбайÑа/Ñек (вклÑÑÐ°Ñ Ð³ÑаниÑÑ). ÐÑли пеÑедаÑÑÑÑ Ð½Ð¾Ð»Ñ, либо паÑамеÑÑ Ð½Ðµ задаÑÑÑÑ, ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи не огÑаниÑиваеÑÑÑ.
TABLESPACE_MAP [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн), инÑоÑмаÑÐ¸Ñ Ð¾ ÑимволиÑеÑÐºÐ¸Ñ ÑÑÑÐ»ÐºÐ°Ñ , ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð² каÑалоге
pg_tblspc, вклÑÑаеÑÑÑ Ð² Ñайлtablespace_map. Файл каÑÑÑ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð° вÑÐµÑ ÑÑÑлок, ÑодеÑжаÑÐ¸Ñ ÑÑ Ð² каÑалогеpg_tblspc/, и полнÑй пÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑлки.VERIFY_CHECKSUMS [boolean]ÐÑли паÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑаниÑ), конÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð¿ÑовеÑÑÑÑÑÑ Ð² пÑоÑеÑÑе ÑезеÑвного копиÑованиÑ, когда они пÑиÑÑÑÑÑвÑÑÑ. ÐÑи оÑклÑÑении паÑамеÑÑа ÑÑа пÑовеÑка опÑÑкаеÑÑÑ.
MANIFESTпаÑамеÑÑ_маниÑеÑÑаÐогда ÑказÑваеÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, и он Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение
yesилиforce-encode, вмеÑÑе Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ ÑоздаÑÑÑÑ Ð¸ пеÑедаÑÑÑÑ Ð¼Ð°Ð½Ð¸ÑеÑÑ ÐºÐ¾Ð¿Ð¸Ð¸. ÐаниÑеÑÑ ÑодеÑÐ¶Ð¸Ñ ÑпиÑок вÑÐµÑ Ñайлов, ÑодеÑжаÑÐ¸Ñ ÑÑ Ð² копии, за иÑклÑÑением Ñайлов WAL, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно. РнÑм Ñакже ÑÐ¾Ñ ÑанÑеÑÑÑ ÑазмеÑ, даÑа поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸, возможно, конÑÑолÑÐ½Ð°Ñ ÑÑмма каждого Ñайла. ÐнаÑениеforce-encodeÑказÑваеÑ, ÑÑо вÑе имена Ñайлов Ð´Ð¾Ð»Ð¶Ð½Ñ ÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ Ð² ÑеÑÑнадÑаÑеÑиÑном виде; по ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ Ð±ÑдÑÑ ÑолÑко Ñе имена, коÑоÑÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ðµ байÑовÑми поÑледоваÑелÑноÑÑÑми UTF-8. ÐÑо знаÑение пÑедназнаÑено в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð´Ð»Ñ ÑеÑÑиÑованиÑ, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло пÑовеÑиÑÑ, ÑÑо клиенÑÑкие пÑогÑÐ°Ð¼Ð¼Ñ Ð¼Ð¾Ð³ÑÑ ÐºÐ¾ÑÑекÑно пÑоÑиÑаÑÑ Ð·Ð°ÐºÐ¾Ð´Ð¸ÑованнÑе имена. ÐÐ»Ñ ÑовмеÑÑимоÑÑи Ñ Ð¿ÑедÑдÑÑими веÑÑиÑми подÑазÑмеваеÑÑÑ Ð·Ð½Ð°ÑениеMANIFEST 'no'.MANIFEST_CHECKSUMSалгоÑиÑм_конÑÑолÑной_ÑÑммÑÐадаÑÑ Ð°Ð»Ð³Ð¾ÑиÑм конÑÑолÑнÑÑ ÑÑмм, коÑоÑÑе бÑдÑÑ ÑаÑÑÑиÑÑваÑÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ Ñайлов, опиÑаннÑÑ Ð² маниÑеÑÑе копии. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑмÑ
NONE(оÑÑÑÑÑÑвÑеÑ),CRC32C,SHA224,SHA256,SHA384иSHA512. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑименÑеÑÑÑCRC32C.INCREMENTALÐапÑаÑÐ¸Ð²Ð°ÐµÑ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ. ÐбÑзаÑелÑно вÑполниÑе командÑ
UPLOAD_MANIFESTпеÑед наÑалом базового ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑÑим паÑамеÑÑом.
Ðогда запÑÑкаеÑÑÑ ÐºÐ¾Ð¿Ð¸Ñование, ÑеÑÐ²ÐµÑ ÑнаÑала пеÑедаÑÑ Ð´Ð²Ð° обÑÑнÑÑ Ð½Ð°Ð±Ð¾Ñа ÑезÑлÑÑаÑов, за коÑоÑÑми ÑледÑÑÑ Ð¾Ð´Ð¸Ð½ или более ÑезÑлÑÑаÑов CopyOutResponse.
РпеÑвом обÑÑном набоÑе ÑезÑлÑÑаÑов пеÑедаÑÑÑÑ Ð½Ð°ÑалÑÐ½Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑезеÑвной копии, в одной ÑÑÑоке Ñ Ð´Ð²ÑÐ¼Ñ ÑÑолбÑами. РпеÑвом ÑÑолбÑе ÑодеÑжиÑÑÑ ÑÑаÑÑÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ð² ÑоÑмаÑе XLogRecPtr, а во вÑоÑом иденÑиÑикаÑÐ¾Ñ ÑооÑвеÑÑÑвÑÑÑей линии вÑемени.
Ðо вÑоÑом обÑÑном набоÑе ÑезÑлÑÑаÑов пеÑедаÑÑÑÑ Ð¿Ð¾ одной ÑÑÑоке Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑаблиÑного пÑоÑÑÑанÑÑва. ÐÑа ÑÑÑока ÑодеÑÐ¶Ð¸Ñ ÑледÑÑÑие полÑ:
spcoid(oid)OID ÑаблиÑного пÑоÑÑÑанÑÑва либо NULL, еÑли ÑÑо базовÑй каÑалог.
spclocation(text)ÐолнÑй пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÑаблиÑного пÑоÑÑÑанÑÑва либо NULL, еÑли ÑÑо базовÑй каÑалог.
size(int8)ÐÑиблизиÑелÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÑаблиÑного пÑоÑÑÑанÑÑва (в килобайÑÐ°Ñ , ÑазмеÑом 1024 байÑа), еÑли бÑла запÑоÑена инÑоÑмаÑÐ¸Ñ Ð¾ пÑогÑеÑÑе опеÑаÑии; в пÑоÑивном ÑлÑÑае NULL.
Ðа вÑоÑÑм обÑÑнÑм набоÑом ÑезÑлÑÑаÑов ÑледÑÐµÑ ÑообÑение CopyOutResponse. Ðолезной нагÑÑзкой каждого поÑледÑÑÑего ÑообÑÐµÐ½Ð¸Ñ CopyData бÑÐ´ÐµÑ ÑообÑение в одном из ÑледÑÑÑÐ¸Ñ ÑоÑмаÑов:
- new archive (B)
- Byte1('n')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение наÑÐ¸Ð½Ð°ÐµÑ Ð½Ð¾Ð²Ñй аÑÑ Ð¸Ð². СеÑÐ²ÐµÑ Ð¿ÐµÑедаÑÑ Ð¾Ð´Ð¸Ð½ аÑÑ Ð¸Ð² Ð´Ð»Ñ Ð¾Ñновного каÑалога даннÑÑ Ð¸ по Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ дополниÑелÑного ÑаблиÑного пÑоÑÑÑанÑÑва. ÐаннÑе в аÑÑ Ð¸Ð²Ðµ пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑоÑмаÑе tar («ÑоÑмаÑе обмена ustar», опиÑанном в ÑÑандаÑÑе POSIX 1003.1-2008).
- String
ÐÐ¼Ñ Ñайла ÑÑого аÑÑ Ð¸Ð²Ð°.
- String
ÐÐ»Ñ Ð¾Ñновного каÑалога даннÑÑ Ð¿ÑÑÑÐ°Ñ ÑÑÑока. ÐÐ»Ñ Ð´ÑÑÐ³Ð¸Ñ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв â полнÑй пÑÑÑ Ðº каÑалогÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑого бÑл Ñоздан аÑÑ Ð¸Ð².
- manifest (B)
- Byte1('m')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение наÑÐ¸Ð½Ð°ÐµÑ Ð¼Ð°Ð½Ð¸ÑеÑÑ ÐºÐ¾Ð¿Ð¸Ð¸.
- archive or manifest data (B)
- Byte1('d')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пеÑедаÑÑ Ð´Ð°Ð½Ð½Ñе аÑÑ Ð¸Ð²Ð° или маниÑеÑÑа.
- Byte
n ÐайÑÑ Ð´Ð°Ð½Ð½ÑÑ .
- progress report (B)
- Byte1('p')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ Ð¾ÑÑÑÑ Ð¾ вÑполнении.
- Int64
ÐбÑÑм обÑабоÑаннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑекÑÑем ÑаблиÑном пÑоÑÑÑанÑÑве в байÑÐ°Ñ .
ÐоÑле пеÑедаÑи ÑообÑÐµÐ½Ð¸Ñ CopyOutResponse или вÑÐµÑ ÑÐ°ÐºÐ¸Ñ ÑообÑений пеÑедаÑÑÑÑ Ð¾Ð±ÑÑнÑй Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов, в коÑоÑом ÑодеÑжиÑÑÑ ÐºÐ¾Ð½ÐµÑÐ½Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ в WAL, в Ñом же ÑоÑмаÑе, ÑÑо и ÑÑаÑÑÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑиÑ.
ÐÑÑ Ð¸Ð² tar каÑалога даннÑÑ Ð¸ вÑÐµÑ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð² ÑÑÐ¸Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ð°Ñ , бÑÐ´Ñ Ñо ÑÐ°Ð¹Ð»Ñ Postgres Pro или поÑÑоÑонние ÑайлÑ, добавленнÑе в ÑÑи каÑалоги. ÐÑклÑÑение ÑоÑÑавлÑÑÑ ÑолÑко ÑледÑÑÑие ÑайлÑ:
postmaster.pidpostmaster.optspg_internal.init(Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² неÑколÑÐºÐ¸Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ð°Ñ )РазлиÑнÑе вÑеменнÑе ÑÐ°Ð¹Ð»Ñ Ð¸ каÑалоги, ÑоздаваемÑе в пÑоÑеÑÑе ÑабоÑÑ ÑеÑвеÑом Postgres Pro, в ÑаÑÑноÑÑи, ÑÐ°Ð¹Ð»Ñ Ð¸ каÑалоги Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸, наÑинаÑÑимиÑÑ Ñ
pgsql_tmp, и вÑеменнÑе оÑноÑениÑ.ÐежÑÑналиÑÑемÑе оÑноÑениÑ, за иÑклÑÑением ÑÐ»Ð¾Ñ Ð¸Ð½Ð¸ÑиализаÑии, коÑоÑÑй Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ пÑи воÑÑÑановлении Ð´Ð»Ñ Ð¿ÐµÑеÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ¶ÑÑналиÑÑемого оÑноÑÐµÐ½Ð¸Ñ (пÑÑÑого).
pg_wal, вклÑÑÐ°Ñ Ð¿Ð¾Ð´ÐºÐ°Ñалоги. ÐÑли в ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð²ÐºÐ»ÑÑаÑÑÑÑ ÑÐ°Ð¹Ð»Ñ WAL, в аÑÑ Ð¸Ð² Ð²Ñ Ð¾Ð´Ð¸Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑÑиÑpg_wal, в коÑоÑой бÑдÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ ÑолÑко ÑайлÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸, но не вÑÑ Ð¾ÑÑалÑное ÑодеÑжимое ÑÑого каÑалогаpg_dynshmem,pg_notify,pg_replslot,pg_serial,pg_snapshots,pg_stat_tmpиpg_subtransкопиÑÑÑÑÑÑ ÐºÐ°Ðº пÑÑÑÑе каÑалоги (даже еÑли ÑÑо ÑимволиÑеÑкие ÑÑÑлки)ФайлÑ, кÑоме обÑÑнÑÑ Ñайлов и каÑалогов, напÑимеÑ, ÑимволиÑеÑкие ÑÑÑлки (кÑоме вÑÑеÑпомÑнÑÑÑÑ ÐºÐ°Ñалогов), а Ñакже ÑÐ°Ð¹Ð»Ñ ÑпеÑиалÑнÑÑ ÑÑÑÑойÑÑв и ÑÐ°Ð¹Ð»Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑем, пÑопÑÑкаÑÑÑÑ (ÑимволиÑеÑкие ÑÑÑлки в
pg_tblspcÑÐ¾Ñ ÑанÑÑÑÑÑ).
ÐÑли ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема ÑеÑвеÑа поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑо, в аÑÑ Ð¸Ð² вклÑÑаеÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ владелÑÑе, гÑÑппе и Ñежиме Ñайла.
Ðо вÑеÑ
вÑÑепеÑеÑиÑленнÑÑ
командаÑ
знаÑение_паÑамеÑÑа можно не ÑказÑваÑÑ, еÑли ÑÑо паÑамеÑÑ Ñипа boolean. ÐÑо ÑавнознаÑно ÑомÑ, ÑÑÐ¾Ð±Ñ ÑказаÑÑ Ð·Ð½Ð°Ñение TRUE.