рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЗрдВрдХреНрд░реАрдореЗрдВрдЯрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрд▓ рдмреИрдХрдЕрдк - рдбреЗрд╡рд▓рдкрд░ рдХреА рдУрд░ рд╕реЗ рдПрдХ рдпреБрд╡рд╛ рдлрд╛рдЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрд░реНрд╕

╨╕╤Б╨║╨╗╨╡╨╣╨╝╨╡╤А

рдореИрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ. рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рдбреАрдмреАрдП рддреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВред рд▓реЗрдХрд┐рдитАж

рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдХреЛрдИ рдмрд╛рджрд▓ рдирд╣реАрдВ - рдмрд╕ рдПрд╕рдПрд╕рдПрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдкреИрд╕реЗ рдорд╛рдВрдЧреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВ? рдпрд╣ рд╕рд╣реА рд╣реИ, рд╣рдо pgdump рдХреЛ рдХреНрд░реЙрди рдореЗрдВ рдзрдХреЗрд▓рддреЗ рд╣реИрдВ, рд╣рд░ рджрд┐рди рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдм рдХреБрдЫ рдмреИрдХрдЕрдк рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХрд╣реАрдВ рджреВрд░ рднреЗрдЬ рджреЗрддреЗ рд╣реИрдВред

рдЗрд╕ рдмрд╛рд░ рдХрдард┐рдирд╛рдИ рдпрд╣ рдереА рдХрд┐ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреНрд░рддрд┐ рджрд┐рди рд▓рдЧрднрдЧ +- 100 рдПрдордмреА рддрдХ рдмрдврд╝рдирд╛ рдерд╛ред рдирд┐рдГрд╕рдВрджреЗрд╣, рдХреБрдЫ рд╣рдлрд╝реНрддреЛрдВ рдХреЗ рдмрд╛рдж pgdump рдХреЗ рд╕рд╛рде рд╣рд░ рдЪреАрдЬрд╝ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣реАрдВ рдкрд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред

рджрд┐рд▓рдЪрд╕реНрдк? рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ.

рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреИрдХрдЕрдк рд╣реИ рдЬрдм рд╕рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдирдИ рдФрд░ рдкрд┐рдЫрд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕реЗ рдмрджрд▓ рджреА рдЧрдИ рд╣реИрдВред

рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдХреА рддрд░рд╣ рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрд╕ рд╕рдордп) рдмрд┐рд▓реНрдХреБрд▓ рдЕрдирд┐рдЪреНрдЫреБрдХ рдерд╛, рдореИрдВ рд╣рд░рд╛ рдмрдЯрди рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдареАрдХ рд╣реИ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ AWS, DigitalOcean рдореЗрдВ: рдЖрдкрдиреЗ рдПрдХ рдмрдЯрди рджрдмрд╛рдпрд╛ - рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдорд┐рд▓реА, рдЖрдкрдиреЗ рджреВрд╕рд░рд╛ рджрдмрд╛рдпрд╛ - рдЖрдкрдиреЗ рдмреИрдХрдЕрдк рд╕реЗрдЯ рдХрд┐рдпрд╛, рддреАрд╕рд░рд╛ - рдЖрдкрдиреЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред рдореБрдЭреЗ рдХреЛрдИ рдмрдЯрди рдпрд╛ рд╕реБрдВрджрд░ GUI рдЯреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ (рдореБрдлрд╝реНрдд рдпрд╛ рд╕рд╕реНрддрд╛), рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред

рдЧреВрдЧрд▓ рдкрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рджреЛ рдЯреВрд▓ рдорд┐рд▓реЗ рдкреАрдЬреАрдмрд░реНрдорди ╨╕ рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ. рдореИрдВ рдмрд╕ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рд╛рде рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ (рдмрд╣реБрдд рд╣реА рд╡рд┐рд░рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬ, рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рдореИрдиреБрдЕрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА), рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рджрд╕реНрддрд╛рд╡реЗрдЬ рдмрд░рд╛рдмрд░ рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдЦрд╛рдорд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЙрдирдХреЗ рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдЙрдиреНрд╣реЗрдВ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ (рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА) рдореЗрдВ рдХреИрд╕реЗ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдпрд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдЯреНрд░реЗрдирд┐рдВрдЧ

рдореИрдиреБрдЕрд▓ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛ рд╡реАрдкреАрдПрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдкрд╣рд▓рд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╣реЛрдЧрд╛ (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬрд┐рд╕ рдкрд░ рдмреИрдХрдЕрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛), рдФрд░ рджреВрд╕рд░рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 11)ред

рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░реВрдЯ, рд╕реВрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕реНрд╡рдпрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИ (рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рд░реВрдЯ рдФрд░ рд╕реВрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ (рдореИрдиреБрдЕрд▓ рдореЗрдВ) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо pgbackrest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред

рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВ, рдореИрдВ рдЗрдЯреИрд▓рд┐рдХ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдореИрдВрдиреЗ рдХрд╣рд╛рдБ, рдХрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдХрд┐рди рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рдФрд░ рдЬрд╛рдВрдЪрддреЗ рд╕рдордп.

рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ):

1. pgbackrest рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ /build рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ:

sudo mkdir /build
sudo wget -q -O - 
       https://github.com/pgbackrest/pgbackrest/archive/release/2.18.tar.gz | 
       sudo tar zx -C /build

2. рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

sudo apt-get update
sudo apt-get install build-essential libssl-dev libxml2-dev libperl-dev zlib1g-dev 
       libpq-dev

3. рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдирд╛:

cd /build/pgbackrest-release-2.18/src && sudo ./configure
sudo make -s -C /build/pgbackrest-release-2.18/src

4. рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ /usr/bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ:

sudo cp /build/pgbackrest-release-2.18/src/pgbackrest /usr/bin
sudo chmod 755 /usr/bin/pgbackrest

5. рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдХреЛ рдкрд░реНрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛:

sudo apt-get install perl

6. рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдмрдирд╛рдПрдБ, рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдВ:

sudo mkdir -p -m 770 /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo mkdir -p /etc/pgbackrest
sudo mkdir -p /etc/pgbackrest/conf.d
sudo touch /etc/pgbackrest/pgbackrest.conf
sudo chmod 640 /etc/pgbackrest/pgbackrest.conf
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf

7. рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

pgbackrest version

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ):

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬрд╝ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ pgbackrest рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ (рд╣рд╛рдБ, pgbackrest рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП), рд▓реЗрдХрд┐рди рдЫрдареЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рджреВрд╕рд░рд╛ рдФрд░ рдЖрдЦрд┐рд░реА рдЖрджреЗрд╢:

sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf

рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:

sudo chown postgres:postgres /var/log/pgbackrest
sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf

рдкрд╛рд╕рд╡рд░реНрдб рд░рд╣рд┐рдд рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ):

рдПрдХ рдХреБрдВрдЬреА рдпреБрдЧреНрдо рдмрдирд╛рдПрдБ:

mkdir -m 750 /home/pgbackrest/.ssh
ssh-keygen -f /home/pgbackrest/.ssh/id_rsa 
       -t rsa -b 4096 -N ""

рдЪреЗрддрд╛рд╡рдиреА! рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХрдорд╛рдВрдб рдХреЛ рдмрд┐рдирд╛ рд╕реВрдбреЛ рдХреЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ):

рдПрдХ рдХреБрдВрдЬреА рдпреБрдЧреНрдо рдмрдирд╛рдПрдБ:

sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh
sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa 
       -t rsa -b 4096 -N ""

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ:

(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && 
       echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' && 
       sudo ssh root@<postgres_server_ip> cat /var/lib/postgresql/.ssh/id_rsa.pub) | 
       sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys

рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдЖрдкрд╕реЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛!

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ:

(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && 
       echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' && 
       sudo ssh root@<repository_server_ip> cat /home/pgbackrest/.ssh/id_rsa.pub) | 
       sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys

рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдЖрдкрд╕реЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛!

рд╣рдо рдЬрд╛рдБрдЪ:

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП):

sudo -u pgbackrest ssh postgres@<postgres_server_ip>

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП):

sudo -u postgres ssh pgbackrest@<repository_server_ip>

рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкрд╣реБрдВрдЪ рдорд┐рд▓реЗред

рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ):

1. рдЖрдЗрдП рдмрд╛рд╣рд░реА рдЖрдИрдкреА рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рджрд╕реНрддрдХ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ postgresql.conf (/etc/postgresql/11/main рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд), рдЗрд╕рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдирд╛:

listen_addresses = '*'

рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдпрд╛ рддреЛ рдЙрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд╣рдЯрд╛ рджреЗрдВ рдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдХреЛ '*' рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред

рдлрд╛рдЗрд▓ рдореИрдВ pg_hba.conf (рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд╕реНрдерд┐рдд рд╣реИ /etc/postgresql/11/main) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:

hostssl  all  all  0.0.0.0/0  md5
host  all  all  0.0.0.0/0  md5

рдЬрд╣рд╛рдБ:

hostssl/host - ╨┐╨╛╨┤╨║╨╗╤О╤З╨░╨╡╨╝╤Б╤П ╤З╨╡╤А╨╡╨╖ SSL (╨╕╨╗╨╕ ╨╜╨╡╤В)
all - ╤А╨░╨╖╤А╨╡╤И╨░╨╡╨╝ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╡ ╨║╨╛ ╨▓╤Б╨╡╨╝ ╨▒╨░╨╖╨░╨╝
all - ╨╕╨╝╤П ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П, ╨║╨╛╤В╨╛╤А╨╛╨╝╤Г ╤А╨░╨╖╤А╨╡╤И╨░╨╡╨╝ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╡ (╨▓╤Б╨╡╨╝)
0.0.0.0/0 - ╨╝╨░╤Б╨║╨░ ╤Б╨╡╤В╨╕ ╤Б ╨║╨╛╤В╨╛╤А╨╛╨╣ ╨╝╨╛╨╢╨╜╨╛ ╨┐╨╛╨┤╨║╨╗╤О╤З╨░╤В╤М╤Б╤П
md5 - ╤Б╨┐╨╛╤Б╨╛╨▒ ╤И╨╕╤Д╤А╨╛╨▓╨░╨╜╨╕╤П ╨┐╨░╤А╨╛╨╗╤П

2. рдЖрдЗрдП рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░реЗрдВ postgresql.conf (рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ /etc/postgresql/11/main) рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

archive_command = 'pgbackrest --stanza=main archive-push %p' # ╨У╨┤╨╡ main - ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡ ╨║╨╗╨░╤Б╤В╨╡╤А╨░. ╨Я╤А╨╕ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╨╡ postgres ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╤Б╨╛╨╖╨┤╨░╨╡╤В ╨║╨╗╨░╤Б╤В╨╡╤А main.
archive_mode = on
max_wal_senders = 3
wal_level = replica

3. рдЖрдЗрдП pgbackrest рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ (/etc/pgbackrest/pgbackrest.conf) рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░реЗрдВ:

[main]
pg1-path=/var/lib/postgresql/11/main

[global]
log-level-file=detail
repo1-host=<repository_server_ip>

4. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрд▓ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ:

sudo service postgresql restart

рдПрдХ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

рдЖрдЗрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░реЗрдВ рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ
(/etc/pgbackrest/pgbackrest.conf):

[main]
pg1-host=<postgres_server_ip>
pg1-path=/var/lib/postgresql/11/main

[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2 # ╨Я╨░╤А╨░╨╝╨╡╤В╤А, ╤Г╨║╨░╨╖╤Л╨▓╨░╤О╤Й╨╕╨╣ ╤Б╨║╨╛╨╗╤М╨║╨╛ ╤Е╤А╨░╨╜╨╕╤В╤М ╨┐╨╛╨╗╨╜╤Л╤Е ╨▒╤Н╨║╨░╨┐╨╛╨▓. ╨в.╨╡. ╨╡╤Б╨╗╨╕ ╤Г ╨▓╨░╤Б ╨╡╤Б╤В╤М ╨┤╨▓╨░ ╨┐╨╛╨╗╨╜╤Л╤Е ╨▒╤Н╨║╨░╨┐╨░ ╨╕ ╨▓╤Л ╤Б╨╛╨╖╨┤╨░╨╡╤В╨╡ ╤В╤А╨╡╤В╨╕╨╣, ╤В╨╛ ╤Б╨░╨╝╤Л╨╣ ╤Б╤В╨░╤А╤Л╨╣ ╨▒╤Н╨║╨░╨┐ ╨▒╤Г╨┤╨╡╤В ╤Г╨┤╨░╨╗╨╡╨╜. ╨Ь╨╛╨╢╨╜╨╛ ╨┐╤А╨╛╨╕╨╖╨╜╨╛╤Б╨╕╤В╤М ╨║╨░╨║ "╤Е╤А╨░╨╜╨╕╤В╤М ╨╜╨╡ ╨▒╨╛╨╗╨╡╨╡ ╨┤╨▓╤Г╤Е ╨▒╤Н╨║╨░╨┐╨╛╨▓" - ╨┐╨╛ ╨░╨╜╨░╨╗╨╛╨│╨╕╨╕ ╤Б ╤А╨╛╤В╨░╤Ж╨╕╤П╨╝╨╕ ╨╗╨╛╨│╨╛╨▓. ╨б╨┐╨░╤Б╨╕╨▒╨╛ @Aytuar ╨╖╨░ ╨╕╤Б╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨╛╤И╨╕╨▒╨║╨╕.
start-fast=y # ╨Э╨░╤З╨╕╨╜╨░╨╡╤В ╤А╨╡╨╖╨╡╤А╨▓╨╜╨╛╨╡ ╨║╨╛╨┐╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨╜╨╡╨╝╨╡╨┤╨╗╨╡╨╜╨╜╨╛, ╨┐╤А╨╛╤З╨╕╤В╨░╤В╤М ╨┐╤А╨╛ ╤Н╤В╨╛╤В ╨┐╨░╤А╨░╨╝╨╡╤В╤А ╨╝╨╛╨╢╨╜╨╛ ╤В╤Г╤В https://postgrespro.ru/docs/postgrespro/9.5/continuous-archiving

рдПрдХ рднрдВрдбрд╛рд░ рдмрдирд╛рдирд╛

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рднрдВрдбрд╛рд░рдг рдмрдирд╛рдПрдБ рдореБрдЦреНрдп:

sudo mkdir -m 770 /var/lib/pgbackrest
sudo chown -R pgbackrest /var/lib/pgbackrest/
sudo -u pgbackrest pgbackrest --stanza=main stanza-create

╨Я╤А╨╛╨▓╨╡╤А╨║╨░

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ):

рд╣рдо рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬрд╝ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info check

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

sudo -u pgbackrest pgbackrest --stanza=main --log-level-console=info check

рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдореЗрдВ "рдЪреЗрдХ рдХрдорд╛рдВрдб рдПрдВрдб: рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ" рд▓рд╛рдЗрди рджрд┐рдЦрд╛рдИ рджреЗред

рдердХрд╛ рд╣реБрдЖ? рдЖрдЗрдП рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рдмреИрдХрдЕрдк рдмрдирд╛рдирд╛

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

1. рдмреИрдХрдЕрдк рдХрд░реЗрдВ:

sudo -u pgbackrest pgbackrest --stanza=main backup

2. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдмреИрдХрдЕрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

ls /var/lib/pgbackrest/backup/main/

Pgbackrest рдкрд╣рд▓рд╛ рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдмрдирд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдмреИрдХрдЕрдк рдХрдорд╛рдВрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдмрдирд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рджреЛрдмрд╛рд░рд╛ рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

sudo -u pgbackrest pgbackrest --stanza=main --type=full backup

рдпрджрд┐ рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

sudo -u pgbackrest pgbackrest --stanza=main --type=full --log-level-console=info backup

рдмреИрдХрдЕрдк рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ (рд╕реБрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ):

1. рдЪрд▓ рд░рд╣реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд░реЛрдХреЗрдВ:

sudo pg_ctlcluster 11 main stop

2. рдмреИрдХрдЕрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta --recovery-option=recovery_target=immediate restore

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдВрддрд┐рдо рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐_рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta restore

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЛрдб рдореЗрдВ рдлрдВрд╕ рдЬрд╛рдП (рддреНрд░реБрдЯрд┐ рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА: рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдореЗрдВ DROP DATABASE рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛)ред рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореБрдЭреЗ рдЕрднреА рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИред рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ (рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛):

sudo -u postgres psql -c "select pg_wal_replay_resume()"

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреИрдХрдЕрдк рдХреЛ рдЙрд╕рдХреЗ рдирд╛рдо рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣рд╛рдБ рдореИрдВ рд╣реА рд╣реВрдБ рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛. рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпреЛрдВред рдореИрдВ рдЕрдкрдиреА рдУрд░ рд╕реЗ рдпрд╣ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЛрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдП (select pg_is_in_recovery() рдХреЛ "f" рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдмрдирд╛рдПрдВред

3. рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ:

sudo pg_ctlcluster 11 main start

рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рджреВрд╕рд░рд╛ рдмреИрдХрдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдкреАрдЬреАрдмреИрдХрд░реЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):

sudo pgbackrest --stanza=main backup

рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡рд░рд┐рд╖реНрда рдбреАрдмреАрдП рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдереЛрдбрд╝реЗ рд╕реЗ рдЕрд╡рд╕рд░ рдкрд░ рдмрд╛рджрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ рд╕реНрд╡рдпрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдЬреИрд╕реЗ рдмреИрдХрдЕрдк, рдкреНрд░рддрд┐рдХреГрддрд┐, рдирд┐рдЧрд░рд╛рдиреА рдЖрджрд┐ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдореИрдВ рд╕рдореБрджрд╛рдп рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЫреЛрдЯреА рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдЫреЛрдЯреА рдЪреАрдЯ рд╢реАрдЯ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ - рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рд░рд┐рдХрд╡рд░реА, рдмреИрдХрдЕрдк рдХрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ S3 рдкрд░ рдкреНрд░рдХрд╛рд╢рди, rsync рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдЕрдкред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ