{"id":497105,"date":"2026-10-02T11:05:20","date_gmt":"2026-10-02T11:05:20","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=497105"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=497105","title":{"rendered":"PostgreSQL 19: \u041a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442 2026-03 \u0427\u0430\u0441\u0442\u044c 5.2 (DBA1, DBA2)"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/eb\/b6\/01\/ebb60195ea800a8a4c158b06f15ad1a2.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/eb\/b6\/01\/ebb60195ea800a8a4c158b06f15ad1a2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/eb\/b6\/01\/ebb60195ea800a8a4c158b06f15ad1a2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043e\u0431\u0437\u043e\u0440 \u043c\u0430\u0440\u0442\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u0435\u0440\u0438\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u043c \u043a\u0443\u0440\u0441\u043e\u0432 <a href=\"https:\/\/postgrespro.ru\/education\/courses\/DBA1\">DBA1<\/a> \u0438 <a href=\"https:\/\/postgrespro.ru\/education\/courses\/DBA2\">DBA2<\/a>.<\/p>\n<p>\u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e \u043f\u043b\u0430\u043d \u0441\u0442\u0430\u0442\u0435\u0439 \u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0435 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/1089000\/\">\u0427\u0430\u0441\u0442\u044c 5.1 (QPT)<\/a><\/p>\n<\/li>\n<li>\n<p><em>\u0427\u0430\u0441\u0442\u044c 5.2 (DBA1, DBA2) \u2013 \u043c\u044b \u0437\u0434\u0435\u0441\u044c<\/em> \ud83d\ude42<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c 5.3 (DBA3, DBS)<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c 5.4 (SQL, DEV1, DEV2)<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/984580\/\">2025-07<\/a>, <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/986694\/\">2025-09<\/a>, <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/992426\/\">2025-11<\/a>, <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/996010\/\">2026-01<\/a>.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043e\u0431\u0437\u043e\u0440\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"#commit_ac58465e061\">REPACK: \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_d7965d65fc5\">\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0440\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_1ff3180ca01\">\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_e646450e609\">\u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_5b93a5987bd\">\u0416\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_a881cc9c7e8\">\u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 WAL \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0442\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_ae58189a4d5\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_4019f725f5d\">pg_stat_lock: \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_b33f7536128\">pg_upgrade: \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0447\u0430\u0441\u0442\u044c 2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_3c5ec35dea2\">oid2name: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e PGDATA<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_41d69e6dcca\">psql: \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_38e0190ced7\">log_min_messages \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#commit_723619eaa3a\">\u0412\u0440\u0435\u043c\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0434\u043b\u044f pg_stat_database_conflicts, pg_statio_all_sequences<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"commit_ac58465e061\" id=\"commit_ac58465e061\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/5117\/\"><strong>REPACK: \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=ac58465e061\"><code>ac58465e061<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=28d534e2ae0\"><code>28d534e2ae0<\/code><\/a><\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u044b CLUSTER \u0438 VACUUM FULL \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0438\u0437\u043b\u0438\u0448\u043d\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446. \u041e\u043d\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438 \u0435\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432 \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0435\u0437 \u00ab\u043c\u0435\u0440\u0442\u0432\u044b\u0445\u00bb \u0441\u0442\u0440\u043e\u043a, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e CLUSTER \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c.<\/p>\n<p>\u041d\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/sql-repack.html\">REPACK<\/a> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 VACUUM FULL \u0438 CLUSTER \u043f\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c:<\/p>\n<pre><code class=\"pgsql\">REPACK bookings; -- \u0437\u0430\u043c\u0435\u043d\u0430 VACUUM FULLREPACK bookings USING INDEX bookings_pkey; -- \u0437\u0430\u043c\u0435\u043d\u0430 CLUSTER<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u0412 \u0442\u0430\u043a\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 REPACK, \u043a\u0430\u043a \u0438 CLUSTER\/VACUUM FULL, \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>\u0412\u0442\u043e\u0440\u044b\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 REPACK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 CONCURRENTLY, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0438\u0448\u0443\u0449\u0438\u0445 \u0432 \u044d\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0412 \u0442\u0430\u043a\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441 \u043a\u043e\u043f\u0438\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043a\u0440\u0430\u0442\u043a\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b \u0441\u0442\u0430\u0440\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435.<\/p>\n<pre><code class=\"pgsql\">REPACK(concurrently) bookings;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>REPACK(concurrently) \u0438\u043c\u0435\u0435\u0442 \u0440\u044f\u0434 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u0447\u0442\u043e \u043d\u0435 \u0434\u0430\u0435\u0442 [\u0430\u0432\u0442\u043e]\u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043c\u0435\u0440\u0442\u0432\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u043a\u0446\u0438\u044f\u043c. \u0423 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c (replica identity \u043f\u043e \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u043c\u0443 \u0438\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0438\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b TOAST.<\/p>\n<p>\u0427\u0430\u0441\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u044f\u0442\u0430 \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u043d\u0438\u043c\u0438 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0432 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/sql-repack.html\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<p>\u0421\u043c. \u0442\u0430\u043a\u0436e<br \/> <a href=\"https:\/\/habr.com\/ru\/articles\/1072388\/\">REPACK \u0432 PostgreSQL 19: \u043f\u0435\u0440\u0435\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0432 \u044f\u0434\u0440\u0435 \u0438, \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0434\u044c\u044f\u0432\u043e\u043b \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445<\/a> (\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u0438\u0439).<\/p>\n<p><a class=\"anchor\" name=\"commit_d7965d65fc5\" id=\"commit_d7965d65fc5\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6114\/\"><strong>\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0440\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=d7965d65fc5\"><code>d7965d65fc5<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=87f61f0c828\"><code>87f61f0c828<\/code><\/a><\/p>\n<p>\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u0415\u0441\u0442\u044c \u043f\u044f\u0442\u044c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u043d\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c:<\/p>\n<ul>\n<li>\n<p>\u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438,<\/p>\n<\/li>\n<li>\n<p>\u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438,<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a,<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a,<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430? \u0420\u0430\u043d\u044c\u0448\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u044b\u043b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439: \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0447\u0438\u0442\u0430\u043b pg_class, \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u043b \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0438 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0417\u0430\u0442\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437 \u0447\u0438\u0442\u0430\u043b pg_class \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b TOAST. \u0410 \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0432 \u0442\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u0430\u043a\u043e\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a.<\/p>\n<p>\u0412 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u044f <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/routine-vacuuming.html#AUTOVACUUM-PRIORITY\">\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0430\u0446\u0438\u0438<\/a> \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446. \u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u043b\u043b \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0437 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432. \u041d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u0438\u0437 \u043f\u044f\u0442\u0438 \u0431\u0430\u043b\u043b\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u043c \u0431\u0430\u043b\u043b\u043e\u043c \u0434\u043b\u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u043e\u0432 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u043b\u044e \u0441\u0442\u0440\u043e\u043a (autovacuum_<em>scale_factor). \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 autovacuum<\/em>_threshold. \u0422\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043f\u0435\u0442\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0430\u0441\u0447\u0435\u0442\u044b:<\/p>\n<pre><code class=\"pgsql\">ALTER SYSTEM SET autovacuum_analyze_scale_factor = 0;ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 0;ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 0;ALTER SYSTEM SET autovacuum_naptime = '1h';SELECT pg_reload_conf();<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u0435 2000 \u0441\u0442\u0440\u043e\u043a.<\/p>\n<pre><code class=\"pgsql\">CREATE TABLE test1 (id int);INSERT INTO test1 SELECT g.x FROM generate_series(1,2000) AS g(x);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/monitoring-stats.html#MONITORING-PG-STAT-AUTOVACUUM-SCORES-VIEW\">pg_stat_autovacuum_scores<\/a> \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0449\u0438\u0439 \u0431\u0430\u043b\u043b (score) \u0438 \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0435 \u0431\u0430\u043b\u043b\u044b \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044e. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0442\u0440\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0438, \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043b\u0438 \u0437\u0430\u043c\u043e\u0440\u043e\u0437\u043a\u0438:<\/p>\n<pre><code class=\"pgsql\">SELECT relname,       round(score) score,       round(xid_score) xid_score,       round(mxid_score) mxid_score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_score,       do_vacuum,       do_analyze,       for_wraparoundFROM pg_stat_autovacuum_scoresWHERE schemaname = 'public' AND relname ~ 'test'\\gx<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>-[ RECORD 1 ]-------+------relname             | test1score               | 40xid_score           | 0mxid_score          | 0<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code class=\"pgsql\">vacuum_score        | 0vacuum_insert_score | 2analyze_score       | 40do_vacuum           | tdo_analyze          | tfor_wraparound      | f<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0434\u0432\u0430 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>vacuum_insert_score = 2 2000 \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432 2 \u0440\u0430\u0437\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 <em>autovacuum_vacuum_insert_threshold<\/em>(1000).<\/p>\n<\/li>\n<li>\n<p>analyze_score = 40 2000 \u0441\u0442\u0440\u043e\u043a \u0432 40 \u0440\u0430\u0437 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 <em>autovacuum_analyze_threshold<\/em>(50).<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u0449\u0438\u0439 \u0431\u0430\u043b\u043b \u0434\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u0438\u0437 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0445, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043d \u0440\u0430\u0432\u0435\u043d 40 (score).<\/p>\n<p>\u0412 \u0434\u0440\u0443\u0433\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c 1000 \u0441\u0442\u0440\u043e\u043a \u0438 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0441\u0440\u0430\u0437\u0443 \u0443\u0434\u0430\u043b\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0431\u044b\u043b\u043e 500 \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a:<\/p>\n<pre><code class=\"pgsql\">CREATE TABLE test2 (id int);INSERT INTO test2 SELECT g.x FROM generate_series(1,1000) AS g(x);DELETE FROM test2 WHERE id &gt; 500;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043e\u0431\u0435\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446:<\/p>\n<pre><code class=\"pgsql\">SELECT relname,       round(score) score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_scoreFROM pg_stat_autovacuum_scoresWHERE schemaname = 'public' AND relname ~ 'test'ORDER BY score DESC;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code> relname | score | vacuum_score | vacuum_insert_score | analyze_score---------+-------+--------------+---------------------+--------------- test1   |    40 |            0 |                   2 |            40 test2   |    30 |           10 |                   1 |            30(2 rows)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0423 \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b 10 \u0431\u0430\u043b\u043b\u043e\u0432 \u043f\u043e \u043c\u0435\u0440\u0442\u0432\u044b\u043c \u0441\u0442\u0440\u043e\u043a\u0430\u043c, \u0430 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 30. \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u043b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<p>\u041d\u043e \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a \u0438\u043c\u0435\u043b\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435? \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <em>autovacuum_vacuum_score_weight<\/em>, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u043e\u0440 \u0432\u0435\u0441\u0430 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f:<\/p>\n<pre><code class=\"pgsql\">ALTER SYSTEM SET autovacuum_vacuum_score_weight = 10;SELECT pg_reload_conf();<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 vacuum_score \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 10, \u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 test2 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c test1:<\/p>\n<pre><code class=\"pgsql\">SELECT relname,       round(score) score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_scoreFROM pg_stat_autovacuum_scoresWHERE schemaname = 'public' AND relname ~ 'test'ORDER BY score DESC;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code> relname | score | vacuum_score | vacuum_insert_score | analyze_score---------+-------+--------------+---------------------+--------------- test2   |   100 |          100 |                   1 |            30 test1   |    40 |            0 |                   2 |            40(2 rows)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043f\u044f\u0442\u0438 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u043d\u0438 \u0440\u0430\u0432\u043d\u044b 1:<\/p>\n<pre><code class=\"pgsql\">\\dconfig+ autovacuum_*_weight<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>                           List of configuration parameters                Parameter                 | Value | Type | Context | Access privileges------------------------------------------+-------+------+---------+------------------- autovacuum_analyze_score_weight          | 1     | real | sighup  | autovacuum_freeze_score_weight           | 1     | real | sighup  | autovacuum_multixact_freeze_score_weight | 1     | real | sighup  | autovacuum_vacuum_insert_score_weight    | 1     | real | sighup  | autovacuum_vacuum_score_weight           | 10    | real | sighup  |(5 rows)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 0.<\/p>\n<p><a class=\"anchor\" name=\"commit_1ff3180ca01\" id=\"commit_1ff3180ca01\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/5755\/\"><strong>\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=1ff3180ca01\"><code>1ff3180ca01<\/code><\/a><\/p>\n<p>\u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a <code>VACUUM(PARALLEL N)<\/code> \u0435\u0449\u0435 \u0441 13-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0443\u043c\u0435\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432 \u043e\u0434\u0438\u043d \u043f\u043e\u0442\u043e\u043a \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0451 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0422\u0435\u043f\u0435\u0440\u044c \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-PARALLEL-WORKERS\"><em>autovacuum_max_parallel_workers<\/em><\/a>:<\/p>\n<pre><code class=\"pgsql\">\\dconfig+ autovacuum_max_parallel_workers<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>                        List of configuration parameters            Parameter            | Value |  Type   | Context | Access privileges---------------------------------+-------+---------+---------+------------------- autovacuum_max_parallel_workers | 0     | integer | sighup  |(1 row)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445.<\/p>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/p>\n<pre><code class=\"pgsql\">ALTER TABLE flights SET (autovacuum_parallel_workers = 2);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><a class=\"anchor\" name=\"commit_e646450e609\" id=\"commit_e646450e609\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6222\/\"><strong>\u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=e646450e609\"><code>e646450e609<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=48f11bfa06c\"><code>48f11bfa06c<\/code><\/a><\/p>\n<p>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u043e \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0430 40 \u043c\u043b\u043d \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439. \u0412 \u043d\u0430\u0448 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u0432\u0435\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u043e\u0437\u0434\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0430 100 \u043c\u043b\u043d \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u043e \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u043d\u043e \u0438 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0435\u0449\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code>WARNING:  database \"mydb\" must be vacuumed within 99985967 transactionsDETAIL:  Approximately 4.66% of transaction IDs are available for use.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0435\u0435 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443 \u0441\u0440\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0447\u0435\u043c \u0432\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430 \u0432\u0438\u0434 \u0447\u0438\u0441\u043b\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.<\/p>\n<p><a class=\"anchor\" name=\"commit_5b93a5987bd\" id=\"commit_5b93a5987bd\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6306\/\"><strong>\u0416\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=5b93a5987bd\"><code>5b93a5987bd<\/code><\/a><\/p>\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 (\u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432 WAL) \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u043d\u043e \u043d\u0435 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438. \u042d\u0442\u043e \u043e\u0441\u043b\u043e\u0436\u043d\u044f\u043b\u043e \u043f\u043e\u0438\u0441\u043a \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438 \u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438:<\/p>\n<pre><code class=\"pgsql\">CHECKPOINT;\\! tail -2 logfile<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>2026-09-10 13:30:05.951 MSK [22469] LOG:  checkpoint starting: fast force wait2026-09-10 13:30:05.965 MSK [22469] LOG:  checkpoint complete: fast force wait: wrote 0 buffers (0.0%), wrote 0 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.015 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=2403 kB; lsn=F\/2F962CF0, redo lsn=F\/2F962C90<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><a class=\"anchor\" name=\"commit_a881cc9c7e8\" id=\"commit_a881cc9c7e8\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/5841\/\"><strong>\u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 WAL \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0442\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=a881cc9c7e8\"><code>a881cc9c7e8<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=b46e1e54d07\"><code>b46e1e54d07<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=378a216187a\"><code>378a216187a<\/code><\/a><\/p>\n<p>\u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 WAL \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043a\u0430\u0440\u0442\u0443 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043d\u0435\u0441\u0435\u043d\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b all_visible\/all_frozen. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u0440\u0442\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u0432 \u0437\u0430\u043f\u0438\u0441\u0438, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0435\u0439\u0441\u044f \u043a \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u042d\u0442\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 WAL \u043f\u0440\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439.<\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443, \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 (\u0438 COPY FREEZE). \u0427\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u043d\u0430 \u043b\u0435\u0442\u0443\u00bb? \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u043a\u0430\u043a \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0447\u0442\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c <a href=\"https:\/\/edu.postgrespro.ru\/16\/dba2-16\/dba2_04_mvcc_hot.html\">\u0441\u0430\u043c\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b<\/a>. \u0421\u0430\u043c\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u0412 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0430\u043c\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a all_visible, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u0432\u0441\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u0440\u043e\u043a. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0441\u043c\u043e\u0433\u0443\u0442, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u0441\u0430\u043c\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a all_visible \u0432 \u043a\u0430\u0440\u0442\u0435 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u0436\u0434\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0435\u0442 \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041e\u0431\u044b\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0441\u0430\u043c\u043e\u0439 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0431\u043e\u0442\u044b, \u0435\u0441\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0430\u0440\u0442\u0430 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<p><a class=\"anchor\" name=\"commit_ae58189a4d5\" id=\"commit_ae58189a4d5\"><\/a><\/p>\n<p><strong>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f<\/strong><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=ae58189a4d5\"><code>ae58189a4d5<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=213f0079b34\"><code>213f0079b34<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=4c910f3bbe9\"><code>4c910f3bbe9<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=d841ca2d149\"><code>d841ca2d149<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=6c228755add\"><code>6c228755add<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=bfa3c4f106b\"><code>bfa3c4f106b<\/code><\/a><\/p>\n<p>\u041f\u043e\u044f\u0432\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0435\u0449\u0451 \u0432 17-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c:<\/p>\n<ul>\n<li>\n<p>\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 pgstattuple: \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 pgstattuple_approx, pgstatindex \u0438 pgstathashindex;<\/p>\n<\/li>\n<li>\n<p>\u0438\u043d\u0434\u0435\u043a\u0441\u044b bloom: \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435(bulk delete) \u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u0435;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 GIN;<\/p>\n<\/li>\n<li>\n<p>\u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 hash.<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"commit_4019f725f5d\" id=\"commit_4019f725f5d\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/5942\/\"><strong>pg_stat_lock: \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=4019f725f5d\"><code>4019f725f5d<\/code><\/a><\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pg_locks \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a. \u041f\u043e\u0441\u043b\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u043b\u0438\u043b\u0430\u0441\u044c \u0434\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c <em>deadlock_timeout<\/em>, \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <em>log_lock_waits<\/em> (\u0432 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u043d <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/986694\/#commit_2aac62be8\">\u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/a>).<\/p>\n<p>\u041d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/monitoring-stats.html#MONITORING-PG-STAT-LOCK-VIEW\">pg_stat_lock<\/a> \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0435\u0442 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a, \u0434\u043b\u044f\u0449\u0438\u0445\u0441\u044f \u0434\u043e\u043b\u044c\u0448\u0435 <em>deadlock_timeout<\/em>.<\/p>\n<p>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0431\u0440\u043e\u0441\u0438\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a:<\/p>\n<pre><code class=\"pgsql\">SELECT pg_stat_reset_shared('lock');<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u0435\u0430\u043d\u0441\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435:<\/p>\n<pre><code class=\"pgsql\">1=# BEGIN;1=*# SELECT * FROM bookings WHERE book_ref = '2EW1SQ' FOR UPDATE;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code> book_ref |           book_date           | total_amount----------+-------------------------------+-------------- 2EW1SQ   | 2025-09-01 03:00:12.557744+03 |      8125.00(1 row)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u0435\u0430\u043d\u0441\u0435 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0436\u0435 \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code class=\"pgsql\">2=# SELECT * FROM bookings WHERE book_ref = '2EW1SQ' FOR UPDATE;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0436\u0434\u0435\u0442 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438, \u043d\u0435\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0430\u043d\u0441 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e:<\/p>\n<pre><code class=\"pgsql\">1=*# COMMIT;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0430\u043d\u0441 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443:<\/p>\n<pre><code class=\"pgsql\">2=# SELECT * FROM bookings WHERE book_ref = '2EW1SQ' FOR UPDATE;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code> book_ref |           book_date           | total_amount----------+-------------------------------+-------------- 2EW1SQ   | 2025-09-01 03:00:12.557744+03 |      8125.00(1 row)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0410 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 pg_stat_lock \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0435:<\/p>\n<pre><code class=\"pgsql\">SELECT locktype, waits, wait_time, fastpath_exceededFROM pg_stat_lock;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>     locktype     | waits | wait_time | fastpath_exceeded------------------+-------+-----------+------------------- relation         |     0 |         0 |                 0 extend           |     0 |         0 |                 0 frozenid         |     0 |         0 |                 0 page             |     0 |         0 |                 0 tuple            |     0 |         0 |                 0 transactionid    |     1 | 10060.469 |                 0 virtualxid       |     0 |         0 |                 0 spectoken        |     0 |         0 |                 0 object           |     0 |         0 |                 0 userlock         |     0 |         0 |                 0 advisory         |     0 |         0 |                 0 applytransaction |     0 |         0 |                 0(12 rows)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u0431\u0430\u0437\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0443 locktype, \u0438\u043c\u0435\u044e\u0449\u0435\u043c\u0443 \u0442\u0435 \u0436\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 pg_locks. \u0412 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445 waits \u0438 wait_time (\u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445) \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 (\u0434\u043e\u043b\u044c\u0448\u0435 deadlock_timeout) \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a. \u0410 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 fastpath_exceeded \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/explicit-locking.html#LOCKING-TABLES-FAST-PATH\">\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u043f\u0443\u0442\u0438<\/a>. \u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0435\u043b\u0438\u043a\u043e, \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e\u0431 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 <em>max_locks_per_transaction<\/em>.<\/p>\n<p><a class=\"anchor\" name=\"commit_b33f7536128\" id=\"commit_b33f7536128\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6471\/\"><strong>pg_upgrade: \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0447\u0430\u0441\u0442\u044c 2<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=b33f7536128\"><code>b33f7536128<\/code><\/a><\/p>\n<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0435 \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/984580\/#commit_161a3e8b6\">\u043f\u0438\u0441\u0430\u043b\u043e\u0441\u044c<\/a> \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 pg_upgrade \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (pg_largeobject_metadata) \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 COPY \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 INSERT. \u041d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0441 12-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043d\u043e\u0432\u0435\u0435.<\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0441\u043d\u044f\u0442\u043e \u0438 \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 COPY \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 pg_largeobject_metadata \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p><a class=\"anchor\" name=\"commit_3c5ec35dea2\" id=\"commit_3c5ec35dea2\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6111\/\"><strong>oid2name: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e PGDATA<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=3c5ec35dea2\"><code>3c5ec35dea2<\/code><\/a><\/p>\n<p>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/oid2name.html\">oid2name<\/a> \u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e PGDATA:<\/p>\n<pre><code class=\"bash\">$ oid2name -d demo -t bookings --extended<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>From database \"demo\":  Filenode  Table Name    Oid    Schema  Tablespace              Path---------------------------------------------------------------------     17258    bookings  17258  bookings  pg_default  base\/16384\/17258<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u0436\u0435 \u043f\u0443\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 pg_relation_filepath:<\/p>\n<pre><code class=\"bash\">$ psql -d demo -c \"SELECT pg_relation_filepath('bookings')\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code> pg_relation_filepath---------------------- base\/16384\/17258(1 row)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><a class=\"anchor\" name=\"commit_41d69e6dcca\" id=\"commit_41d69e6dcca\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/4764\/\"><strong>psql: \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=41d69e6dcca\"><code>41d69e6dcca<\/code><\/a><\/p>\n<p>\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 psql \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430, \u0440\u0430\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 \u0432\u044b\u0432\u043e\u0434\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0431\u0440\u0430\u043c\u043b\u0435\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438.<\/p>\n<pre><code class=\"pgsql\">\\set ECHO_HIDDEN on\\sf now<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>\/**** INTERNAL QUERY ****\/\/* Get function's OID *\/SELECT 'now'::pg_catalog.regproc::pg_catalog.oid\/************************\/\/**** INTERNAL QUERY ****\/\/* Get function's definition *\/SELECT pg_catalog.pg_get_functiondef(1299)\/************************\/CREATE OR REPLACE FUNCTION pg_catalog.now() RETURNS timestamp with time zone LANGUAGE internal STABLE PARALLEL SAFE STRICTAS $function$now$function$<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><a class=\"anchor\" name=\"commit_38e0190ced7\" id=\"commit_38e0190ced7\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/5447\/\"><strong>log_min_messages \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=38e0190ced7\"><code>38e0190ced7<\/code><\/a><\/p>\n<p>\u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>log_min_messages<\/em> \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 <code>WARNING<\/code> \u043d\u0430 <code>DEBUG1<\/code>. \u041d\u043e \u0442\u043e\u0433\u0434\u0430 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0441\u044b\u043f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0442 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445.<\/p>\n<p>\u0412 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/runtime-config-logging.html#GUC-LOG-MIN-MESSAGES\"><em>log_min_messages<\/em><\/a> \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0443\u0440\u043e\u0432\u0435\u043d\u044c <code>DEBUG5<\/code> \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u043c <code>WARNING<\/code> \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:<\/p>\n<pre><code class=\"pgsql\">ALTER SYSTEM SET log_min_messages = 'warning, checkpointer:debug5';SELECT pg_reload_conf();<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"pgsql\">CHECKPOINT;\\! tail logfile | grep DEBUG<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>2026-09-10 14:28:56.991 MSK [22469] DEBUG:  checkpointer updated shared memory configuration values2026-09-10 14:29:05.484 MSK [22469] DEBUG:  performing replication slot checkpoint2026-09-10 14:29:05.555 MSK [22469] DEBUG:  snapshot of 0+0 running transaction ids (lsn F\/2F962E08 oldest xid 1383 latest complete 1382 next xid 1383)2026-09-10 14:29:05.561 MSK [22469] DEBUG:  attempting to remove WAL segments older than log file 000000000000000F0000002E2026-09-10 14:29:05.562 MSK [22469] DEBUG:  SlruScanDirectory invoking callback on pg_subtrans\/0000<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><a class=\"anchor\" name=\"commit_723619eaa3a\" id=\"commit_723619eaa3a\"><\/a><\/p>\n<p><a href=\"https:\/\/commitfest.postgresql.org\/patch\/6577\/\"><strong>\u0412\u0440\u0435\u043c\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0434\u043b\u044f pg_stat_database_conflicts, pg_statio_all_sequences<\/strong><\/a><br \/> commit: <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=723619eaa3a\"><code>723619eaa3a<\/code><\/a>, <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commit;h=8fe315f18d4\"><code>8fe315f18d4<\/code><\/a><\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f pg_stat_database_conflicts \u0438 pg_statio_all_sequences \u043d\u0435 \u0438\u043c\u0435\u043b\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 stats_reset, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u0431\u0440\u043e\u0441\u0430 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432. \u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438.<\/p>\n<p><a href=\"https:\/\/habr.com\/en\/companies\/postgrespro\/articles\/992426\/#commit_a5b543258\">\u041f\u043e\u0445\u043e\u0436\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430<\/a> \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u0430 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 pg_stat_{all|user}_{tables|indexes} \u0438 pg_stat_user_functions.<\/p>\n<hr\/>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u043a\u0430 \u0432\u0441\u0435. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043e\u0431\u0437\u043e\u0440\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043a\u0443\u0440\u0441\u0430\u043c <a href=\"https:\/\/postgrespro.ru\/education\/courses\/DBA3\">DBA3<\/a> \u0438 <a href=\"https:\/\/postgrespro.ru\/education\/courses\/DBS\">DBS<\/a>.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1089600\/\">https:\/\/habr.com\/ru\/articles\/1089600\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043e\u0431\u0437\u043e\u0440 \u043c\u0430\u0440\u0442\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u0435\u0440\u0438\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u043c \u043a\u0443\u0440\u0441\u043e\u0432 DBA1 \u0438 DBA2.\u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e \u043f\u043b\u0430\u043d \u0441\u0442\u0430\u0442\u0435\u0439 \u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0435 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438:\u0427\u0430\u0441\u0442\u044c 5.1 (QPT)\u0427\u0430\u0441\u0442\u044c 5.2 (DBA1, DBA2) \u2013 \u043c\u044b \u0437\u0434\u0435\u0441\u044c \ud83d\ude42\u0427\u0430\u0441\u0442\u044c 5.3 (DBA3, DBS)\u0427\u0430\u0441\u0442\u044c 5.4 (SQL, DEV1, DEV2)\u041e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u0434\u0435\u0441\u044c: 2025-07, 2025-09, 2025-11, 2026-01.\u0412 \u044d\u0442\u043e\u043c \u043e\u0431\u0437\u043e\u0440\u0435:REPACK: \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0440\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b\u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439\u0416\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438\u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 WAL \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0442\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044fpg_stat_lock: \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043apg_upgrade: \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0447\u0430\u0441\u0442\u044c 2oid2name: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e PGDATApsql: \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043clog_min_messages \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432\u0412\u0440\u0435\u043c\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0434\u043b\u044f pg_stat_database_conflicts, pg_statio_all_sequencesREPACK: \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 commit: ac58465e061, 28d534e2ae0\u041a\u043e\u043c\u0430\u043d\u0434\u044b CLUSTER \u0438 VACUUM FULL \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0438\u0437\u043b\u0438\u0448\u043d\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446. \u041e\u043d\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438 \u0435\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432 \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0435\u0437 \u00ab\u043c\u0435\u0440\u0442\u0432\u044b\u0445\u00bb \u0441\u0442\u0440\u043e\u043a, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e CLUSTER \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c.\u041d\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 REPACK \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 VACUUM FULL \u0438 CLUSTER \u043f\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c:REPACK bookings; &#8212; \u0437\u0430\u043c\u0435\u043d\u0430 VACUUM FULLREPACK bookings USING INDEX bookings_pkey; &#8212; \u0437\u0430\u043c\u0435\u043d\u0430 CLUSTER\u0412 \u0442\u0430\u043a\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 REPACK, \u043a\u0430\u043a \u0438 CLUSTER\/VACUUM FULL, \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.\u0412\u0442\u043e\u0440\u044b\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 REPACK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 CONCURRENTLY, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0438\u0448\u0443\u0449\u0438\u0445 \u0432 \u044d\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0412 \u0442\u0430\u043a\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441 \u043a\u043e\u043f\u0438\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043a\u0440\u0430\u0442\u043a\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b \u0441\u0442\u0430\u0440\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435.REPACK(concurrently) bookings;REPACK(concurrently) \u0438\u043c\u0435\u0435\u0442 \u0440\u044f\u0434 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u0447\u0442\u043e \u043d\u0435 \u0434\u0430\u0435\u0442 [\u0430\u0432\u0442\u043e]\u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043c\u0435\u0440\u0442\u0432\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u043a\u0446\u0438\u044f\u043c. \u0423 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c (replica identity \u043f\u043e \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u043c\u0443 \u0438\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0438\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b TOAST.\u0427\u0430\u0441\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u044f\u0442\u0430 \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u043d\u0438\u043c\u0438 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.\u0421\u043c. \u0442\u0430\u043a\u0436e REPACK \u0432 PostgreSQL 19: \u043f\u0435\u0440\u0435\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0432 \u044f\u0434\u0440\u0435 \u0438, \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0434\u044c\u044f\u0432\u043e\u043b \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 (\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u0438\u0439).\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0440\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 commit: d7965d65fc5, 87f61f0c828\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u0415\u0441\u0442\u044c \u043f\u044f\u0442\u044c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u043d\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c:\u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438,\u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438,\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a,\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a,\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.\u041d\u043e \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430? \u0420\u0430\u043d\u044c\u0448\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u044b\u043b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439: \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0447\u0438\u0442\u0430\u043b pg_class, \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u043b \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0438 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0417\u0430\u0442\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437 \u0447\u0438\u0442\u0430\u043b pg_class \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b TOAST. \u0410 \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0432 \u0442\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u0430\u043a\u043e\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a.\u0412 19-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446. \u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u043b\u043b \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0437 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432. \u041d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u0438\u0437 \u043f\u044f\u0442\u0438 \u0431\u0430\u043b\u043b\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u043c \u0431\u0430\u043b\u043b\u043e\u043c \u0434\u043b\u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f.\u0414\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u043e\u0432 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u043b\u044e \u0441\u0442\u0440\u043e\u043a (autovacuum_scale_factor). \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 autovacuum_threshold. \u0422\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043f\u0435\u0442\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0430\u0441\u0447\u0435\u0442\u044b:ALTER SYSTEM SET autovacuum_analyze_scale_factor = 0;ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 0;ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 0;ALTER SYSTEM SET autovacuum_naptime = &#8216;1h&#8217;;SELECT pg_reload_conf();\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u0435 2000 \u0441\u0442\u0440\u043e\u043a.CREATE TABLE test1 (id int);INSERT INTO test1 SELECT g.x FROM generate_series(1,2000) AS g(x);\u041d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pg_stat_autovacuum_scores \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0449\u0438\u0439 \u0431\u0430\u043b\u043b (score) \u0438 \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0435 \u0431\u0430\u043b\u043b\u044b \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044e. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0442\u0440\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0438, \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043b\u0438 \u0437\u0430\u043c\u043e\u0440\u043e\u0437\u043a\u0438:SELECT relname,       round(score) score,       round(xid_score) xid_score,       round(mxid_score) mxid_score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_score,       do_vacuum,       do_analyze,       for_wraparoundFROM pg_stat_autovacuum_scoresWHERE schemaname = &#8216;public&#8217; AND relname ~ &#8216;test&#8217;\\gx-[ RECORD 1 ]&#8212;&#8212;-+&#8212;&#8212;relname             | test1score               | 40xid_score           | 0mxid_score          | 0vacuum_score        | 0vacuum_insert_score | 2analyze_score       | 40do_vacuum           | tdo_analyze          | tfor_wraparound      | f\u0414\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0434\u0432\u0430 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f:vacuum_insert_score = 2 2000 \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432 2 \u0440\u0430\u0437\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 autovacuum_vacuum_insert_threshold(1000).analyze_score = 40 2000 \u0441\u0442\u0440\u043e\u043a \u0432 40 \u0440\u0430\u0437 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 autovacuum_analyze_threshold(50).\u041e\u0431\u0449\u0438\u0439 \u0431\u0430\u043b\u043b \u0434\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u0438\u0437 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0445, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043d \u0440\u0430\u0432\u0435\u043d 40 (score).\u0412 \u0434\u0440\u0443\u0433\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c 1000 \u0441\u0442\u0440\u043e\u043a \u0438 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0441\u0440\u0430\u0437\u0443 \u0443\u0434\u0430\u043b\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0431\u044b\u043b\u043e 500 \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a:CREATE TABLE test2 (id int);INSERT INTO test2 SELECT g.x FROM generate_series(1,1000) AS g(x);DELETE FROM test2 WHERE id &gt; 500;\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043e\u0431\u0435\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446:SELECT relname,       round(score) score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_scoreFROM pg_stat_autovacuum_scoresWHERE schemaname = &#8216;public&#8217; AND relname ~ &#8216;test&#8217;ORDER BY score DESC; relname | score | vacuum_score | vacuum_insert_score | analyze_score&#8212;&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212; test1   |    40 |            0 |                   2 |            40 test2   |    30 |           10 |                   1 |            30(2 rows)\u0423 \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b 10 \u0431\u0430\u043b\u043b\u043e\u0432 \u043f\u043e \u043c\u0435\u0440\u0442\u0432\u044b\u043c \u0441\u0442\u0440\u043e\u043a\u0430\u043c, \u0430 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 30. \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u043b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\u041d\u043e \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0435\u0440\u0442\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a \u0438\u043c\u0435\u043b\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435? \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 autovacuum_vacuum_score_weight, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u043e\u0440 \u0432\u0435\u0441\u0430 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f:ALTER SYSTEM SET autovacuum_vacuum_score_weight = 10;SELECT pg_reload_conf();\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 vacuum_score \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 10, \u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 test2 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c test1:SELECT relname,       round(score) score,       round(vacuum_score) vacuum_score,       round(vacuum_insert_score) vacuum_insert_score,       round(analyze_score) analyze_scoreFROM pg_stat_autovacuum_scoresWHERE schemaname = &#8216;public&#8217; AND relname ~ &#8216;test&#8217;ORDER BY score DESC; relname | score | vacuum_score | vacuum_insert_score | analyze_score&#8212;&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212; test2   |   100 |          100 |                   1 |            30 test1   |    40 |            0 |                   2 |            40(2 rows)\u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043f\u044f\u0442\u0438 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u043d\u0438 \u0440\u0430\u0432\u043d\u044b 1:\\dconfig+ autovacuum_*_weight                           List of configuration parameters                Parameter                 | Value | Type | Context | Access privileges&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- autovacuum_analyze_score_weight          | 1     | real | sighup  | autovacuum_freeze_score_weight           | 1     | real | sighup  | autovacuum_multixact_freeze_score_weight | 1     | real | sighup  | autovacuum_vacuum_insert_score_weight    | 1     | real | sighup  | autovacuum_vacuum_score_weight           | 10    | real | sighup  |(5 rows)\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 0.\u0410\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430: \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b commit: 1ff3180ca01\u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a VACUUM(PARALLEL N) \u0435\u0449\u0435 \u0441 13-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0443\u043c\u0435\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432 \u043e\u0434\u0438\u043d \u043f\u043e\u0442\u043e\u043a \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0451 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0422\u0435\u043f\u0435\u0440\u044c \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c autovacuum_max_parallel_workers:\\dconfig+ autovacuum_max_parallel_workers                        List of configuration parameters            Parameter            | Value |  Type   | Context | Access privileges&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- autovacuum_max_parallel_workers | 0     | integer | sighup  |(1 row)\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445.\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:ALTER TABLE flights SET (autovacuum_parallel_workers = 2);\u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 commit:&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-497105","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/497105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=497105"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/497105\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=497105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=497105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=497105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}