рддреЛ, рд╣рдо
рдмрдлрд░ рдХреИрд╢ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП рдФрд░, рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЬрдм рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░реИрдо рдХреА рд╕рд╛рдордЧреНрд░реА рдЧрд╛рдпрдм рд╣реЛ
рдЬрд╛рддреА рд╣реИ, рддреЛ рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ
рдкреНрд░реАрдХрд╛рд░реНрдб рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрд╡рдзрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд
рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕рдордп рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд
рд╣реИ ред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдкрддреНрд░рд┐рдХрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ (рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо), рд╣рдо рдЙрди рдЯреНрдпреВрдирд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдХреА рдЕрднреА рддрдХ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ: рд▓реЙрдЧ рд╕реНрддрд░ рдФрд░ рдЙрдирдХрд╛ рдЙрджреНрджреЗрд╢реНрдп, рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓реЙрдЧрд┐рдВрдЧ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рдиред
рд▓реЙрдЧ рд╕реНрддрд░
рдкреНрд░реАрдХреЙрд░реНрдб рд▓реЙрдЧ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рдлрд▓рддрд╛ рд╕реЗ рдЙрдмрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдкрддреНрд░рд┐рдХрд╛ рд░рдЦрдиреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдХрдИ рд╕реНрддрд░ рд╣реИрдВред рд╡реЗ
wal_level рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдХреБрдЫ рдФрд░ рдирдпрд╛ред
рдорд┐рдирд┐рдорд▓
рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╕реНрддрд░
рд╡реИрд▓реНрдпреВ_рд▓реЗрд╡рд▓ = рдиреНрдпреВрдирддрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ рд╡рд╕реВрд▓реА рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (рдЬреИрд╕реЗ рдХреНрд░рд┐рдПрдЯ рдЯреЗрдмрд▓ рдПрдПрд╕ рд╕реЗрд▓реЗрдХреНрдЯ рдпрд╛ рдХреНрд░рд┐рдПрдЯ рдЗрдВрдбреЗрдХреНрд╕) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдкрд░реЗрд╢рди рд▓реЙрдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рддреБрд░рдВрдд рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЗрдирджреЗрди рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд░реНрдЬ рдбреЗрдЯрд╛ рдЕрджреГрд╢реНрдп рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рд╕реНрдХ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдЗрдП рджреЗрдЦрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА -
max_wal_senders )ред
=> ALTER SYSTEM SET wal_level = minimal; => ALTER SYSTEM SET max_wal_senders = 0;
student$ sudo pg_ctlcluster 11 main restart
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрддрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд▓реЙрдЧ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдпрд╛рдж рд░рдЦреЗрдВ:
=> SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/353927BC (1 row)
рдЕрдм рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ (рдХреНрд░рд┐рдПрдЯ рдЯреЗрдмрд▓ рдПрдПрд╕ рд╕реЗрд▓реЗрдХреНрдЯ) рдФрд░ рд▓реЙрдЧ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред рд╕реЗрд▓реЗрдХреНрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЦреБрдж рдХреЛ рдПрдХ рд╕реАрдорд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд▓реЗрдВрдЧреЗред
=> CREATE TABLE wallevel AS SELECT 1 AS n; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/353A7DFC (1 row)
рдкрд░рд┐рдЪрд┐рдд pg_waldump рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде, рдЖрдЗрдП рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
postgres$ /usr/lib/postgresql/11/bin/pg_waldump -p /var/lib/postgresql/11/main/pg_wal -s 0/353927BC -e 0/353A7DFC
рдХреБрдЫ рд╡рд┐рд╡рд░рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рд╕реЗ рд▓реЙрдиреНрдЪ рддрдХ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕рд╛ рд╣реА рд╣реБрдЖред Heap2 рдкреНрд░рдмрдВрдзрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рдлрд╛рдИ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ, рдпрд╣рд╛рдБ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд╕рдлрд╛рдИ рдкрд░ рдкреГрд╖реНрда рдХреА рд╕рдлрд╛рдИ рд╣реИ (рд╕рд┐рд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ "рд╢реЙрд░реНрдЯ" рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рд░рд┐рд▓реЗ рдореЗрдВ рдирдЧреНрди рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╣реИрдВ):
rmgr: Heap2 len (rec/tot): 59/ 7587, tx: 0, lsn: 0/353927BC, prev 0/35392788, desc: CLEAN remxid 101126, blkref #0: rel 1663/16386/1247 blk 8 FPW
рдлрд┐рд░ рдЙрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ OID рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ:
rmgr: XLOG len (rec/tot): 30/ 30, tx: 0, lsn: 0/35394574, prev 0/353927BC, desc: NEXTOID 82295
рдЕрдм рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрдорд╛рдг:
rmgr: Storage len (rec/tot): 42/ 42, tx: 0, lsn: 0/35394594, prev 0/35394574, desc: CREATE base/16386/74103
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреЗрдмрд▓ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реИрдВ - рдпрд╣ PostgreSQL рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реВрдВ):
rmgr: Heap len (rec/tot): 203/ 203, tx: 101127, lsn: 0/353945C0, prev 0/35394594, desc: INSERT off 71, blkref #0: rel 1663/16386/1247 blk 8 rmgr: Btree len (rec/tot): 53/ 685, tx: 101127, lsn: 0/3539468C, prev 0/353945C0, desc: INSERT_LEAF off 37, blkref #0: rel 1663/16386/2703 blk 2 FPW ... rmgr: Btree len (rec/tot): 53/ 2393, tx: 101127, lsn: 0/353A747C, prev 0/353A6788, desc: INSERT_LEAF off 10, blkref #0: rel 1664/0/1233 blk 1 FPW
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд▓реЗрдирджреЗрди рдирд┐рд░реНрдзрд╛рд░рдг:
rmgr: Transaction len (rec/tot): 34/ 34, tx: 101127, lsn: 0/353A7DD8, prev 0/353A747C, desc: COMMIT 2019-07-23 18:59:34.923124 MSK
рдкреНрд░рддрд┐рдХреГрддрд┐
рдЬрдм рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреИрдХрдЕрдк рд╕реЗ рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреБрдЫ рд╕реНрдЯреЗрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд░рд┐рдХрд╡рд░реА рдкреЙрдЗрдВрдЯ рддрдХ рдбреЗрдЯрд╛ рд▓рд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрд░реНрдХрд╛рдЗрд╡ рдХреА рдЧрдИ рдЬрд░реНрдирд▓ рдПрдВрдЯреНрд░реАрдЬрд╝ рдХреЛ рд╡рд╛рдкрд╕ рдкреНрд▓реЗ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рджрд┐рди), рдЕрд░реНрдерд╛рддреН, рд╡рд╕реВрд▓реА рдЕрд╡рдзрд┐ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдмрд┐рдВрджреБ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рдХрдИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд▓реЙрдЧ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реНрддрд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - рдЕрдЧрд░ рдХреБрдЫ рдСрдкрд░реЗрд╢рди рд▓реЙрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреИрдХрдЕрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╕рднреА рдСрдкрд░реЗрд╢рди рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╕рдЪ рд╣реИ - рдЬреЛ рдХреБрдЫ рднреА рд▓реЙрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрднреА рднреА рдЬрдЯрд┐рд▓ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдирдиреНрдп рддрд╛рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рддрд╛рд▓реЗ рд▓реЙрдЧ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ (рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдУрд░ рд╕реЗ) рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ
рдбреЗрдЯрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЪрд▓ рд░рд╣реЗ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдмрд▓реНрдХрд┐ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕реЗ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реИ (рдпрд╣ рд╣рд░ 15 рд╕реЗрдХрдВрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ)ред
рд▓реЙрдЧ рд╕реНрддрд░, рдЬреЛ рдмреИрдХрдЕрдк рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рднреМрддрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рджреЛрдиреЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рдорд╛рди wal_level =
рдкреНрд░рддрд┐рдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рд╕рдВрд╕реНрдХрд░рдг 9.6 рд╕реЗ рдкрд╣рд▓реЗ, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрддрд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдФрд░ hot_standby рдереЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЖрдо рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛)ред
PostgreSQL 10 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛, рдпрд╣ рдпрд╣ рд╕реНрддрд░ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдиреНрдпреВрдирддрдо рдерд╛)ред рдЗрд╕рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ:
=> ALTER SYSTEM RESET wal_level; => ALTER SYSTEM RESET max_wal_senders;
student$ sudo pg_ctlcluster 11 main restart
рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рдорд╛рди рдХреНрд░рдо рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ:
=> DROP TABLE wallevel; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/353AF21C (1 row)
=> CREATE TABLE wallevel AS SELECT 1 AS n; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/353BE51C (1 row)
рдЕрдм рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
postgres$ /usr/lib/postgresql/11/bin/pg_waldump -p /var/lib/postgresql/11/main/pg_wal -s 0/353AF21C -e 0/353BE51C
рд╕рдлрд╛рдИ рдХрд░рдирд╛, рдУрдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдПрдХ рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ - рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ:
rmgr: Heap2 len (rec/tot): 58/ 58, tx: 0, lsn: 0/353AF21C, prev 0/353AF044, desc: CLEAN remxid 101128, blkref #0: rel 1663/16386/1247 blk 8 rmgr: XLOG len (rec/tot): 30/ 30, tx: 0, lsn: 0/353AF258, prev 0/353AF21C, desc: NEXTOID 82298 rmgr: Storage len (rec/tot): 42/ 42, tx: 0, lsn: 0/353AF278, prev 0/353AF258, desc: CREATE base/16386/74106 rmgr: Heap len (rec/tot): 203/ 203, tx: 101129, lsn: 0/353AF2A4, prev 0/353AF278, desc: INSERT off 73, blkref #0: rel 1663/16386/1247 blk 8 rmgr: Btree len (rec/tot): 53/ 717, tx: 101129, lsn: 0/353AF370, prev 0/353AF2A4, тАж rmgr: Btree len (rec/tot): 53/ 2413, tx: 101129, lsn: 0/353BD954, prev 0/353BCC44, desc: INSERT_LEAF off 10, blkref #0: rel 1664/0/1233 blk 1 FPW
рд▓реЗрдХрд┐рди рдХреБрдЫ рдирдпрд╛ред рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдЕрдирдиреНрдп рд▓реЙрдХ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд▓реЗрдирджреЗрди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рд╣рдо рд▓реЗрдЦреЛрдВ рдХреА рдЕрдЧрд▓реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ):
rmgr: Standby len (rec/tot): 42/ 42, tx: 101129, lsn: 0/353BE2D8, prev 0/353BD954, desc: LOCK xid 101129 db 16386 rel 74106
рдФрд░ рдпрд╣ рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ (рдХреНрд░рд┐рдПрдЯ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ):
rmgr: Heap len (rec/tot): 59/ 59, tx: 101129, lsn: 0/353BE304, prev 0/353BE2D8, desc: INSERT+INIT off 1, blkref #0: rel 1663/16386/74106 blk 0
рдкреНрд░рддрд┐рдмрджреНрдз рд░рд┐рдХреЙрд░реНрдб:
rmgr: Transaction len (rec/tot): 421/ 421, tx: 101129, lsn: 0/353BE340, prev 0/353BE304, desc: COMMIT 2019-07-23 18:59:37.870333 MSK; inval msgs: catcache 74 catcache 73 catcache 74 catcache 73 catcache 50 catcache 49 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 snapshot 2608 relcache 74106 snapshot 1214
рдФрд░ рдПрдХ рдЕрдиреНрдп рд░рд┐рдХреЙрд░реНрдб, рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрдг рд▓реЗрдирджреЗрди рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд▓реЗрдирджреЗрди рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ:
rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/353BE4E8, prev 0/353BE340, desc: RUNNING_XACTS nextXid 101130 latestCompletedXid 101129 oldestRunningXid 101130
рддрд╛рд░реНрдХрд┐рдХ
рдЕрдВрдд рдореЗрдВ, рдЕрдВрддрд┐рдо рд╕реНрддрд░ рдкреИрд░рд╛рдореАрдЯрд░
wal_level = рддрд╛рд░реНрдХрд┐рдХ рдХреЗ рдорд╛рди рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╕реНрддрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ - рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрддреНрдкрддреНрддрд┐ рдФрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рддрд╛рд░реНрдХрд┐рдХ рдбреАрдХреЛрдбрд┐рдВрдЧ рдЪрд▓ рд░рд╣реЗ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЕрдм рд╣рдо рдмреИрдХрдЕрдк рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ - рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рдЕрд▓рдЧ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд╣реИред
рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЬрд░реНрдирд▓рд┐рдВрдЧ рддрдВрддреНрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рд╡рд╛рд╣рдХ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрдИ рдХрд╛рд░рдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╣рдо рдХреИрд╢рд┐рдВрдЧ, рдбреЗрдЯрд╛ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдкрд░рдорд╛рдгреБрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдХреИрд╢рд┐рдВрдЧ
рдЧреИрд░-рд╡рд╛рд╖реНрдкрд╢реАрд▓ рднрдВрдбрд╛рд░рдг (рдЬреИрд╕реЗ рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рдбреНрд░рд╛рдЗрд╡) рдХреЗ рдбреЗрдЯрд╛ рдкрде рдкрд░ рдХрдИ рдХреИрд╢ рд╣реИрдВред
рдЬрдм рдХреЛрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рдХреЛрдИ рднреА, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ PostgreSQL) рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕рдХреЗ рдХреИрд╢ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ I / O рдЕрдиреБрд╕реВрдЪрдХ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╣реЛрддреА рд╣реИред
рдЬрдм рдУрдПрд╕ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдбреНрд░рд╛рдЗрд╡ (рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ) рдХреЗ рдХреИрд╢ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рднреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдПрдХ RAID рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдУрдПрд╕ рдФрд░ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмреАрдЪ рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рдПрдХ рдФрд░ рд╕реНрддрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рдЙрдкрд╛рдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ рдЬрдм рдбреЗрдЯрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рди рд╣реИрдВ рдЬрд╣рд╛рдВ PostgreSQL рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд░реНрдирд▓рд┐рдВрдЧ рд╣реИ (рдпрджрд┐ рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдбрд┐рд╕реНрдХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреА, рддреЛ рдпрд╣ рд░реИрдо рдХреА рдмрд╛рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреА) рдФрд░ рдПрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ (рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧрдВрджреЗ рдкреГрд╖реНрда рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ, рдХрд╣рддреЗ рд╣реИрдВ, рдиреНрдпреВрдирддрдо рд╕реНрддрд░ рдкрд░ рдЧреИрд░-рдкрддреНрд░рдХрд╛рд░рд┐рддрд╛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди, рдЖрджрд┐ред
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдРрд╕реЗ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЧреИрд░-рд╡рд╛рд╖реНрдкрд╢реАрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рддрддреНрдХрд╛рд▓ рд▓реЗрдЦрди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВред рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рджреЛ рдореБрдЦреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ рдПрдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрдорд╛рдВрдб рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ (fsync, fdatasync) рдХреЗ рдмрд╛рдж рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдирд╛ (рдпрд╛ рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛), рддреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдпрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдУрдПрд╕ рдХреИрд╢ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддрд╛ рд╣реИред
рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдХреЗ рд░реВрдк рдореЗрдВ, pg_test_fsync рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ OS рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдзрд┐ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдФрд░ рдЗрд╕реЗ
wal_sync_method рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдореЗрд╢рд╛ fsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреА рдЬрд╛рддреА рд╣реИрдВред
рд╕реВрдХреНрд╖реНрдо рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рдзрд┐ рдЪреБрдирддреЗ рд╕рдордп, рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдмреИрдХрдЕрдк рдмреИрдЯрд░реА рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреИрдЯрд░реА рдмрд┐рдЬрд▓реА рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ред
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рд╡рд┐рд╡рд░рдг рд╣реИрдВред
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдорд╣рдВрдЧрд╛ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдЬрдм рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдереЛрдбрд╝рд╛ рдХрдо рд▓реМрдЯреЗрдВрдЧреЗ)ред
рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП
fsync рдкреИрд░рд╛рдореАрдЯрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ), рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рднрдВрдбрд╛рд░рдг рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
Fsync рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ, рдЖрдк рд╕рд╣рдордд рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рдХрднреА рднреА рдХрд┐рд╕реА рднреА рд╕рдордп рдЦреЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╡реГрджреНрдзрд┐ рдХрд░рдирд╛ рд╣реИ, рдЬрдм рдбреЗрдЯрд╛ рдХреЛ рджреВрд╕рд░реЗ рд╕реНрд░реЛрдд рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рджреМрд░рд╛рди)ред
рдбреЗрдЯрд╛ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░
рдЙрдкрдХрд░рдг рдЕрдкреВрд░реНрдг рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдореАрдбрд┐рдпрд╛ рдкрд░ рдбреЗрдЯрд╛ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрддрд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВред
рд╕рдордп рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдЪреЗрдХрд╕рдо рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛ рдкреЗрдЬ рдХреЛ рдЪреЗрдХрд╕рдо рдХреЗ рд╕рд╛рде рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ рддрдм рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди PostgreSQL 12 рдореЗрдВ pg_checksums рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рддрдХ рдордХреНрдЦреА рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рд╕рд░реНрд╡рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЙрддреНрдкрд╛рджрди рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ, рдЙрдирдХреА рдЧрдгрдирд╛ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдУрд╡рд░рд╣реЗрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЪреЗрдХрд╕рдо рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЗрд╕ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рдкрд░ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред
рдХрдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЦрддреНрдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪреЗрдХрд╕рдо рдХреЛ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╕рдордп рд╣реА рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП, рдиреБрдХрд╕рд╛рди рддрдм рддрдХ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕рднреА рдмреИрдХрдЕрдк рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ pg_probackup рдмреИрдХрдЕрдк рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рдЪреЗрдХрд╕рдо рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░реЗ, рд╢реВрдиреНрдп рд╕реЗ рднрд░рд╛ рдПрдХ рдкреГрд╖реНрда рд╕рд╣реА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЧрд▓рддреА рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ "рд╢реВрдиреНрдп" рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреАрд╕рд░реЗ, рдЪреЗрдХрд╕рдо рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдореБрдЦреНрдп рдкрд░рдд рдХреА рд░рдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╢реЗрд╖ рдкрд░рддреЗрдВ рдФрд░ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, XACT рд▓реЗрдирджреЗрди рдХреА рд╕реНрдерд┐рддрд┐) рдХреБрдЫ рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рдЕрдлрд╕реЛрд╕ред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЪреЗрдХрд╕рдо рд╕рдХреНрд╖рдо рд╣реИрдВ (рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдбреЗрдмрд┐рдпрди рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ):
=> SHOW data_checksums;
data_checksums ---------------- on (1 row)
Data_checksums рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдпрд╣рд╛рдБ рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдерд┐рдд рд╣реИ:
=> SELECT pg_relation_filepath('wallevel');
pg_relation_filepath ---------------------- base/16386/24890 (1 row)
рд╕рд░реНрд╡рд░ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рд╢реВрдиреНрдп рдкреГрд╖реНрда рдореЗрдВ рдХреБрдЫ рдмрд╛рдЗрдЯреНрд╕ рдмрджрд▓реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд▓рдПрд╕рдПрди рд╣реЗрдбрд░ рд╕реЗ рдЕрдВрддрд┐рдо рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
student$ sudo pg_ctlcluster 11 main stop
postgres$ dd if=/dev/zero of=/var/lib/postgresql/11/main/base/16386/24890 oflag=dsync conv=notrunc bs=1 count=8
8+0 records in 8+0 records out 8 bytes copied, 0,0083022 s, 1,0 kB/s
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХреЛ рд░реЛрдХрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдкреГрд╖реНрда рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреИрд╢ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЕрдиреНрдпрдерд╛ рд╕рд░реНрд╡рд░ рдХреИрд╢ рд╕реЗ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛)ред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред
рдЕрдм рд╣рдо рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
student$ sudo pg_ctlcluster 11 main start
=> SELECT * FROM wallevel;
WARNING: page verification failed, calculated checksum 23222 but expected 50884 ERROR: invalid page in block 0 of relation base/16386/24890
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк рд╕реЗ рдмрд╣рд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
Ign_checksum_failure рдкреИрд░рд╛рдореАрдЯрд░
рдЖрдкрдХреЛ рд╡рд┐рдХреГрдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
=> SET ignore_checksum_failure = on; => SELECT * FROM wallevel;
WARNING: page verification failed, calculated checksum 23222 but expected 50884 n --- 1 (1 row)
рдмреЗрд╢рдХ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХрд╛ рд╢реАрд░реНрд╖рдХ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рд╣реА рдирд╣реАрдВред
рдФрд░ рдПрдХ рдмрд╛рддред рдЬрдм рдЪреЗрдХрд╕рдо рдЪрд╛рд▓реВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдХреЗрдд рдХреЗ рдмрд┐рдЯреНрд╕ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ (рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЙрдирдХреА
рдЬрд╛рдВрдЪ рдХреА ), рдЪреВрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреИрд░-рдЖрд╡рд╢реНрдпрдХ, рдмрд┐рдЯ рднреА рдЪреЗрдХрд╕рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЪреЗрдХрд╕рдо рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ
wal_log_hints рдкреИрд░рд╛рдореАрдЯрд░
рд▓реЙрдЧ рдореЗрдВ рд╕рдВрдХреЗрдд рдмрд┐рдЯреНрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
рдЯреВрд▓рдЯрд┐рдк рдмрд┐рдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣рдореЗрд╢рд╛ рдПрдХ
рдкреВрд░реНрдг рдкреГрд╖реНрда рдЫрд╡рд┐ (FPI, рдкреВрд░реНрдг рдкреГрд╖реНрда рдЫрд╡рд┐) рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд░рдо рдореЗрдВ рд▓реЙрдЧ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣
рд╡рд╛рд▓_рдХрдВрдкрд┐рд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрдг рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ 9.5 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛)ред рдиреАрдЪреЗ рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред
рдкрд░рдорд╛рдгреБ рд░рд┐рдХреЙрд░реНрдб
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд░рд┐рдХреЙрд░реНрдб рдХреА рдкрд░рдорд╛рдгреБрддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреГрд╖реНрда рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 8 KB (рдпрд╣ 16 рдпрд╛ 32 KB рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдирд┐рдореНрди рд╕реНрддрд░ рдкрд░, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЙрди рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЫреЛрдЯреЗ рд╣реЛрддреЗ рд╣реИрдВ (рдЖрдорддреМрд░ рдкрд░ 512 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ 4 KB)ред рдЗрд╕рд▓рд┐рдП, рдмрд┐рдЬрд▓реА рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбреЗрдЯрд╛ рдкреГрд╖реНрда рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреГрд╖реНрда рдкрд░ рд╕рд╛рдзрд╛рд░рдг рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, PostgreSQL рдЖрдкрдХреЛ
рдкреГрд╖реНрда рдХреА
рдкреВрд░реА рдЫрд╡рд┐ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рд░ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрд╕реА рдЫрд╡рд┐ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЯреВрд▓рдЯрд┐рдк рдмрд┐рдЯреНрд╕ рдмрджрд▓рддреЗ рд╣реИрдВ)ред
Full_page_writes рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╕реЗ
рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ , рдФрд░ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред
рдпрджрд┐ рдПрдХ рд▓реЙрдЧ рдореЗрдВ рдмрд╣рд╛рд▓реА рдХреЗ рджреМрд░рд╛рди рдПрдХ рдкреГрд╖реНрда рдЫрд╡рд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рдирд╛ рд╢рд░реНрдд (рдПрд▓рдПрд╕рдПрди рдЪреЗрдХрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛) рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рд▓реЙрдЧ рд░рд┐рдХреЙрд░реНрдб рдХреА рддрд░рд╣, рдпрд╣ рдПрдХ рдЪреЗрдХрд╕рдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рдпрдорд┐рдд рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЗрд╕ рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд╕рд╣реА рдЫрд╡рд┐ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред
рдпрджреНрдпрдкрд┐ PostgreSQL рдкреВрд░реНрдг рдкреГрд╖реНрда рдЫрд╡рд┐ (рд╣рдордиреЗ рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ
рджреЗрдЦрд╛ рдерд╛ ) рд╕реЗ рдЕрд╕рдВрдмрджреНрдз рд╕реНрдерд╛рди рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрдиреНрди рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреВрд░реНрдг рдЫрд╡рд┐рдпреЛрдВ (
Wal_compression рдкреИрд░рд╛рдореАрдЯрд░) рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рдХреЗ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд┐рд╕реА рддрд░рд╣ рд▓реЙрдЧ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо pgbench рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ:
student$ pgbench -i test
dropping old tables... creating tables... generating data... 100000 of 100000 tuples (100%) done (elapsed 0.15 s, remaining 0.00 s) vacuuming... creating primary keys... done.
Full_page_writes рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реИ:
=> SHOW full_page_writes;
full_page_writes ------------------ on (1 row)
рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдЪрд▓рд╛рдПрдВ рдФрд░ рддреБрд░рдВрдд 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред
=> CHECKPOINT; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/38E04A08 (1 row)
student$ pgbench -T 30 test
starting vacuum...end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 1 number of threads: 1 duration: 30 s number of transactions actually processed: 26851 latency average = 1.117 ms tps = 895.006720 (including connections establishing) tps = 895.095229 (excluding connections establishing)
=> SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/3A69C478 (1 row)
рд▓реЙрдЧ рдЖрдХрд╛рд░:
=> SELECT pg_size_pretty('0/3A69C478'::pg_lsn - '0/38E04A08'::pg_lsn);
pg_size_pretty ---------------- 25 MB (1 row)
рдЕрдм full_page_writes рдкреИрд░рд╛рдореАрдЯрд░ рдмрдВрдж рдХрд░реЗрдВ:
=> ALTER SYSTEM SET full_page_writes = off; => SELECT pg_reload_conf();
рдФрд░ рдкреНрд░рдпреЛрдЧ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред
=> CHECKPOINT; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/3A69C530 (1 row)
student$ pgbench -T 30 test
starting vacuum...end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 1 number of threads: 1 duration: 30 s number of transactions actually processed: 27234 latency average = 1.102 ms tps = 907.783080 (including connections establishing) tps = 907.895326 (excluding connections establishing)
=> SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/3BE87658 (1 row)
рд▓реЙрдЧ рдЖрдХрд╛рд░:
=> SELECT pg_size_pretty('0/3BE87658'::pg_lsn - '0/3A69C530'::pg_lsn);
pg_size_pretty ---------------- 24 MB (1 row)
рд╣рд╛рдВ, рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдЖрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХреЛрдИ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдбреЗрдЯрд╛ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдЪреЗрдХрд╕рдо рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЯреВрд▓рдЯрд┐рдк рдмрд┐рдЯреНрд╕ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рд▓реЙрдЧ рдХреЛ рдкреВрд░реНрдг рдкреГрд╖реНрда рдЫрд╡рд┐рдпрд╛рдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпреЗ рдбреЗрдЯрд╛ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдХрд╛ рд▓рдЧрднрдЧ рдЖрдзрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
postgres$ /usr/lib/postgresql/11/bin/pg_waldump --stats -p /var/lib/postgresql/11/main/pg_wal -s 0/3A69C530 -e 0/3BE87658
Type N (%) Record size (%) FPI size (%) ---- - --- ----------- --- -------- --- XLOG 1721 ( 1,03) 84329 ( 0,77) 13916104 (100,00) Transaction 27235 ( 16,32) 926070 ( 8,46) 0 ( 0,00) Storage 1 ( 0,00) 42 ( 0,00) 0 ( 0,00) CLOG 1 ( 0,00) 30 ( 0,00) 0 ( 0,00) Standby 4 ( 0,00) 240 ( 0,00) 0 ( 0,00) Heap2 27522 ( 16,49) 1726352 ( 15,76) 0 ( 0,00) Heap 109691 ( 65,71) 8169121 ( 74,59) 0 ( 0,00) Btree 756 ( 0,45) 45380 ( 0,41) 0 ( 0,00) -------- -------- -------- Total 166931 10951564 [44,04%] 13916104 [55,96%]
рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╢реВрдиреНрдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдХреБрд▓ рд▓рд╛рдЗрди (рдХреБрд▓) рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдХреЙрд░реНрдб (рд░рд┐рдХреЙрд░реНрдб рдЖрдХрд╛рд░) рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдЫрд╡рд┐рдпреЛрдВ (рдПрдлрдкреАрдЖрдИ рдЖрдХрд╛рд░) рдХреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред
рдлреБрд▓_рдкреЗрдЬ_ рд░рд╛рдЗрдЯреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрд╡рдпрдВ рдкрд░рдорд╛рдгреБ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЪреЗрдХрд╕рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдкреАрдбрд╝рди рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИред
=> ALTER SYSTEM SET full_page_writes = on; => ALTER SYSTEM SET wal_compression = on; => SELECT pg_reload_conf();
рдЙрд╕реА рдкреНрд░рдпреЛрдЧ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред
=> CHECKPOINT; => SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/3BE87710 (1 row)
student$ pgbench -T 30 test
starting vacuum...end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 1 number of threads: 1 duration: 30 s number of transactions actually processed: 26833 latency average = 1.118 ms tps = 894.405027 (including connections establishing) tps = 894.516845 (excluding connections establishing)
=> SELECT pg_current_wal_insert_lsn();
pg_current_wal_insert_lsn --------------------------- 0/3CBD3EA8 (1 row)
рд▓реЙрдЧ рдЖрдХрд╛рд░:
=> SELECT pg_size_pretty('0/3CBD3EA8'::pg_lsn - '0/3BE87710'::pg_lsn);
pg_size_pretty ---------------- 13 MB (1 row)
рдирд┐рд╖реНрдХрд░реНрд╖: рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреВрд░реНрдг рдкреГрд╖реНрда рдЫрд╡рд┐рдпреЛрдВ (рдЪреЗрдХрд╕рдо рдпрд╛
full_page_writes рдХреЗ рдХрд╛рд░рдг, рдЕрд░реНрдерд╛рдд, рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛) рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдЙрддреНрдкрд╛рджрдХрддрд╛
рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рдХреЛрдИ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдПрдЪрдбреАрдбреА рднреА рдЗрд╕ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд▓реЛрдб рдХреА рдпрд╣ рдкреНрд░рдХреГрддрд┐ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдорддреМрд░ рдкрд░ рд▓реЙрдЧ рдХреЛ рдПрдХ рдЕрд▓рдЧ рднреМрддрд┐рдХ рдбрд┐рд╕реНрдХ (рдпрд╛ рдбрд┐рд╕реНрдХ рд╕рд░рдгреА) рдкрд░ рд╕рд░реНрд╡рд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рднрдкреНрд░рдж рд╣реИред $ PGDATA / pg_wal рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдРрд╕реА рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рди рдХреЗрд╡рд▓ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рдкрдврд╝рдирд╛ рднреА рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рд╡рд╕реВрд▓реА рдХрд╛ рдПрдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдорд╛рдорд▓рд╛ рд╣реИред рджреВрд╕рд░рд╛ рдХрдо рддреБрдЪреНрдЫ рд╣реИред рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬрдмрдХрд┐ рд╡реЗ рдЕрднреА рднреА рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рд░реИрдо рдмрдлрд╝рд░реНрд╕ рдореЗрдВ рд╣реИрдВред рдлрд┐рд░ рд╡рд╛рд▓реНрд╕реЗрдВрдбрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЬрдм рд╣рдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рддреЛ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд▓реЙрдЧрд┐рдВрдЧ рдПрдХ рджреЛ рдореЛрдб рдореЗрдВ рд╣реЛрддреА рд╣реИ:
- рд╕рд┐рдВрдХреНрд░реЛрдирд╕ - рдЬрдм рдХреЛрдИ рд▓реЗрдирджреЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХрд╛рдо рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдбрд┐рд╕реНрдХ рдкрд░ рди рд╣реЛрдВ;
- рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ - рд▓реЗрдирджреЗрди рддреБрд░рдВрдд рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдореЛрдб
рд╕рд┐рдВрдХреНрд░реЛрдирд╕_рдХрдорд┐рдЯ рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдпрд╛рдиреА, рдзреАрдорд╛) I / O рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛ рд▓реЗрди-рджреЗрди рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИ рдФрд░ рдПрдХ рд▓реЙрдЧ рд▓рд┐рдЦрддреА рд╣реИ, рдПрдХ рдЫреЛрдЯрд╛ рд╡рд┐рд░рд╛рдо рд▓реЗрддреА рд╣реИ, рдЬреЛ
рдХрдореЗрдЯреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ,
commit_siblings . , . , , - .
commit_siblings = 5,
commit_delay = 0, .
commit_delay , OLTP-.
LSN ( , ). .
( D ACID) тАФ , . , ( COMMIT ) .
,
synchronous_commit = off ( local).
wal writer, (
wal_writer_delay = 200ms ).
, , WAL. , , , , . (, : , , .)
, ( ) тАФ ?
, , .
тАФ . : , 3 ├Ч
wal_writer_delay ( ).
тАФ тАФ .
: (
fsync = off), . , , , .
synchronous_commit . , . , , .
. , WAL. , , .
- , , pgbench.
=> ALTER SYSTEM SET synchronous_commit = off; => SELECT pg_reload_conf();
student$ pgbench -T 30 test
starting vacuum...end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 1 number of threads: 1 duration: 30 s number of transactions actually processed: 45439 latency average = 0.660 ms tps = 1514.561710 (including connections establishing) tps = 1514.710558 (excluding connections establishing)
900 (tps), тАФ 1500. , , , .
. - , . !
, .