{"id":797,"date":"2024-05-12T11:01:05","date_gmt":"2024-05-12T08:01:05","guid":{"rendered":"https:\/\/aristov.tech\/blog\/?p=797"},"modified":"2024-12-13T16:13:53","modified_gmt":"2024-12-13T13:13:53","slug":"idle-vs-idle-in-transaction","status":"publish","type":"post","link":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/","title":{"rendered":"idle VS idle in transaction"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0438\u0441\u044c \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u00a0<a href=\"https:\/\/youtu.be\/wK8VSeDG_6I?si=MumTM8JSh30cG3op\">\u044e\u0442\u0443\u0431 \u0432\u0435\u0440\u0441\u0438\u0438<\/a>,\u00a0<a href=\"https:\/\/rutube.ru\/video\/51c1e3098a1d464a3d704d5e52d84e9b\/\">\u0440\u0443\u0442\u0443\u0431 \u0432\u0435\u0440\u0441\u0438\u0438<\/a> \u0438 <a href=\"https:\/\/vkvideo.ru\/video-212716752_456239111\">VK \u0412\u0438\u0434\u0435\u043e<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/aeuge\/aristov_tech\">\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u043a\u0443 \u0434\u043e\u043b\u0433\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u0445 idle VS idle in transaction, \u0438\u0437\u0443\u0447\u0438\u043c \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438 \u044d\u0442\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u043a\u0430\u043a \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 PostgreSQL, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0432\u044b\u0439 \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 PostgreSQL \u2013 <strong>postgres server process:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>postgres<\/strong><\/li>\n\n\n\n<li>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/li>\n\n\n\n<li>\u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043b\u043e\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u2013 <strong><a href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/fork.2.html\">fork<\/a><\/strong><\/li>\n\n\n\n<li>\u0441\u043e\u0437\u0434\u0430\u0451\u0442 <strong><a href=\"https:\/\/www.postgresql.org\/docs\/current\/kernel-resources.html\">shared memory<\/a><\/strong><\/li>\n\n\n\n<li>\u0441\u043b\u0443\u0448\u0430\u0435\u0442 <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP<\/a><\/strong> \u0438 <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Unix_domain_socket\">Unix socket<\/a><\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/postgreshelp.com\/postgresql-background-processes\/\">background processes<\/a>:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c PostgreSQL \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 (fork)<\/li>\n\n\n\n<li>\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u043e\u043b\u044c \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 (\u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0433\u043b\u0430\u0432\u0430\u0445):<ul><li><strong>logger <\/strong>\u2013 \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u043b\u043e\u0433-\u0444\u0430\u0439\u043b<\/li><\/ul><ul><li><strong>checkpointer <\/strong>\u2013 \u0437\u0430\u043f\u0438\u0441\u044c \u0433\u0440\u044f\u0437\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438\u0437 buffer cache \u043d\u0430 \u0434\u0438\u0441\u043a \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 checkpoint<\/li><\/ul><ul><li><strong>bgwriter <\/strong>\u2013 \u043f\u0440\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0433\u0440\u044f\u0437\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438\u0437 buffer cache \u043d\u0430 \u0434\u0438\u0441\u043a<\/li><\/ul><ul><li><strong>walwriter <\/strong>\u2013 \u0437\u0430\u043f\u0438\u0441\u044c WAL buffer \u0432 WAL file<\/li><\/ul><ul><li><strong>autovacuum <\/strong>\u2013 \u0434\u0435\u043c\u043e\u043d, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a vacuum<\/li><\/ul><ul><li><strong>archiver <\/strong>\u2013 \u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u044f \u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f WAL<\/li><\/ul>\n<ul class=\"wp-block-list\">\n<li><strong>statscollector <\/strong>\u2013 \u0441\u0431\u043e\u0440 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0441\u0435\u0441\u0441\u0438\u044f\u043c \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0435\u043c\u044b\u0435 \u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u044d\u0442\u043e <strong>backend processes<\/strong>. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u043e\u0436\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>postgres<\/strong><\/li>\n\n\n\n<li>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c PostgreSQL<\/li>\n\n\n\n<li>\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u044e<\/li>\n\n\n\n<li>\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u043a\u0430 \u0441\u0435\u0441\u0441\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u0430<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <strong>max_connections <\/strong>(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 100).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043e\u043d\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0432\u043e\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u0431\u0449\u0430\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044d\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442, \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0451 \u0438\u0434\u0451\u0442 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a\u0430\u0445. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 (psql, java \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435) \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a PostgreSQL:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"460\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png\" alt=\"\" class=\"wp-image-800\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png 900w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31-300x153.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31-768x393.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 <strong>fork <\/strong>\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 <strong>postgres<\/strong>, \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 <strong>postgres backend<\/strong> \u0443\u0436\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0430\u043c \u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f \u0441 <strong>shared memory<\/strong>. \u0414\u0430\u043b\u0435\u0435 \u043a \u043d\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"461\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-30.png\" alt=\"\" class=\"wp-image-799\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-30.png 828w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-30-300x167.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-30-768x428.png 768w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043d\u043e\u0432\u0430 \u043a\u043b\u043e\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0432\u043e\u0439 \u0431\u044d\u043a\u0435\u043d\u0434-\u043f\u0440\u043e\u0446\u0435\u0441\u0441:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"520\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-32.png\" alt=\"\" class=\"wp-image-801\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-32.png 940w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-32-300x166.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-32-768x425.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u043e\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e, \u043d\u043e, \u0432\u0441\u0451 \u0436\u0435, \u044d\u0442\u043e \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f work_mem \u0438 temp_buffers \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0447\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0435\u0441\u0451\u0442 \u0441\u0432\u043e\u0438 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043b\u043e\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u0438\u0441\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438. \u0422\u0430\u043a\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f pool connector (pooler \u0438\u043b\u0438 \u043f\u0443\u043b\u0435\u0440). \u0422\u0430\u043a\u0436\u0435 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c SSL-\u0442\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u0441\u043b\u0435 <a href=\"https:\/\/club.directum.ru\/post\/951\">\u0434\u0435\u043c\u0438\u043b\u0438\u0442\u0430\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0437\u043e\u043d\u044b<\/a> (DMZ).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e \u0435\u0449\u0451 \u0432\u0430\u0436\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u2013 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Load_balancing_(computing)\">\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/a>, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0431\u044d\u043a\u0435\u043d\u0434-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u043e\u0451\u043c <a href=\"https:\/\/aristov.tech\/#course\">\u043a\u0443\u0440\u0441\u0435 \u043f\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"1000\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-33.png\" alt=\"\" class=\"wp-image-802\" style=\"width:362px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-33.png 982w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-33-295x300.png 295w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-33-768x782.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u041a\u0410\u0416\u0414\u041e\u041c\u0423 backend \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>work_mem<\/strong> (4 MB) &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043e\u043a \u0441\u0442\u0440\u043e\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 ORDER BY \u0438 DISTINCT &#8212; <a href=\"https:\/\/www.postgresql.org\/docs\/current\/runtime-config-resource.html\">\u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e<\/a>!<\/li>\n\n\n\n<li><strong>maintenance_work_mem<\/strong> (64MB) &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0442\u0438\u043f\u0430 VACUUM \u0438 REINDEX. \u0412\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f <strong>\u0442\u043e\u043b\u044c\u043a\u043e<\/strong> \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0432 \u0441\u0435\u0441\u0441\u0438\u0438.<\/li>\n\n\n\n<li><strong>temp_buffers<\/strong> (8 MB) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f temp tablespace \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0447\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e.<br>\u0412\u0430\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e! \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/pgconfigurator.cybertec.at\/\">\u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c work_mem \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u0435\u0441\u0441\u0438\u044e!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u043a\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432. \u0421\u0445\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34-1024x656.png\" alt=\"\" class=\"wp-image-803\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34-1024x656.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34-300x192.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34-768x492.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34-1536x983.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-34.png 1890w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 PostgreSQL \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/GcU-OcDra1ZGp2WbUOZdYzOCj7agEuiTKeHUb3QZRoE2loFiuCe0uwWXSapU04ItEnpcnvhmRZHwBhdqP5z5keVOR5TlWuxesKR42XmWax-NZ_m_6yDhLAeNNyZt0m8OXI-yAhaBFCU3m1uG2IE7EyxDeA=s2048\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0438\u0434\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443, \u0447\u0442\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <a href=\"https:\/\/www.pgbouncer.org\/\">pgbouncer<\/a> \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0436\u0435\u0440\u0442\u0432\u0443\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c (\u0431\u043e\u043b\u0435\u0435 500) \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432 \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0442\u043e\u0433\u043e \u043a\u0430\u043a\u0438\u0435 \u043c\u044b \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b?<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u043a\u043e\u043d\u043d\u0435\u043a\u0442 \u0432 PostgreSQL \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u0440\u043e\u0433<\/li>\n\n\n\n<li>\u0431\u0435\u0437 \u043f\u0443\u043b\u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430 (pgbouncer, pgpool-II,pgagroal,odyssey) \u0436\u0438\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u043e &#8212; \u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c overhead \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0443\u043b\u0435\u0440\u0430<\/li>\n\n\n\n<li>\u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0438\u0434\u0435\u044f &#8212;&nbsp; \u0435\u0441\u043b\u0438 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u044b (\u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 fork \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432)?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0435\u043d\u0434 \u0438\u0437 2 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 <a href=\"https:\/\/aristov.tech\/blog\/dva-prostyh-sposoba-razvernut-virtualnuyu-mashinu-v-prostranstve-google-compute-engine\/\">Google<\/a> (\u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/aristov.tech\/blog\/prostoj-sposob-razvernut-virtualnuyu-mashinu-na-prakticheski-lyubom-kompyutere-noutbuke-ispolzuya-virtualbox\/\">\u043b\u044e\u0431\u044b\u0435<\/a> <a href=\"https:\/\/aristov.tech\/blog\/deploj-vm-v-yandeks-oblake\/\">\u0434\u0440\u0443\u0433\u0438\u0435<\/a> \u0412\u041c \u0438\u043b\u0438 \u0434\u043e\u043a\u0435\u0440), \u043e\u0434\u0438\u043d \u0441 PostgreSQL 16, \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043d\u0430 python \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0448\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 (<a href=\"https:\/\/github.com\/aeuge\/aristov_tech\">\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432\u044b\u043b\u043e\u0436\u0435\u043d\u044b<\/a> \u043d\u0430 github).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043d\u0443\u0442\u0440\u0438 \u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043c\u043e\u044e <a href=\"https:\/\/github.com\/aeuge\/postgres16book\/tree\/main\/database\">\u0411\u0414 \u0441 \u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0437\u043a\u0430\u043c\u0438<\/a>: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>sudo su postgres<br>cd ~ &amp;&amp; wget https:\/\/storage.googleapis.com\/thaibus\/thai_small.tar.gz &amp;&amp; tar -xf thai_small.tar.gz &amp;&amp; psql &lt; thai.sql<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 VPC (\u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442!):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo -u postgres psql -c \"ALTER USER postgres WITH PASSWORD 'admin123#';\";<br>echo \"listen_addresses = '10.128.15.196, 127.0.0.1'\" | sudo tee -a \/etc\/postgresql\/16\/main\/postgresql.conf<br>echo \"host all all 10.0.0.0\/8 scram-sha-256\" | sudo tee -a \/etc\/postgresql\/16\/main\/pg_hba.conf<br>sudo pg_ctlcluster 16 main restart<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<br><code>psql -U postgres -h localhost -p 5432 -d postgres -W<\/code><br><code>SELECT * from pg_stat_activity;<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"428\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-1024x428.png\" alt=\"\" class=\"wp-image-804\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-1024x428.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-300x125.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-768x321.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-1536x642.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/bez-imeni-2048x856.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u0432\u0438\u0434\u0438\u043c \u043a\u0440\u043e\u043c\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u0441\u0432\u043e\u0439 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438\u0437 <a href=\"https:\/\/aristov.tech\/blog\/podklyuchenie-k-postgresu-iz-komandnoj-stroki\/\">psql<\/a>. \u0415\u0441\u043b\u0438 \u043c\u044b \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043a\u043e\u043d\u043d\u0435\u043a\u0442 \u0438\u0437 psql \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441, \u043c\u044b \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 idle:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"617\" height=\"122\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-35.png\" alt=\"\" class=\"wp-image-805\" style=\"width:298px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-35.png 617w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-35-300x59.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0448\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>idle<\/strong> &#8212; \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u043d\u0435\u043a\u0442, \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u043d\u0435\u0442, \u0442.\u0435. \u043c\u044b \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0438\u0447\u0435\u0433\u043e<\/li>\n\n\n\n<li><strong>idle in transaction<\/strong> &#8212; \u0435\u0441\u0442\u044c \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f, \u043d\u043e \u0432\u0438\u0441\u0438\u0442 \u0438 \u0436\u0434\u0451\u0442 \u0447\u0435\u0433\u043e-\u0442\u043e (\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438) \/\u043a\u043e\u0433\u043e-\u0442\u043e (\u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0434\u0435\u0440\u0436\u0438\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e). <\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u044d\u0442\u043e\u043c <strong>idle in transaction<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438<\/li>\n\n\n\n<li>\u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pg_locks: select * from pg_locks <\/li>\n\n\n\n<li>\u043f\u0430\u043c\u044f\u0442\u044c \u0437\u0430\u043d\u044f\u0442\u0430 \u043f\u043e\u0434 work_mem + temp_buffers<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u0430 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e.<br>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0444\u0444\u0435\u043a\u0442 \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 (BEGIN;) \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 (\u043d\u0435 AUTOCOMMIT) &#8212; \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e 2\u0445 \u0440\u0430\u0437 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 SELECT.<br>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 &#8212; \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0434\u043e\u043b\u0433\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0438\u0445 \u0443\u0436\u0435 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0435 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b (oracle way).<br>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0440\u0435\u0448\u0430\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 AUTOCOMMIT \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 <a href=\"https:\/\/aristov.tech\/blog\/kurs-po-optimizaczii-postgresql-2-0\/\">\u043a\u0443\u0440\u0441\u0435<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 COMMIT vs ROLLBACK).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0431\u044b \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 idle in transaction?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/dba.stackexchange.com\/questions\/332402\/is-harmfulness-of-idle-in-transaction-connections-a-myth\">\u0421\u043f\u0440\u043e\u0441\u0438\u043c \u0443 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432<\/a>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/AuroraUserGuide\/proactive-insights.idle-txn.html\">Database has long running idle in transaction connection &#8212; Amazon Aurora<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/9VvsxTguwC4b2cWQH5nVWBy0qxkyxzrdL_XQwaVjy-KtnWMmoy7_X5pnRW5xgKJZ_2KijJqpfwfgd5UdxULUkxmLKA0AfdE6zN8V6cY4vZlO01WPoTsOZzGeJDS46cfAqgDLHOH2C9Nta6yMz64NVpQX0A=s2048\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.cybertec-postgresql.com\/en\/idle_in_transaction_session_timeout-terminating-idle-transactions-in-postgresql\">https:\/\/www.cybertec-postgresql.com\/en\/idle_in_transaction_session_timeout-terminating-idle-transactions-in-postgresql<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/HsHSQFAVrjumcjm-HzAM0Mvd3ZMMSU0rKYA9g9czgzL8C8CIaRsmcs9LuCkZZ69G2qdlg1LeAStzFDTp--0tXwYecKwHUYfMkocxwE78b_fBAHRfdbG0LHKzz-IQUzhcrrELKxRtL2AazOnUIjQoNGdw-Q=s2048\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/dba.stackexchange.com\/a\/77587\/271578\">https:\/\/dba.stackexchange.com\/a\/77587\/271578<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/9GZZCtRo5pF5w5XsQFMbb40FpgwvJi3UjCBGhAdRo54kohWkWAxVSYprhhMm5WlnMuF1hpCNM8Tl2yOwX1XPICyVPUyOB78ty3sOhsopf26lbuiliRzVoxqKOHow5pPbplaHJleUM7PiaSAy1UqoI4M8-A=s2048\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.cybertec-postgresql.com\/en\/idle_in_transaction_session_timeout-terminating-idle-transactions-in-postgresql\/#comment-3846188971\">\u0414\u0430\u0436\u0435 \u041f\u0430\u0432\u0435\u043b \u041b\u0443\u0437\u0430\u043d\u043e\u0432 \u0438\u0437 PostgresPro<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/0TQ1Uw41oiIQaKv5o-XrVVXXfdWvSa_gIAiM2XJ4XHKxS4o0gmvZV3Gu5uBqMtO3ShWr8SucpapoiAM028YTtp31q97DUq3d7mRrsgb3qg-T0NBpyfrFQHXJmxm4XtKV2VXFkKXQtZp7HB7E7h7n1nIjMA=s2048\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 (vacuum)\n<ul class=\"wp-block-list\">\n<li>\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f<\/li>\n\n\n\n<li>\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u0438\u0448\u0443\u0449\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439<\/li>\n\n\n\n<li>\u0430 \u0435\u0441\u043b\u0438 \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0447\u0442\u043e \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u0438 pg_stat_activity?<\/li>\n\n\n\n<li>\u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438?<\/li>\n\n\n\n<li>\u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438?<\/li>\n\n\n\n<li>\u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043b\u0438 work_mem \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430? \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438?<\/li>\n<\/ol>\n\n\n\n<p class=\"has-x-large-font-size wp-block-paragraph\"><strong>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430 1<\/strong><\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u0427\u0430\u0441\u0442\u044c 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b &#171;\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 (vacuum) \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f&#187;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u0437\u0430\u043f\u0438\u0441\u0435\u0439:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>DROP TABLE IF EXISTS records;<br>CREATE TABLE records(id serial, filler text);<br>\\timing<br>INSERT INTO records(filler) SELECT '123' FROM generate_series(1, 1000000) id;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\\dt+<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"206\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36-1024x206.png\" alt=\"\" class=\"wp-image-806\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36-1024x206.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36-300x60.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36-768x154.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36-1536x309.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-36.png 1716w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u0443\u0442\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 &#8212; \u0432 \u043e\u0434\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0447\u0438\u0442\u0430\u0435\u043c \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c VACUUM:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BEGIN;<br>SELECT count(*) FROM records;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;2 terminal<br>VACUUM records;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VACUUM FULL records; <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"626\" height=\"165\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-37.png\" alt=\"\" class=\"wp-image-808\" style=\"width:288px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-37.png 626w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-37-300x79.png 300w\" sizes=\"auto, (max-width: 626px) 100vw, 626px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u043e VACUUM \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f, \u0430 \u0432\u043e\u0442 \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0439 \u044d\u043a\u0441\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 VACUUM FULL \u043d\u0435\u0442, \u043e\u043d \u0432\u0438\u0441\u0438\u0442 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u0435\u0430\u043d\u0441\u0435, \u043e\u043d \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u0443\u044e \u043e\u0447\u0438\u0441\u0442\u043a\u0443.<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u0427\u0430\u0441\u0442\u044c 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 &#8212; \u043f\u0438\u0448\u0443\u0449\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0430 \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e &#8212; \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ROLLBACK;<br>BEGIN;<br>DELETE FROM records WHERE id &lt; 100000;<br>SELECT relname, n_live_tup, n_dead_tup, trunc(100*n_dead_tup\/(n_live_tup+1))::float \"ratio%\", last_autovacuum FROM pg_stat_user_tables WHERE relname = 'records';<br>SELECT txid_current();<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043e 2 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043c\u0435\u0440\u0442\u0432\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:<br><code>VACUUM ANALYZE records;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442, \u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u0441\u044f \u043b\u0438 \u043c\u0435\u0440\u0442\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435:<br><code>SELECT relname, n_live_tup, n_dead_tup, trunc(100*n_dead_tup\/(n_live_tup+1))::float \"ratio%\", last_autovacuum FROM pg_stat_user_tables WHERE relname = 'records';<\/code><br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"104\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-38-1024x104.png\" alt=\"\" class=\"wp-image-809\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-38-1024x104.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-38-300x30.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-38-768x78.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-38.png 1458w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b \u043d\u0435 \u0432\u0438\u0434\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043c\u044b \u043d\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u043a \u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f VACUUM \u043d\u0435 \u0438\u043c\u0435\u0435\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>VACUUM ANALYZE records;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443<br><code>ERROR: VACUUM cannot run inside a transaction block<\/code><br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>VACUUM<\/code> \u041d\u0415 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442 ROLLBACK, \u0442\u0430\u043a \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0442\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ROLLBACK;<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u0427\u0430\u0441\u0442\u044c 3<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438, \u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BEGIN;<br>SELECT count(*) FROM records;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;2 terminal<br>DELETE FROM records WHERE id &lt; 100000;<br>VACUUM ANALYZE records;<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"941\" height=\"201\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-39.png\" alt=\"\" class=\"wp-image-811\" style=\"width:384px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-39.png 941w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-39-300x64.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-39-768x164.png 768w\" sizes=\"auto, (max-width: 941px) 100vw, 941px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e, \u0442\u0430\u043a \u043a\u0430\u043a <a href=\"https:\/\/aristov.tech\/blog\/urovni-izolyaczii-tranzakczij\/\">\u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439<\/a> \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e READ COMMITTED.<\/p>\n\n\n\n<p class=\"has-x-large-font-size wp-block-paragraph\"><strong>\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043c &#8212; \u0441 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u0430\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0412\u041c \u0441 python <a href=\"https:\/\/github.com\/aeuge\/aristov_tech\">\u0432\u044b\u043b\u043e\u0436\u0435\u043d\u044b<\/a> \u043d\u0430 github, \u043a\u0430\u043a \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d <a href=\"https:\/\/github.com\/aeuge\/PythonPostgresCli\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/a> \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 10 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u0440\u043e\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0432 <a href=\"https:\/\/pg_top.gitlab.io\/\">pg_top<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"378\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-1024x378.png\" alt=\"\" class=\"wp-image-812\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-1024x378.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-300x111.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-768x284.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-1536x567.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-40-2048x756.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d, \u043d\u0430 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u043e\u0436\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 ~20\u041c\u0411.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u0441\u043b\u043e\u0436\u043d\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0432 100 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>python3 pg_tester.py -c 100<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"442\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-1024x442.png\" alt=\"\" class=\"wp-image-813\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-1024x442.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-300x130.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-768x332.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-1536x663.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-41-2048x884.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0446\u0435\u043b\u043e\u043c, \u0442\u043e\u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u0441\u044f \u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u044b \u043e\u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0437\u0430\u043d\u044f\u0442\u044b (\u0430 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435\u0433\u043e \u0438\u0445 100 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), \u043d\u0430\u0441 \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"112\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-1024x112.png\" alt=\"\" class=\"wp-image-814\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-1024x112.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-300x33.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-768x84.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-1536x168.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-42-2048x224.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432 \u0434\u043e 90 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 idle in connection &#8212; \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0435\u0449\u0435 \u0438 \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e (BEGIN):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>python3 pg_tester.py -c 90 -T IdleInTransaction<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-1024x388.png\" alt=\"\" class=\"wp-image-815\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-1024x388.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-300x114.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-768x291.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-1536x583.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-43-2048x777.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0441\u044f\u0449\u0438\u0435 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0436\u0434\u0443\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0430\u0444\u0444\u0435\u043a\u0442\u044f\u0442 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0435 &#8212; \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 SELECT 1 &#8212; \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0436\u0438\u0432\u043e \u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. \u041b\u0438\u0447\u043d\u043e \u043c\u043e\u0451 \u043c\u043d\u0435\u043d\u0438\u0435 &#8212; \u044d\u0442\u043e \u0430\u043d\u0442\u0438\u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0438 \u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0445\u043e\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0410 \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u043a\u0438\u0445 \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432 \u0442\u044b\u0441\u044f\u0447\u0438 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435? \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0442\u0442\u0435\u0440\u043d <a href=\"https:\/\/bool.dev\/blog\/detail\/circuit-breaker-pattern\">curcuit breaker<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>python3 pg_tester.py -c 90 -T SelectOne<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"294\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-1024x294.png\" alt=\"\" class=\"wp-image-823\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-1024x294.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-300x86.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-768x220.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-1536x441.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-51-2048x587.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0443\u0436\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u043c\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>SELECT count(*) from pg_locks;<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"194\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-45.png\" alt=\"\" class=\"wp-image-817\" style=\"width:328px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-45.png 786w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-45-300x74.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-45-768x190.png 768w\" sizes=\"auto, (max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0443\u0436\u0435 \u043f\u043e\u0442\u0438\u0445\u043e\u043d\u044c\u043a\u0443 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0443\u0445\u0443\u0434\u0448\u0430\u0442\u044c\u0441\u044f, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435. \u0410 \u044d\u0442\u043e \u043c\u044b \u0435\u0449\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0411\u0414 \u043d\u0435 \u0445\u043e\u0434\u0438\u043b\u0438 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b\u0438 &#8212; \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u043c 1+ \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0438 \u0442.\u0434.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435, \u0432\u043c\u0435\u0441\u0442\u043e SELECT 1 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0442\u0430\u0439\u0441\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u0432\u043e\u0437\u043e\u043a. \u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043c \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>nano clients\/Client.py<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import random<br>select * from book.bus where id = \" + str(random.randint(1, 5000000)) + \";\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pg_locks:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"362\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-1024x362.png\" alt=\"\" class=\"wp-image-822\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-1024x362.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-300x106.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-768x272.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-1536x544.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-50-2048x725.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"790\" height=\"200\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-47.png\" alt=\"\" class=\"wp-image-819\" style=\"width:284px;height:auto\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-47.png 790w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-47-300x76.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-47-768x194.png 768w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u044d\u0442\u043e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432\u0441\u0435\u0433\u043e 90 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443..<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u043f\u043e 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 &#8212; \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043c \u0432\u0440\u0435\u043c\u044f \u0441\u043d\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"250\" src=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-1024x250.png\" alt=\"\" class=\"wp-image-820\" srcset=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-1024x250.png 1024w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-300x73.png 300w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-768x188.png 768w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-1536x376.png 1536w, https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-48-2048x501.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">900 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0443\u0436\u0435 \u043f\u043e\u0432\u0435\u0441\u0435\u043b\u0435\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 <a href=\"https:\/\/github.com\/aeuge\/PythonPostgresCli\/blob\/master\/src\/clients\/Client.py\">\u0434\u043e\u043e\u0431\u043e\u0433\u0430\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b<\/a> \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u0441\u0430\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043b\u0438 work_mem \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430? <\/li>\n\n\n\n<li>\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438?<\/li>\n\n\n\n<li>\u043d\u0430 \u0442\u044f\u0436\u0435\u043b\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438?<br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0415\u0441\u043b\u0438 \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435 &#8212; \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u0432\u0430\u0448\u0435 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e \u043d\u0430 \u0432\u0430\u0448 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0438 \u0432 \u043f\u043e\u0434\u0430\u0440\u043e\u043a \u043c\u043e\u044f <a href=\"https:\/\/aristov.tech\/#orderbook\">\u043a\u043d\u0438\u0433\u0430<\/a> \u0438\u043b\u0438 \u0441\u043a\u0438\u0434\u043a\u0430 \u043d\u0430 <a href=\"https:\/\/aristov.tech\/blog\/kurs-po-optimizaczii-postgresql-2-0\/\">\u043a\u0443\u0440\u0441<\/a>, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441\u043e \u043c\u043d\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/aristov.tech\/\">\u0441\u0430\u0439\u0442<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/t.me\/Aeugene\">\u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c<\/a> \u0438 \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e \u0435\u0449\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.cybertec-postgresql.com\/en\/reasons-why-vacuum-wont-remove-dead-rows\">VACUUM \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/a> \u043f\u0440\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0434\u043e\u043b\u0433\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0421\u043d\u0438\u043c\u043e\u043a &#8212; \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432\u0438\u0434\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0421\u043d\u0438\u043c\u043a\u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u043f\u043e\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f SQL-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 (\u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 VACUUM)<\/li>\n\n\n\n<li>\u043f\u043e\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442 \u043a\u0443\u0440\u0441\u043e\u0440<\/li>\n\n\n\n<li>\u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 <strong>REPEATABLE READ<\/strong> \u0438\u043b\u0438 <strong>SERIALIZABLE<\/strong>, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c<\/strong> \u043f\u0440\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 <a href=\"https:\/\/blog.sentry.io\/transaction-id-wraparound-in-postgres\/\">Transaction ID wraparound<\/a> &#8212; \u0437\u0430\u043c\u043e\u0440\u043e\u0437\u043a\u0430 \u0438 \u0432\u0441\u0451 \u0441 \u044d\u0442\u0438\u043c \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <a href=\"https:\/\/postgresqlco.nf\/doc\/en\/param\/old_snapshot_threshold\/\">old_snapshot_threshold<\/a> = -1 &#8212; <strong>\u041d\u0415 \u041c\u0415\u041d\u042f\u0415\u041c \u043d\u0438 \u043a \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u0435\u043e\u0440\u0438\u0438 <a href=\"https:\/\/www.postgresql.org\/message-id\/20230213204507.b7k3fiorgwrahsjx%40awork3.anarazel.de\">\u0434\u043e\u043b\u0436\u0435\u043d \u0411\u042b\u041b \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443<\/a> \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0441\u043d\u0435\u043f\u0448\u043e\u0442\u0430\u043c\u0438 \u043f\u0440\u0438 \u0434\u043e\u043b\u0433\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0445, \u043d\u043e \u0432\u0441\u0435 \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e<a href=\"https:\/\/www.postgresql.org\/message-id\/20230213204507.b7k3fiorgwrahsjx%40awork3.anarazel.de\">.<\/a>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u043b\u0438, \u043d\u043e \u0442\u0430\u043a \u043d\u0438\u043a\u0442\u043e \u0438 \u043d\u0435 \u043f\u043e\u0444\u0438\u043a\u0441\u0438\u043b (\u043e\u0431\u0435\u0449\u0430\u044e\u0442 \u0432 17 \u0432\u0435\u0440\u0441\u0438\u0438)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/postgres\/postgres\/blob\/REL_13_STABLE\/src\/backend\/utils\/time\/snapmgr.c#L1808C33-L1808C33\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a> \u0441 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0439 \u0434\u043e\u043b\u0433\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439, \u043a\u0442\u043e \u043b\u044e\u0431\u0438\u0442 \u043f\u043e\u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0436\u0438\u0437\u043d\u0438: 100+ \u044f\u0434\u0435\u0440 \u0438 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 &#8212; \u0434\u043e 5 \u0440\u0430\u0437 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0432\u0435\u0434\u0443 \u0438\u0442\u043e\u0433\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers)<\/li>\n\n\n\n<li>\u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks<\/li>\n\n\n\n<li>\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed<\/li>\n\n\n\n<li>\u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e<\/li>\n\n\n\n<li>\u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b &#8212; \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f &#8212; \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438\n<ol class=\"wp-block-list\">\n<li>\u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c<\/li>\n\n\n\n<li>\u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439!<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u0432\u0441\u0451 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u043e \u043f\u0443\u0442\u0438 \u0434\u043e\u043b\u0433\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410 \u0435\u0441\u0442\u044c \u043b\u0438 \u043f\u043b\u044e\u0441\u044b, \u043a\u0440\u043e\u043c\u0435 \u044d\u0444\u0435\u043c\u0435\u0440\u043d\u043e\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f &#8212; \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0430\u043f\u0434\u0435\u0439\u0442\u044b, \u0430 \u0441\u0435\u043b\u0435\u043a\u0442\u044b \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043a\u043e\u043c\u043c\u0438\u0442\u0443 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u0430\u043f\u0438\u0441\u044c \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u00a0\u044e\u0442\u0443\u0431 \u0432\u0435\u0440\u0441\u0438\u0438,\u00a0\u0440\u0443\u0442\u0443\u0431 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 VK \u0412\u0438\u0434\u0435\u043e. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u043a\u0443 \u0434\u043e\u043b\u0433\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u0445 idle VS idle in transaction, \u0438\u0437\u0443\u0447\u0438\u043c \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438 \u044d\u0442\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u043a\u0430\u043a \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 PostgreSQL, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[246,247,16,68,66,53,39,88],"class_list":["post-797","post","type-post","status-publish","format-standard","hentry","category-ustrojstvo-postgresql","tag-idle","tag-idleintransaction","tag-postgresql","tag-evgenij-aristov","tag-obuchenie","tag-optimizacziya","tag-proizvoditelnost","tag-tranzakczii"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f<\/title>\n<meta name=\"description\" content=\"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f\" \/>\n<meta property=\"og:description\" content=\"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-12T08:01:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-13T13:13:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"460\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"aeuge\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"aeuge\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/\"},\"author\":{\"name\":\"aeuge\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#\\\/schema\\\/person\\\/191712eae0472c7752fc806134be751d\"},\"headline\":\"idle VS idle in transaction\",\"datePublished\":\"2024-05-12T08:01:05+00:00\",\"dateModified\":\"2024-12-13T13:13:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/\"},\"wordCount\":1693,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#\\\/schema\\\/person\\\/05f3a04bf720ae4bf25ac99c4248d5e7\"},\"image\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/image-31.png\",\"keywords\":[\"idle\",\"idleintransaction\",\"postgresql\",\"\u0435\u0432\u0433\u0435\u043d\u0438\u0439 \u0430\u0440\u0438\u0441\u0442\u043e\u0432\",\"\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\",\"\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\",\"\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\",\"\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\"],\"articleSection\":[\"\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e PostgreSQL\"],\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/\",\"url\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/\",\"name\":\"idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/image-31.png\",\"datePublished\":\"2024-05-12T08:01:05+00:00\",\"dateModified\":\"2024-12-13T13:13:53+00:00\",\"description\":\"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#primaryimage\",\"url\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/image-31.png\",\"contentUrl\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/image-31.png\",\"width\":900,\"height\":460},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/idle-vs-idle-in-transaction\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"idle VS idle in transaction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/\",\"name\":\"\u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#\\\/schema\\\/person\\\/05f3a04bf720ae4bf25ac99c4248d5e7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#\\\/schema\\\/person\\\/05f3a04bf720ae4bf25ac99c4248d5e7\",\"name\":\"admin2\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/blog-logo.png\",\"url\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/blog-logo.png\",\"contentUrl\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/blog-logo.png\",\"width\":180,\"height\":180,\"caption\":\"admin2\"},\"logo\":{\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/blog-logo.png\"},\"sameAs\":[\"https:\\\/\\\/aristov.tech\\\/blog\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/#\\\/schema\\\/person\\\/191712eae0472c7752fc806134be751d\",\"name\":\"aeuge\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g\",\"caption\":\"aeuge\"},\"url\":\"https:\\\/\\\/aristov.tech\\\/blog\\\/author\\\/aeuge\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f","description":"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/","og_locale":"ru_RU","og_type":"article","og_title":"idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f","og_description":"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439","og_url":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/","og_site_name":"\u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f","article_published_time":"2024-05-12T08:01:05+00:00","article_modified_time":"2024-12-13T13:13:53+00:00","og_image":[{"width":900,"height":460,"url":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png","type":"image\/png"}],"author":"aeuge","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"aeuge","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"14 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#article","isPartOf":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/"},"author":{"name":"aeuge","@id":"https:\/\/aristov.tech\/blog\/#\/schema\/person\/191712eae0472c7752fc806134be751d"},"headline":"idle VS idle in transaction","datePublished":"2024-05-12T08:01:05+00:00","dateModified":"2024-12-13T13:13:53+00:00","mainEntityOfPage":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/"},"wordCount":1693,"commentCount":0,"publisher":{"@id":"https:\/\/aristov.tech\/blog\/#\/schema\/person\/05f3a04bf720ae4bf25ac99c4248d5e7"},"image":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#primaryimage"},"thumbnailUrl":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png","keywords":["idle","idleintransaction","postgresql","\u0435\u0432\u0433\u0435\u043d\u0438\u0439 \u0430\u0440\u0438\u0441\u0442\u043e\u0432","\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f","\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c","\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438"],"articleSection":["\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e PostgreSQL"],"inLanguage":"ru-RU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/","url":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/","name":"idle VS idle in transaction - \u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f","isPartOf":{"@id":"https:\/\/aristov.tech\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#primaryimage"},"image":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#primaryimage"},"thumbnailUrl":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png","datePublished":"2024-05-12T08:01:05+00:00","dateModified":"2024-12-13T13:13:53+00:00","description":"\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u043c\u043d\u0435\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0433\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (work_mem + temp_buffers), \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0430\u044f\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 pg_stat_activity + pg_locks, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 read committed, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b - \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f - \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0448\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438, \u043f\u043b\u044e\u0441 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c, \u043f\u043b\u044e\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439","breadcrumb":{"@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#primaryimage","url":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png","contentUrl":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2024\/05\/image-31.png","width":900,"height":460},{"@type":"BreadcrumbList","@id":"https:\/\/aristov.tech\/blog\/idle-vs-idle-in-transaction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/aristov.tech\/blog\/"},{"@type":"ListItem","position":2,"name":"idle VS idle in transaction"}]},{"@type":"WebSite","@id":"https:\/\/aristov.tech\/blog\/#website","url":"https:\/\/aristov.tech\/blog\/","name":"\u0411\u043b\u043e\u0433 \u043f\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL \u043e\u0442 \u0410\u0440\u0438\u0441\u0442\u043e\u0432\u0430 \u0415\u0432\u0433\u0435\u043d\u0438\u044f","description":"","publisher":{"@id":"https:\/\/aristov.tech\/blog\/#\/schema\/person\/05f3a04bf720ae4bf25ac99c4248d5e7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aristov.tech\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https:\/\/aristov.tech\/blog\/#\/schema\/person\/05f3a04bf720ae4bf25ac99c4248d5e7","name":"admin2","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2023\/05\/blog-logo.png","url":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2023\/05\/blog-logo.png","contentUrl":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2023\/05\/blog-logo.png","width":180,"height":180,"caption":"admin2"},"logo":{"@id":"https:\/\/aristov.tech\/blog\/wp-content\/uploads\/2023\/05\/blog-logo.png"},"sameAs":["https:\/\/aristov.tech\/blog"]},{"@type":"Person","@id":"https:\/\/aristov.tech\/blog\/#\/schema\/person\/191712eae0472c7752fc806134be751d","name":"aeuge","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/secure.gravatar.com\/avatar\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1127d97e7f98e09f2114bab9767af750644ad48a7d8a4f87fce1ab59d0a4ed51?s=96&d=mm&r=g","caption":"aeuge"},"url":"https:\/\/aristov.tech\/blog\/author\/aeuge\/"}]}},"_links":{"self":[{"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/posts\/797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/comments?post=797"}],"version-history":[{"count":8,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/posts\/797\/revisions"}],"predecessor-version":[{"id":1552,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/posts\/797\/revisions\/1552"}],"wp:attachment":[{"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/media?parent=797"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/categories?post=797"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aristov.tech\/blog\/wp-json\/wp\/v2\/tags?post=797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}