рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрдЬ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИрдВ, рдЖрдк рдПрдХ рдмрдбрд╝реА, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╡рдлрд╛рджрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрд╛рдо рд╣реИ, рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рдЬреЛрдбрд╝рд╛ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдФрд░ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдореБрджреНрджрд╛ рдПрдХ рдЖрдкрджрд╛ рдмрди рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдбреЗрдмрд┐рдпрди рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА 8.2 рд╕рд░реНрд╡рд░ рдХреЗ рдмрдВрдбрд▓реЛрдВ рдкрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВ 9.1 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕:
рд╕рд░реНрд╡ 1 - рдорд╛рд╕реНрдЯрд░
рд╕рд░реНрд╡ 2 - рджрд╛рд╕
рдЧреБрд░реБ рдХрд╛ рдкрддрди
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ Serv1 (рдорд╛рд╕реНрдЯрд░) рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдзреНрд╡рд╕реНрдд рд╣реЛ рдЧрдпрд╛, рдорд░ рдЧрдпрд╛ рдФрд░ рдЦреБрдж рдХреЛ рд╡рд┐рджреНрд░реЛрд╣ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЙрд╕реА рд╕рдордп, Serv2 рджрд╛рд╕ рдореЛрдб рдореЗрдВ рд╕реНрдерд┐рд░ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж Servgr in postgresql.conf рдкрд░ рдЖрдкрдХреЛ рдЕрд╕рд╣рдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
wal_level = hot_standby max_wal_senders = 2 wal_keep_segments = 64 archive_mode = on archive_command = 'cp %p $LOG_DIR/archive/%f Serv1'
$ HOME рдореЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ .conf to Recovery.done
рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ редconf рдлрд╝рд╛рдЗрд▓рд╕реНрдЯреИрдВрдбрдмрд╛рдп_рдореЛрдб = 'рдкрд░'
Primary_conninfo = 'рд╣реЛрд╕реНрдЯ = рдорд╛рд╕реНрдЯрд░_рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ = рдорд╛рд╕реНрдЯрд░_рдкреЛрд░реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдорд╛рд╕реНрдЯрд░_рдпреБрд╕рд░'
рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд_рдХрдорд╛рдВрдб = 'cp $ LOG_DIR / рд╕рдВрдЧреНрд░рд╣ /% f% p'
рдЯреНрд░рд┐рдЧрд░_рдлрд╛рдЗрд▓ = '$ рдШрд░ / рдЯреНрд░рд┐рдЧрд░'
рд╕рд░реНрд╡рд┐рд╕ 2 рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рддреЛ Serv2 рдПрдХ рдорд╛рд╕реНрдЯрд░ рдмрди рдЬрд╛рдПрдЧрд╛редрдкреВрд░реНрд╡ рдорд╛рд╕реНрдЯрд░ рдХреА рдмрд╣рд╛рд▓реА
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Serv2 рдорд╛рд╕реНрдЯрд░ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, Serv1 рдЕрдХреНрд╖рдо рд╣реИред
рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ Serv1 рдХреЛ рдЧреБрд▓рд╛рдо рдмрдирд╛рдПрдВ:рд╕рд░реНрд╡ 2 рд░рди рдкрд░:
psql -c "SELECT pg_start_backup('label', true)" rsync -avzh --progress $HOME/ Serv1:$HOME/ --exclude postmaster.pid psql -c "SELECT pg_stop_backup()"
Serv1 рдкрд░ postgresql.conf рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ, рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдХрд┐ Serv2 рдкрд░ рдХреНрдпрд╛ рдЕрдзреВрд░рд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН:
рдФрд░ рдЕрд╕рд╣рдЬрддрд╛:
hot_standby = on
$ HOME рдореЗрдВ, Recovery.done рдХреЛ rename
Serv1 рдкрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд░рди рдХрд░реЗрдВред
рдЕрдм Serv1 рдЧреБрд▓рд╛рдо рдореЛрдб рдореЗрдВ рд╣реИредрдЖрдк рдЙрд╕ рдкрд░ рдЪрд▓рдХрд░ рджрд╛рд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ps aux | grep receiver
рдФрд░ рдлреЙрд░реНрдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
postgres: wal receiver process (postgres)
рдорд╛рд╕реНрдЯрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
(рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░реЗрдВ)
рдкреВрд░реНрд╡ рдорд╛рд╕реНрдЯрд░ Serv1 рдЕрдм рдПрдХ Serv2 рдЧреБрд▓рд╛рдо рд╣реИред рджреЛрдиреЛрдВ рдХрдбрд╝рд╛рдИ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рджрд╛рд╕ рдкреНрд░рддрд┐ рд╕рд╣реА рд╣реИ, рд╡рд┐рд╕рдВрдЧрддрд┐ рдиреНрдпреВрдирддрдо рд╣реИред
рдПрдХ рдорд╛рд╕реНрдЯрд░ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП Serv1:рдЙрд╕ рдкрд░ postgresql.conf рдЕрд╕рд╣рдЬрддрд╛ рдореЗрдВ
wal_level = hot_standby max_wal_senders = 2 wal_keep_segments = 64 archive_mode = on archive_command = 'cp %p $LOG_DIR/archive/%f'
рдмрдВрдж рдХрд░реЛ Serv2 (рдЬреЛ рдЕрдм рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ рд╣реИ) рдФрд░ Serv1 рдкрд░ $ HOME рдореЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ редconf to Recovery.done
рдЕрдм Serv1 рдлрд┐рд░ рд╕реЗ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЧреБрд░реБ рд╣реИредрдПрдХ Serv2 рджрд╛рд╕ рдХреЛ рдЕрдбрд╝рдЪрди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП:рд╕рд░реНрд╡ 1 рдкрд░, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
psql -c "SELECT pg_start_backup('label', true)" rsync -avzh --progress $HOME/ Serv2:$HOME/ --exclude postmaster.pid psql -c "SELECT pg_stop_backup()"
Postgresql.conf рдореЗрдВ Serv2 рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ:
рдФрд░ рдЕрд╕рд╣рдЬрддрд╛:
hot_standby = on
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ Serv2 рдореЗрдВ $ HOME рдХрд╛ рдирд╛рдо рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐.d.d рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ редconf
Serv2 рдкрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд░рди рдХрд░реЗрдВред
рдЕрдм Serv2 рдлрд┐рд░ рд╕реЗ рдЧреБрд▓рд╛рдо рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИредрд╣реЛ рдЧрдпрд╛ред рдЕрдм рд╕рдм рдХреБрдЫ рдЕрдкрдиреА рдЬрдЧрд╣ рд╣реИ: рд╕рд░реНрд╡ 1 - рдорд╛рд╕реНрдЯрд░, рд╕рд░реНрд╡ 2 - рджрд╛рд╕ред
рдореИрдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░ рдХреЗ рдЪрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдиреЗрдЯ рдкрд░ рд╕рдордЧреНрд░ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╢реНрд╡рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкрд╛рдИ рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡реЗрджрди рдорд┐рд▓реЗрдЧрд╛ (: