{"id":325704,"date":"2021-06-30T03:00:07","date_gmt":"2021-06-30T03:00:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=325704"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=325704","title":{"rendered":"Postgresso 32"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yg\/ja\/mi\/ygjami6b7a_a3cx1v6sutxtjhwo.jpeg\"><\/p>\n<h3>\u0411\u0415\u0422\u0410 14<\/h3>\n<p>  <b><a href=\"https:\/\/www.postgresql.org\/docs\/14\/release-14.html\">PostgreSQL 14 beta<\/a><\/b><\/p>\n<p>  \u0412\u044b\u0448\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0431\u0435\u0442\u0430 PostgreSQL 14, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 \u0432\u0442\u043e\u0440\u0430\u044f (<a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-14-beta-2-released-2249\/\">\u0437\u0434\u0435\u0441\u044c<\/a> \u043e\u0442\u043b\u0438\u0447\u0438\u044f 1-\u0439 \u0431\u0435\u0442\u044b \u043e\u0442 2-\u0439, \u043e\u043d\u0438 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435). \u0414\u0430\u043b\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0451, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0442\u0430-\u0440\u0435\u043b\u0438\u0437\u043e\u0432, \u043f\u043e\u0442\u043e\u043c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438 \u2014 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2021-\u0433\u043e \u2014 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f PostgreSQL 14.<\/p>\n<p>  <a href=\"https:\/\/www.postgresql.org\/download\/\">\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/developer\/beta\/\">\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0431\u0435\u0442\u0430-\u0442\u0435\u0441\u0442\u0435\u0440\u043e\u0432<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/docs\/14\/release-14.html\">\u041d\u043e\u0432\u043e\u0435 \u0432 PostgreSQL 14<\/a><br \/>  <a href=\"https:\/\/wiki.postgresql.org\/wiki\/PostgreSQL_14_Open_Items\">\u041d\u0435\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b PostgreSQL 14<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/account\/login\/?next=\/account\/submitbug\/\">\u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0431\u0430\u0433. \u0418 \u043f\u0440\u0438\u0448\u043b\u0438\u0442\u0435.<\/a><\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u043f\u0438\u0433\u0440\u0430\u0444\u0430 <a href=\"https:\/\/momjian.us\/main\/blogs\/pgblog\/2021.html#May_24_2021\">\u0441\u043b\u043e\u0432\u0430<\/a> <i>\u0411\u0440\u044e\u0441\u0430 \u041c\u043e\u043c\u0434\u0436\u0430\u043d\u0430<\/i>:<br \/>  <i>\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0432 \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u0431\u044b\u043b\u043e \u043e\u0442 170 \u0434\u043e 189 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0441 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430\u043c\u0438, \u0430 \u0437\u0434\u0435\u0441\u044c \u2014 222. \u0422\u0430\u043a\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0434\u043e 2017 \u0433\u043e\u0434\u0430.<\/i><\/p>\n<p>  \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0442\u0430\u043a\u043e\u0439 \u0433\u043e\u0440\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438?<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043e\u0432\u0435\u0442 \u043d\u0430\u0448 \u043e\u0431\u044b\u0447\u043d\u044b\u0439: \u043d\u0435 \u0436\u0434\u0438\u0442\u0435 \u0440\u0435\u043b\u0438\u0437\u0430, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 (\u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430) \u043e\u0431\u0437\u043e\u0440\u044b \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043e\u0442 <i>\u041f\u0430\u0432\u043b\u0430 \u041b\u0443\u0437\u0430\u043d\u043e\u0432\u0430<\/i>. \u042d\u0442\u043e \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u044f \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432. \u0421 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438. \u041c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u2014 \u0447\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u044f\u043b\u0438. \u0412\u043e\u0442 \u0432\u0441\u0435 5 \u0447\u0430\u0441\u0442\u0435\u0439 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u043c, \u0438\u043c\u0435\u044e\u0449\u0438\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 14:<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/510124\/\">\u0418\u044e\u043b\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/522428\/\">\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/533058\/\">\u041d\u043e\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/541252\/\">\u042f\u043d\u0432\u0430\u0440\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/550632\/\">\u0410\u043f\u0440\u0435\u043b\u044c\u0441\u043a\u0438\u0439<\/a>.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0449\u0451 \u0432\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438: \u043c\u0438\u043a\u0440\u043e-\u043e\u0431\u0437\u043e\u0440\u044b <i>\u041c\u0438\u0448\u0435\u043b\u044f \u041f\u0430\u043a\u044c\u0435<\/i> (Michael Paquier) \u0432 \u0441\u0435\u0440\u0438\u0438 <a href=\"https:\/\/paquier.xyz\/\">Postgres 14 highlights<\/a>. \u041f\u043e\u043a\u0430 \u0438\u0445 \u0432\u044b\u0448\u043b\u043e \u043f\u044f\u0442\u044c:<\/p>\n<p>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-monitoring-copy\/\">Monitoring for COPY<\/a><\/b><\/p>\n<p>  COPY TO \u0438 COPY FROM \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0438\u0434\u0443\u0442 \u0434\u0435\u043b\u0430 \u0441 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0442\u044c. \u0412 \u043d\u043e\u0432\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/progress-reporting.html#COPY-PROGRESS-REPORTING\">pg_stat_progress_copy<\/a> \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441 8 \u043f\u043e\u043b\u044f\u043c\u0438 (\u0441\u043c. \u0441\u0442\u0430\u0442\u044c\u044e) \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u044d\u043a\u0435\u043d\u0434.<br \/>  <a name=\"habracut\"><\/a><br \/>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-memory-dumps\/\">Memory dumps<\/a><\/b><\/p>\n<p>  PostgreSQL \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0432. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/view-pg-backend-memory-contexts.html\">pg_backend_memory_contexts<\/a> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u0438, \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u0435\u0431\u0430\u0433\u0433\u0435\u0440, (\u044d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445) \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 TopMemoryContext \u0438 \u0441\u043f\u0443\u0441\u043a\u0430\u044f\u0441\u044c \u043f\u043e \u0434\u0435\u0440\u0435\u0432\u044c\u044f\u043c. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0441\u0443\u043f\u0435\u0440\u044e\u0437\u0435\u0440\u0430, \u043d\u043e \u0438 \u043e\u0442 \u0440\u043e\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u044d\u0442\u043e \u0434\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u043e \u043f\u043e GRANT. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f pg_backend_memory_contexts(), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0442\u044c \u0438 \u0432 \u0447\u0443\u0436\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043e\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 \u0441\u0443\u043f\u0435\u0440\u044e\u0437\u0435\u0440\u043e\u043c). \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0443, \u0430 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043b\u043e\u0433.<\/p>\n<p>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-reindex-tbspace\/\">REINDEX TABLESPACE<\/a><\/b><\/p>\n<p>  \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c CONCURRENTLY, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043d\u0434\u0435\u043a\u0441 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0435 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e, \u0430 \u043d\u0435 \u0432 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430: \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430, \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u2014 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 SHARE UPDATE EXCLUSIVE \u043d\u0430 \u0438\u043d\u0434\u0435\u043a\u0441 \u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u041f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u0441\u0443\u0434\u044c\u0431\u0430 (\u0434\u043e\u0431\u0430\u0432\u043a\u0430 CONCURRENTLY) \u0436\u0434\u0430\u043b\u0430 CLUSTER \u0438 VACUUM FULL, \u043d\u043e \u043d\u0435 \u0434\u043e\u0436\u0434\u0430\u043b\u0430\u0441\u044c: \u0440\u0435\u043b\u0438\u0437 \u0432\u044b\u0448\u0435\u043b.<\/p>\n<p>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-hashes\/\">Fun with Hashes<\/a><\/b><\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0434\u0430\u0436\u0435 \u0435\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u044d\u043a\u0441\u043a\u0443\u0440\u0441 \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e Postgres.<\/p>\n<p>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-table-compression\/\">CREATE TABLE COMPRESSION<\/a><\/b><\/p>\n<p>  \u0422\u043e\u0436\u0435 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0432\u043e\u043f\u0440\u043e\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 SET COMPRESSION \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u043a lz4. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e GUC default_toast_compression = \u00abpglz\u00bb. <\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439: \u043f\u0440\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 WAL\u044b \u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0441\u0436\u0430\u0442\u044b\u0435 LZ4, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 LZ4. \u041d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f: Postgres \u0432\u044b\u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443. \u041f\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u0441\u0436\u0430\u0442\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  \u041d\u0435 \u043e\u0434\u0438\u043d <i>\u041f\u0430\u043a\u044c\u0435<\/i> \u043f\u0438\u0441\u0430\u043b \u043e 14-\u0439, \u043a\u043e\u043d\u0435\u0447\u043d\u043e. \u0415\u0441\u0442\u044c \u0441\u0435\u0440\u0438\u044f <i>\u0425\u0443\u0431\u0435\u0440\u0442\u0430 \u00ab\u0414\u0435\u043f\u0435\u0448\u0430\u00bb \u041b\u044e\u0431\u0430\u0448\u0435\u0432\u0441\u043a\u043e\u0433\u043e<\/i>:<br \/>  <b><a href=\"https:\/\/www.depesz.com\/tag\/pg14\/\">\u0412 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 PostgreSQL 14<\/a><\/b>, \u043d\u043e \u043e \u043d\u0451\u043c \u043c\u044b \u0438 \u0442\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u043c (\u0438 \u0432 \u044d\u0442\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u0442\u043e\u0436\u0435).<\/p>\n<p>  <i>\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u0438\u0439<\/i> \u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0434\u043d\u0443 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e: <b><a href=\"https:\/\/habr.com\/ru\/post\/558792\/\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 \u043f\u043b\u0430\u043d\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 PostgreSQL 14<\/a><\/b>.<\/p>\n<p>  \u0415\u0449\u0451 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439, \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0442 HPE:<br \/>  <b><a href=\"https:\/\/h50146.www5.hpe.com\/products\/software\/oe\/linux\/mainstream\/support\/lcc\/pdf\/PostgreSQL14Beta1_New_Features_en_20210521-1.pdf?fbclid=IwAR31FmcaXMIOv5jvIkGiiy-lrBLhEW6jggur2zMmUnirPvfDZnwJvNgGsIg\">PostgreSQL 14 New Features With Examples (Beta 1)<\/a><\/b><\/p>\n<p>  \u0415\u0449\u0451 \u043e PostgreSQL 14: <b><a href=\"https:\/\/blog.crunchydata.com\/blog\/better-range-types-in-postgres-14-turning-100-lines-of-sql-into-3\">Turning 100 Lines of SQL Into 3<\/a><\/b><\/p>\n<p>  <i>\u0414\u0436\u043e\u043d\u0430\u0442\u0430\u043d \u041a\u0430\u0446<\/i> (Jonathan S. Katz, Crunchy Data) \u043f\u0438\u0448\u0435\u0442 \u043e <a href=\"https:\/\/www.postgresql.org\/docs\/14\/rangetypes.html#RANGETYPES-BUILTIN\">\u043c\u0443\u043b\u044c\u0442\u0438\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430\u0445<\/a> (multirange) \u2014 \u0432 PostgreSQL 14 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u0438 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0438 \u0435\u043c\u0443 \u0438 \u0443\u043f\u0440\u043e\u0441\u0442\u044f\u0442 \u043c\u043d\u043e\u0433\u0438\u043c \u0438\u0445 SQL-\u0436\u0438\u0437\u043d\u044c: \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u00ab\u0438\u0437 \u0436\u0438\u0437\u043d\u0438\u00bb \u2014 \u0441 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0442\u0440\u0435\u0447. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0441\u0435\u0433\u043e 3 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0434\u043d\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b. \u0421\u043d\u0430\u0447\u0430\u043b\u0430, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0434\u043e \u0437\u0430\u0431\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u043d\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041f\u0440\u043e <i>\u043c\u0443\u043b\u044c\u0442\u0438\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/i> \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e \u043f\u0438\u0448\u0435\u0442 \u0438 <i>\u041f\u0430\u0432\u0435\u043b \u041b\u0443\u0437\u0430\u043d\u043e\u0432<\/i> \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/541252\/\">4-\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442-\u043e\u0431\u0437\u043e\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435. <\/p>\n<p>  \u041d\u0443 \u0430 <i>\u0414\u0435\u0432\u0440\u0438\u043c \u0413\u044e\u043d\u0434\u044e\u0437<\/i> (Devrim G\u00fcnd\u00fcz) \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c 14-\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0438\u0437 rpm: <b><a href=\"https:\/\/people.planetpostgresql.org\/devrim\/index.php?\/archives\/115-Installing-PostgreSQL-14-betaRC-on-RHEL-Rocky-Linux-Fedora-and-SLES.html\">Installing PostgreSQL 14 beta\/RC on RHEL \/ Rocky Linux \/ Fedora and SLES<\/a><\/b>. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d <a href=\"https:\/\/people.planetpostgresql.org\/devrim\/index.php?\/archives\/112-How-to-install-PostgreSQL-13,-12,-11,-10-and-9.6-to-Rocky-Linux-8.html\">\u043f\u043e\u043c\u043e\u0433\u0430\u043b<\/a> \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c PostgeSQL \u043d\u0430 <a href=\"https:\/\/rockylinux.org\/\">Rocky Linux 8<\/a> (\u041e\u0421 \u043a\u043b\u0430\u0441\u0441\u0430 enterprise, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u0442\u0430\u043a, \u0447\u0442\u043e \u043e\u043d\u0430 100%, \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0431\u0430\u0433\u043e\u0432 (bug-to-bug) \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430 Red Hat Enterprise Linux).<\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u043f\u0438\u043b\u043e\u0433\u0430: <b><a href=\"https:\/\/www.highgo.ca\/2021\/06\/28\/some-interesting-statistics-about-pg-14-contributions\/\">Some Interesting statistics about PG-14 contributions<\/a><\/b><\/p>\n<p>  <i>\u0410\u0441\u0430\u043d \u0425\u0430\u0434\u0438<\/i> (Ahsan Hadi) \u0438\u0437 HighGo \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c \u0432 PostgreSQL 14. \u0414\u0435\u043b\u043e \u0434\u043e\u0431\u0440\u043e\u0435: \u0434\u043e \u043d\u0435\u0433\u043e \u044d\u0442\u0438\u043c \u043b\u044e\u0431\u0438\u043b \u043f\u043e\u0431\u0430\u043b\u043e\u0432\u0430\u0442\u044c\u0441\u044f <i>\u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441<\/i> (Robert Haas), \u043d\u043e \u043e\u043d \u0441\u0447\u0438\u0442\u0430\u043b \u043f\u043e \u0433\u043e\u0434\u0430\u043c. \u0412\u043e\u0442 \u0435\u0433\u043e \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u044b:<br \/>  <a href=\"http:\/\/rhaas.blogspot.com\/2020\/05\/who-contributed-to-postgresql.html\">\u0437\u0430 2019<\/a><br \/>  <a href=\"http:\/\/rhaas.blogspot.com\/2019\/01\/who-contributed-to-postgresql.html\">\u0437\u0430 2018<\/a><br \/>  <a href=\"http:\/\/rhaas.blogspot.com\/2018\/06\/who-contributed-to-postgresql.html\">\u0437\u0430 2017<\/a><br \/>  <a href=\"http:\/\/rhaas.blogspot.com\/2017\/04\/who-contributes-to-postgresql.html\">\u0437\u0430 2016<\/a><br \/>  \u0438 \u2014 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u0437\u0430 2020-\u0439 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e. \u0410 \u0410\u0441\u0430\u043d \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b 3D-\u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u043a\u0443: \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c. \u0425\u043e\u0442\u044f \u0445\u0432\u043e\u0441\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441\u0442\u0440\u0430\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e: \u0410\u043c\u0441\u0442\u0435\u0440\u0434\u0430\u043c, \u041f\u043e\u043b\u044c\u0448\u0430, \u0426\u044e\u0440\u0438\u0445, \u0428\u0432\u0435\u0439\u0446\u0430\u0440\u0438\u044f. \u041b\u0430\u0434\u043d\u043e, \u0441\u0442\u043e\u043b\u0431\u0438\u043a \u0420\u043e\u0441\u0441\u0438\u0438 \u0432\u043e\u0437\u0432\u044b\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0434 \u043c\u043d\u043e\u0433\u0438\u043c\u0438, \u0443\u0441\u0442\u0443\u043f\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0421\u0428\u0410, \u042f\u043f\u043e\u043d\u0438\u0438, \u0418\u043d\u0434\u0438\u0438 \u0438 \u0427\u0435\u0445\u0438\u0438 (\u0443\u0441\u0438\u043b\u0438\u044f <i>\u0422\u043e\u043c\u0430\u0448\u0430 \u0412\u043e\u043d\u0434\u0440\u044b<\/i> \u2014 Tomas Vondra \u2014 \u0438 <i>\u041f\u0430\u0432\u043b\u0430 \u0428\u0442\u0435\u0445\u0443\u043b\u0435<\/i> \u2014 Pavel Stehule).<br \/>  Postgres Professional \u0441\u043e\u0440\u0435\u0432\u043d\u0443\u0435\u0442\u0441\u044f \u0441 Microsoft, \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u044f EDB, Crunchy Data, NTT, Fujitsu, VMware, \u0437\u0430\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u043f\u0435\u0440\u0435\u0436\u0430\u044f AWS \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445.<br \/>  \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u043f\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c \u0438 \u043f\u043e \u0430\u0432\u0442\u043e\u0440\u0430\u043c.<\/p>\n<p>  \u0414\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u0432\u0438\u0446\u0435-\u043f\u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043e\u043c \u043f\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c \u0432 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0439 HighGo \u0410\u0441\u0430\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043f\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0443 Postgres Plus Advanced Server.<br \/>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0435\u0433\u043e \u0432\u044b\u0431\u043e\u0440 top7 \u0444\u0438\u0447 PostgreSQL 14:<br \/>  1. <a href=\"https:\/\/commitfest.postgresql.org\/32\/2491\/\">Asynchronous execution of PostgreSQL_FDW Append node<\/a><br \/>  2. <a href=\"https:\/\/commitfest.postgresql.org\/29\/2500\/\"> Improving connection scalability: GetSnapshotData()<\/a> <i>[\u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430, \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0438\u0442\u0430\u044f]<\/i><br \/>  3. <a href=\"https:\/\/commitfest.postgresql.org\/32\/2575\/\">Overhaul UPDATE\/DELETE processing (making update\/delete of inheritance trees scale better<\/a><br \/>  4. <a href=\"https:\/\/commitfest.postgresql.org\/29\/1927\/\"> logical streaming for large in-progress transactions<\/a><br \/>  5. <a href=\"https:\/\/commitfest.postgresql.org\/31\/2112\/\">Add support for multirange data types<\/a><br \/>  6. <a href=\"https:\/\/www.postgresql.org\/message-id\/flat\/CAH2-Wzm+maE3apHB8NOtmM=p-DO65j2V5GzAWCOEEuy3JZgb2g@mail.gmail.com\">Allow btree index additions to remove expired index entries to prevent page splits<\/a><br \/>  7. <a href=\"https:\/\/commitfest.postgresql.org\/31\/2620\/\">PostgreSQL_FDW Batching<\/a><\/p>\n<h3>\u0422\u0435\u043e\u0440\u0438\u044f<\/h3>\n<p>  <b><a href=\"https:\/\/www.cargocultcode.com\/what-does-first-normal-form-mean\/\">What does First Normal Form actually mean?<\/a><\/b><\/p>\n<p>  \u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f. \u0412\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0433\u043e\u043d\u044f\u0441\u044c \u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0438 \u0434\u0435\u043b\u043e \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0430\u0432\u0442\u043e\u0440 \u0441 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0444\u0430\u043c\u0438\u043b\u0438\u0435\u0439 <i>\u0413\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044f\u0441<\/i> (sic! Galimatias) \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044f\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439, \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D0%B4%D0%B4,_%D0%AD%D0%B4%D0%B3%D0%B0%D1%80\">\u042d\u0434\u0433\u0430\u0440\u043e\u043c \u041a\u043e\u0434\u0434\u043e\u043c<\/a> \u0434\u043b\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0#%D0%9F%D0%B5%D1%80%D0%B2%D0%B0%D1%8F_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0_(1NF)\">1-\u0439 \u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0424\u043e\u0440\u043c\u044b<\/a> (1NF).<\/p>\n<p>  \u041f\u043e \u0413\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044f\u0441\u0443, \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u0430 \u0441 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439 1 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0443\u043d\u043a\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0413\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044f\u0441:<\/p>\n<ul>\n<li>1NF \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0442\u0440\u043e\u043a \u0441 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u043f\u044f\u0442\u043e\u0439;<\/li>\n<li>1NF \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430;<\/li>\n<li>1NF \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c;<\/li>\n<li>1NF \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e\u0431 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 primary key.<\/li>\n<\/ul>\n<p>  \u0413\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044f\u0441 \u0433\u043e\u0432\u043e\u0440\u0438\u0442:<br \/>  <i>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u044f \u043f\u043e\u0433\u0443\u0433\u043b\u0438\u043b first normal form, \u0438 \u0432\u043e \u0412\u0421\u0415\u0425 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0432\u0443\u0445 c\u0442\u0440\u0430\u043d\u0438\u0446 \u0432\u044b\u0434\u0430\u0447\u0438 \u0431\u044b\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0430\u043c\u043e\u0435 \u043f\u0435\u0440\u0432\u043e\u0435 \u2014 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u044e (\u043f\u0440\u0430\u0432\u0434\u0430 \u0442\u0430\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u043b\u0438)<\/i>. \u041f\u043e\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u0432 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0439, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0430 \u043d\u0435 \u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043c 1NF \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u043e\u0432\u0435\u0440\u043d\u043e\u0435, \u043f\u043e \u041a\u043e\u0434\u0434\u0443: <i>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0433\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0434\u043e\u043c\u0435\u043d\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043d\u0438 \u043e\u0434\u0438\u043d \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f<\/i>.[A relation is in first normal form if and only if no attribute domain have relations as elements]<\/p>\n<p>  \u0412 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u0432\u0438\u043a\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430:<br \/>  <i>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0433\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 [\u0434\u043e\u043c\u0435\u043d\u0435] \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u0440\u0442\u0435\u0436 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 [<a href=\"https:\/\/en.booksee.org\/book\/460230\">Date on Database. Writings 2000-2006<\/a>]<\/i>.<br \/>  \u041d\u043e \u0440\u0443\u0441\u0441\u043a\u0430\u044f \u0432\u0438\u043a\u0438 \u0438 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0430\u0441\u044c \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u041a\u043e\u0434\u0434\u0443. \u041e\u043d\u0430 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u0441\u043a\u043e\u0440\u0435\u0435, \u043d\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%94%D0%B5%D0%B9%D1%82,_%D0%9A%D1%80%D0%B8%D1%81%D1%82%D0%BE%D1%84%D0%B5%D1%80\">\u041a\u0440\u0438\u0441\u0442\u043e\u0444\u0435\u0440\u0430 \u0414\u0435\u0439\u0442\u0430<\/a>. \u041f\u0440\u043e \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u0442\u0430\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0446\u0438\u0442\u0438\u0440\u0443\u044e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e:<br \/>  <i>\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f <\/i>\u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u0438<i> [\u0432\u0432\u0435\u0434\u0451\u043d\u043d\u0430\u044f \u041a\u043e\u0434\u0434\u043e\u043c] \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043d\u0435\u044f\u0441\u043d\u043e\u0439 [<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%B1%D0%B0%D0%B7_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/a> \u2014 \u043a\u043d\u0438\u0433\u0430 \u041a.\u0414\u0435\u0439\u0442\u0430)]. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u0442\u0440\u043e\u043a\u0438, \u0434\u0430\u0442\u044b, \u0447\u0438\u0441\u043b\u0430 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0442. \u0434.) \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0421\u0423\u0411\u0414. \u041a. \u0414\u0435\u0439\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442, \u0447\u0442\u043e <b>\u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430<\/b><\/i>.<\/p>\n<p>  \u041d\u043e \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u043a\u043e\u0434\u0434\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e 1NF. \u0413\u0430\u043b\u0438\u043c\u0430\u0442\u044c\u044f\u0441 \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0421\u0423\u0411\u0414. \u0418 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0437\u0430\u0447\u0435\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u043c, \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u043c \u043a \u0420\u0421\u0423\u0411\u0414, \u0443\u0436\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e \u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0437\u0443\u043c\u0435\u044e\u0449\u0438\u043c\u0441\u044f: \u0434\u043e \u0420\u0421\u0423\u0411\u0414 \u043c\u0435\u0439\u043d\u0441\u0442\u0440\u0438\u043c\u043e\u043c \u0431\u044b\u043b\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0421\u0423\u0411\u0414, \u0430 \u043a\u0430\u043a\u0430\u044f \u0436 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f \u0431\u0435\u0437 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0434\u0440\u0443\u0433 \u0432 \u0434\u0440\u0443\u0433\u0430 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439?<\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440 \u0442\u043e \u0438 \u0434\u0435\u043b\u043e \u0437\u0430\u043d\u044b\u0440\u0438\u0432\u0430\u0435\u0442 \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0421\u0423\u0411\u0414 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 1NF \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u042d. \u041a\u043e\u0434\u0434\u0430.<\/p>\n<h3>\u041d\u043e\u0432\u043e\u0441\u0442\u0438 IT-\u043b\u0438\u043d\u0433\u0432\u0438\u0441\u0442\u0438\u043a\u0438<\/h3>\n<p>  \u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u043b\u0438\u043d\u0433\u0432\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0432\u043e\u0440\u043e\u0442 \u0438 \u043a\u0440\u0443\u0433\u043e\u0432\u043e\u0440\u043e\u0442 \u0432\u044b\u0437\u0432\u0430\u043b\u043e <a href=\"https:\/\/www.postgresql.org\/message-id\/CAApHDvpML27UqFXnrYO1MJddsKVMQoiZisPvsAGhKE_tsKXquw%40mail.gmail.com\">\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a> <i>\u0414\u044d\u0432\u0438\u0434\u0430 \u0420\u043e\u0443\u043b\u0438<\/i> (David Rowley) \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0430\u0440\u0442\u0438\u043a\u043b\u044f\u043c\u0438 <b>a<\/b> vs. <b>an<\/b> \u0432 a(n) SQL. \u0412\u043e\u043f\u0440\u043e\u0441 \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439: SQL \u043e\u0434\u043d\u043e \u0432\u0440\u0435\u043c\u044f <a href=\"http:\/\/patorjk.com\/blog\/2012\/01\/26\/pronouncing-sql-s-q-l-or-sequel\/\">\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u043b\u0438<\/a> \u043a\u0430\u043a \u00ab\u0441\u0438\u043a\u0432\u0435\u043b\u00bb (\u043e\u0442\u0441\u044e\u0434\u0430 \u00ab\u044d \u0441\u0438\u043a\u0432\u0435\u043b\u00bb), \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0431\u0440\u043e\u0441\u0438\u043b\u0438 \u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0448\u0435\u043d\u0438\u0435, \u043e\u043d \u0441\u0442\u0430\u043b \u00ab\u044d\u0441\u043a\u044e\u044d\u043b\u00bb (\u00ab\u044d\u043d \u044d\u0441\u043a\u044e\u044d\u043b\u00bb). \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043a\u043e\u0434\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430. \u0414\u044d\u0432\u0438\u0434 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0440\u0435\u0448\u0438\u0442\u044c \u0440\u0430\u0437 \u0438 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0443\u0442\u0430\u044e\u0449\u0435\u0435 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435. \u0421\u0430\u043c \u043e\u043d \u0437\u0430 <i>an<\/i>. \u0414\u0435\u0441\u044f\u0442\u043a\u0438 \u0440\u0435\u043f\u043b\u0438\u043a \u0432 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b\u0438, \u0447\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439. \u0417\u0430\u043e\u0434\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:<\/p>\n<p>  a(n) SASLResponse message<br \/>  a(n) SHA1 hash<br \/>  a(n) MIT Kerberos<\/p>\n<p>  \u041c\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e: \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u0441\u0447\u0451\u0442. <i>\u0422\u043e\u043c \u041b\u0435\u0439\u043d<\/i> (Tom Lane), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0447\u0438\u0442\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0440\u044f\u0434 \u043b\u0438. \u041d\u043e \u043e\u043d, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043d\u0435 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435.<\/p>\n<h3>\u0418\u0437 \u0436\u0438\u0437\u043d\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432<\/h3>\n<p>  <b><a href=\"https:\/\/blog.timescale.com\/blog\/how-and-why-to-become-a-postgresql-contributor\/?utm_source=timescaledb&amp;utm_medium=social&amp;utm_campaign=abl-june-2021&amp;utm_content=blog-how-to-contribute\">How (and why) to become a PostgreSQL contributor<\/a><\/b><\/p>\n<p>  <i>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0410\u043b\u0435\u043a\u0441\u0435\u0435\u0432<\/i>, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a <a href=\"https:\/\/habr.com\/ru\/users\/afiskon\/\">afiskon<\/a> \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0432 \u0431\u043b\u043e\u0433\u0435 Timescale, \u0433\u0434\u0435 \u043e\u043d \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c <a href=\"https:\/\/www.postgresql.org\/community\/contributors\/\">\u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c<\/a> \u0432 PostgreSQL \u0438 \u043d\u0430\u0434\u043e \u043b\u0438. <\/p>\n<p>  \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0430\u0432\u0442\u043e\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 <a href=\"https:\/\/github.com\/afiskon\/pg_protobuf\">pg_protobuf<\/a> and <a href=\"https:\/\/github.com\/postgrespro\/zson\">ZSON<\/a> \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 <a href=\"https:\/\/github.com\/afiskon\/stm32-si5351\">\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/a> \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/STM32\">STM32<\/a> (\u043d\u0430 ARM).<\/p>\n<p>  <i>\u042f \u043b\u044e\u0431\u043b\u044e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043e\u0434 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u0432 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0438 \u043f\u043e\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c, \u043f\u043e\u0442\u043e\u043c \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0435\u0433\u043e. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0434\u0435\u0441\u044c \u0432\u044b\u0441\u043e\u043a\u0438 \u2014 \u0432\u0435\u0434\u044c \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0445\u0430\u043b\u0442\u0443\u0440\u0443 \u2014 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u0433\u043e \u0441\u043e\u0444\u0442\u0430.<\/i><\/p>\n<p>  \u041d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u043f\u0438\u0441\u0430\u043b <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/308442\/\">\u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443<\/a>, \u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434. \u041d\u043e\u0432\u044b\u0439 \u0432\u0438\u0442\u043e\u043a \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c.  <\/p>\n<ol>\n<li>\u0420\u0430\u0437\u0431\u0435\u0440\u0438\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u0435\u0439;<\/li>\n<li>\u0432\u043d\u0438\u043a\u0430\u0439\u0442\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438;<\/li>\n<li>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c: \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437 \u0432\u0430\u0448\u0438\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0432\u044b\u043c;<\/li>\n<li>\u043a\u0430\u043a \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u0430;<\/li>\n<li>\u043f\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043e \u0432\u043a\u043b\u0430\u0434\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u0434;<\/li>\n<li>\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f;<\/li>\n<li>\u0432\u044b\u0432\u043e\u0434\u044b \u0432 \u043a\u043e\u043d\u0446\u0435<\/li>\n<\/ol>\n<p>  \u0426\u0435\u043b\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043f\u043e\u043c\u043e\u0447\u044c \u0431\u0443\u0434\u0443\u0449\u0438\u043c \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u0430\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0438\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432 \u00ab\u043d\u0438\u043a\u043e\u0433\u0434\u0430\u00bb \u043a \u00ab1 \u0438\u043b\u0438 2 \u0440\u0430\u0437\u0430\u00bb, \u0430 \u043f\u043e\u0442\u043e\u043c, \u043c\u043e\u0436\u0435\u0442, \u0438 \u043a \u00ab\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u00bb.<br \/>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u0432 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438:<\/p>\n<p>  <b><a href=\"https:\/\/www.timescale.com\/state-of-postgres-results\">State Of PostgreSQL 2021<\/a><\/b><\/p>\n<p>  \u0421\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435-\u043e\u043f\u0440\u043e\u0441. \u0412\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u043e\u0442\u0432\u0435\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043b\u0438\u0441\u0442\u043d\u0443\u0442\u044c \u0432 \u0432\u0438\u0434\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c \u0441 3 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438-\u043b\u0438\u0434\u0435\u0440\u0430\u043c\u0438, \u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443, \u0433\u0434\u0435 \u0434\u044e\u0436\u0438\u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438\u043b\u0438 \u043e\u043a\u043e\u043b\u043e \u0442\u043e\u0433\u043e.<\/p>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u043d\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e: \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0440\u043e\u0434\u043d\u0443\u044e \u0421\u0423\u0411\u0414? <b>Postgres \u0438\u043b\u0438 PostgreSQL?<\/b> \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, 65.2% \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0435\u0451 Postgres \u0438 \u043b\u0438\u0448\u044c 21.6% \u2014 PostgreSQL, \u0430 7.2% \u043e\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0445 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e. \u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b, \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0438\u0432\u0448\u0438\u0435 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430: 85% \u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u043b\u0438 \u043d\u0438 \u043a\u043e\u0434\u0430, \u043d\u0438 \u0440\u0435\u0432\u044e, \u043d\u0438 \u0434\u043e\u043a\u043e\u0432; 11% \u2014 \u0440\u0430\u0437 \u0438\u043b\u0438 \u0434\u0432\u0430; \u0438 \u0442\u043e\u043b\u044c\u043a\u043e 4% \u2014 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 (<a href=\"https:\/\/www.timescale.com\/state-of-postgres-results\">\u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043e\u043f\u0440\u043e\u0441\u0430 \u0442\u0430\u043c \u0436\u0435<\/a>). <\/p>\n<p>  80% \u0432 \u0441\u0443\u043c\u043c\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0443 \u0441\u0435\u0431\u044f \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Postgres \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0440\u0430\u043d\u044c\u0448\u0435 \/ \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435. \u0418\u0437 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e: \u0441\u0440\u0435\u0434\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043b\u0438\u0434\u0435\u0440\u044b: PostGIS, timescale, pg_stat_statesments; \u0441\u0440\u0435\u0434\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0440\u0435\u0434 \u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 <a href=\"https:\/\/grafana.com\/\">Grafana<\/a>, \u043e\u0442 \u043d\u0435\u0451 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u0441\u0442\u0430\u0451\u0442 \u043e\u0442\u0432\u0435\u0442 \u00ab\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432\u043e\u043e\u0431\u0449\u0435\u00bb; \u0441\u0430\u043c\u044b\u0435 \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 SQL \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u2014 CTE, \u043e\u043a\u043e\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f-\u0444\u0438\u043b\u044c\u0442\u0440\u044b \u043f\u0440\u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438; \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0438\u043c \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u044b\u0439 \u043b\u0438\u0434\u0435\u0440 JSON(B).<br \/>  \u041a\u0430\u043a\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0435\u0439\u043b\u043e\u0432\u0435\u0440\u0430 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435? \u2014 \u0434\u0430 \u043d\u0438\u043a\u0430\u043a\u0438\u0435! \u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 68%. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 Patroni, \u0434\u0430\u043b\u044c\u0448\u0435 repmgr, Stolon \u0442\u043e\u043b\u044c\u043a\u043e 5-\u0439.<br \/>  \u0412 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 AWS \u0441 46% \u043e\u043f\u0435\u0440\u0435\u0436\u0430\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432\u0442\u0440\u043e\u0435 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u2014 GCP. \u041d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u043b\u0438\u0441\u044c \u043a \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c 26%. <\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438 <a href=\"https:\/\/drive.google.com\/drive\/folders\/19mnQHaQHZ760J4HrLsZ3IGIrvpWEh_u1\">2 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434<\/a> \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0437 \u043d\u044b\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u0440\u0430\u0441\u043e\u0442.<\/p>\n<h3>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/h3>\n<p>  <b><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/561496\/\">\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 PostgreSQL \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e crm<\/a><\/b><\/p>\n<p>  \u041e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430 Postgres Professional <i>\u0418\u0433\u043e\u0440\u044f \u041a\u043e\u0441\u0435\u043d\u043a\u043e\u0432\u0430<\/i>. \u0412 \u043d\u0435\u0439 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0444\u043e\u043a\u0443\u0441 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0435 \u043d\u0430 Postgres, \u0430 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445. \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430 <b><a href=\"https:\/\/crmsh.github.io\/start-guide\/\">crm<\/a><\/b> \u2014 cluster resource manager \u2014 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c. \u041e\u043d\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0432 \u043f\u0430\u043a\u0435\u0442 <b><a href=\"https:\/\/crmsh.github.io\/\">crmsh<\/a><\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Linux. crm \u043d\u0435 \u0442\u0430\u043a \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430, \u043a\u0430\u043a <b><a href=\"https:\/\/github.com\/ClusterLabs\/pcs\">pcs<\/a><\/b>. \u0410 \u0437\u0440\u044f \u2014 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u0440.<\/p>\n<p>  \u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 3 \u0443\u0437\u043b\u0430\u0445 \u0441 CentOS 7.9, \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 corosync, pacemaker, fence-agents* \u0438 csync2; \u0434\u043b\u044f crmsh \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Extra OKay Packages for Enterprise Linux. \u0412\u0441\u0435 \u044d\u0442\u0430\u043f\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u044b, \u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 \u0431\u0435\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 csync2.<\/p>\n<p>  <b><a href=\"https:\/\/habr.com\/ru\/company\/ozontech\/blog\/555358\/?fbclid=IwAR2SMihWloR6Zl6W75j0pXHVnJHrefl4VKRK78DXwjTuGcaAnwjd0rsbbos\">\u0425\u043e\u0440\u043e\u0448\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 row-level \u043b\u043e\u043a\u0438 \u0432 PostgreSQL<\/a><\/b><\/p>\n<p>  <i>\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432<\/i> aka <i>vadv<\/i> \u0438\u0437 Ozon Tech \u043f\u0438\u0448\u0435\u0442 \u043e\u0431 \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0430\u0445 row-level locks \u2014 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 (FOR SHARE, FOR UPDATE, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u2014 advisiry locks). \u0417\u0430\u0447\u0435\u043c \u043e\u043d\u0438, \u043a\u0430\u043a \u0438\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c? \u0418\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0432\u0441\u0451 \u043d\u0430 4-\u044f\u0434\u0435\u0440\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 4 \u0413\u0411 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432, \u0441\u0445\u0435\u043c\u044b, <a href=\"http:\/\/www.brendangregg.com\/flamegraphs.html\">\u0444\u043b\u0435\u0439\u043c\u0433\u0440\u0430\u0444\u044b<\/a>.<br \/>  \u0412\u044b\u0432\u043e\u0434\u044b:<br \/>  \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 row-level<\/p>\n<ul>\n<li>\u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0434\u0430\u0436\u0435 FOR SHARE;<\/li>\n<li>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 MultiXact, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u0447\u0451\u0442\u0447\u0438\u043a, wraparound \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 vacuum \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439;<\/li>\n<li>\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u0435\u0449\u0451 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438\u0437-\u0437\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u043a\u0438 \u00abMultiXact\u00bb &lt;-&gt; \u00ab\u043c\u0430\u0441\u0441\u0438\u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 xid\u00bb \u0438 \u044d\u0442\u043e\u0442 \u0432\u043a\u043b\u0430\u0434 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u2013 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e x4 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0434\u0430\u043d\u043d\u044b\u0445, \u0436\u0435\u043b\u0435\u0437\u0430 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f;<\/li>\n<li>\u0441\u0430\u043c \u0444\u0430\u043a\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f MultiXact \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043f\u0440\u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 row-level \u043b\u043e\u043a\u0438.<\/li>\n<\/ul>\n<p>  \u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 advisory:<\/p>\n<ul>\n<li>\u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0439 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 row-level \u043b\u043e\u043a\u043e\u0432 \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430;<\/li>\n<li>\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 advisory \u043b\u043e\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0434 \u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e <i>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/i><br \/>  <b><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/463819\/\">\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0440\u043e\u043a<\/a><\/b> \u0438\u0437 \u0441\u0435\u0440\u0438\u0430\u043b\u0430 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/462877\/\">\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 PostgreSQL<\/a>.<\/p>\n<ol>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/462877\/\">\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439<\/a>;<\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/463819\/\">\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0440\u043e\u043a<\/a>;<\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/465263\/\">\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432<\/a> \u0438 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438;<\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/466199\/\">\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<\/a>.<\/li>\n<\/ol>\n<p>  <b><a href=\"https:\/\/www.migops.com\/blog\/2021\/06\/16\/global-temporary-table-in-postgresql\/\">Global Temporary Table in PostgreSQL<\/a><\/b><\/p>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f <i>\u0416\u0438\u043b\u044f \u0414\u0430\u0440\u043e\u043b\u044f<\/i> (Gilles Darold) \u0432 \u0431\u043b\u043e\u0433\u0435 MigOps, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442,<br \/>  \u0434\u043b\u044f \u0447\u0435\u0433\u043e (\u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0441 Oracle, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b)<br \/>  \u0438 \u043a\u0430\u043a (\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f GTT \u0432 Postgres) \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 <a href=\"https:\/\/github.com\/darold\/pgtt\">PGTT<\/a>,<br \/>  \u043a\u0430\u043a \u0435\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c (\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432-\u043b\u0438\u0441\u0442\u0438\u043d\u0433\u043e\u0432),<br \/>  \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c (\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043c\u043e\u0436\u0435\u0442 \u043f\u0443\u0445\u043d\u0443\u0442\u044c, \u043d\u043e \u0435\u0441\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u2014 <a href=\"https:\/\/github.com\/darold\/pgtt-rsl\">PGTT-RSL<\/a> \u2014 \u0441 \u043d\u0435\u043b\u043e\u0433\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0438 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/13\/ddl-rowsecurity\">Row Security Level<\/a>, \u0442\u0430\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043d\u0435 \u0440\u0430\u0441\u043f\u0443\u0445\u0430\u0435\u0442, \u043d\u043e \u0446\u0435\u043d\u043e\u0439 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0439, \u0447\u0435\u043c PGTT).<\/p>\n<p>  \u0412\u043e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u044f: <b><a href=\"https:\/\/github.com\/darold\/pgtt\/releases\/tag\/v2.4\">Global Temporary Table v2.4<\/a><\/b><br \/>  \u0412 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pgtt \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434 \u0441\u0443\u043f\u0435\u0440\u044e\u0437\u0435\u0440\u043e\u043c. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 PostgreSQL v14. \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 <a href=\"https:\/\/github.com\/darold\/pgtt\/releases\/tag\/v2.4\">\u0442\u0430\u043c \u0436\u0435<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/www.infoworld.com\/article\/3619531\/postgresql-benefits-and-challenges-a-snapshot.html\">PostgreSQL benefits and challenges: A snapshot.<\/a><\/b><\/p>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f <i>\u0418\u0432\u0430\u043d\u0430 \u041f\u0430\u043d\u0447\u0435\u043d\u043a\u043e<\/i> (\u0437\u0430\u043c. \u0433\u0435\u043d\u0434\u0438\u0440. Postgres Professional) \u0432 InfoWorld \u043e \u0442\u043e\u043c, \u043a\u0430\u043a PostgreSQL \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043e\u0444\u0442\u0430, \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f (use cases). Yandex \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 PostgreSQL \u043f\u0435\u0442\u0430\u0431\u0430\u0439\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 150 \u043c\u043b\u043d. \u043f\u0438\u0441\u0435\u043c \u0432 \u0434\u0435\u043d\u044c, \u043a\u043b\u0430\u0441\u0442\u0435\u0440 GitLab \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 181 \u0442\u044b\u0441. \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0443 IKEA \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u043d\u044b\u0445 \u0431\u0430\u0437, \u0430 \u0443  \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 data-residency-as-a-service. \u041e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u043e\u043f\u043e\u0437\u0436\u0435, \u044d\u0442\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e.<\/p>\n<p>  \u0416\u0430\u043d\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u043e\u0432 \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0433\u043b\u0443\u0431\u0438\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044e \u043f\u0443\u043d\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0418\u0432\u0430\u043d \u0432\u044b\u0434\u0435\u043b\u0438\u043b. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430: <i>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 <\/i> (\u043c\u043d\u043e\u0433\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0432\u044e); <i>\u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c<\/i>; <i>SQL &amp; NoSQL (JSON)<\/i>; <i>\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/i> (PostGIS); <i>\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c, \u0436\u0438\u0437\u043d\u0435\u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445<\/i> (availability &amp; resiliency) \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u043a\u043e-\u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Postgres, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 PostgreSQL \u043d\u0430\u0434 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438: <i>\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c<\/i>; <i>\u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 (no lock-in) \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u0435\u043d\u0434\u043e\u0440\u0443<\/i> (\u043d\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043f\u043e\u0434\u0441\u0430\u0434\u0438\u0442\u044c \u043d\u0430 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u2014 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 DBaaS, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440); <i>\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c<\/i> \u2013 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u0440\u0430\u0441\u043b\u0435\u0432\u044b\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b, \u043b\u0435\u0433\u0447\u0435 \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430.<\/p>\n<p>  \u0427\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0439 \u043e \u0442\u043e\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f:<\/p>\n<ul>\n<li><i>\u0417\u0430\u0442\u0440\u0430\u0442\u044b<\/i> \u2014 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u043e\u044f\u0442 \u0434\u0435\u043d\u0435\u0433, \u0438 \u043b\u0443\u0447\u0448\u0435 \u0441\u0440\u0430\u0437\u0443 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0445 \u0441\u044e\u0440\u043f\u0440\u0438\u0437\u043e\u0432.<\/li>\n<li><i>\u0412\u0440\u0435\u043c\u044f<\/i> \u2014 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438\u043b\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0437-\u0437\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u043e \u0445\u043e\u0434\u0443, \u043b\u0443\u0447\u0448\u0435 \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430.<\/li>\n<li><i>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c<\/i> \u2014 \u0434\u0430, \u044d\u0442\u043e\u0442 \u043f\u0443\u043d\u043a\u0442 \u0435\u0441\u0442\u044c \u0438 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u0434\u043b\u044f PostgreSQL \u0435\u0441\u0442\u044c 5 \u0443\u0442\u0438\u043b\u0438\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439, \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435, \u0438\u043b\u0438 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u0443\u043c\u043d\u0435\u0439 \u2014 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u043e\u0432\u0435\u0442\u0430 \u0443 \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0430.<\/li>\n<li><i>PostgreSQL \u0443 \u0441\u0435\u0431\u044f (on-premises) vs. \u0432 \u043e\u0431\u043b\u0430\u043a\u0435<\/i> \u2013 \u043c\u043d\u043e\u0433\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f PostgreSQL \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. \u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u0442\u043e\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c\u0438. \u041c\u043d\u043e\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0442 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0438 \u0432\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u043a \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c.<\/li>\n<li><i>\u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438<\/i> \u2014 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 Postgres \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e, \u0430 \u0432\u043e\u0442 \u0441\u0440\u0435\u0434\u043d\u0438\u043c \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043f\u0440\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u0438\u043b\u0438 \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u043e\u0432 \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/li>\n<li><i>\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u0432 \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438<\/i> \u2014 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u044e\u0431\u043e\u0439 \u0421\u0423\u0411\u0414 \u043d\u0443\u0436\u043d\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b. \u041d\u0430\u0434\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c: \u043d\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432, \u0440\u0430\u0441\u0442\u0438\u0442\u044c \u043b\u0438 \u0438\u0445 \u0443 \u0441\u0435\u0431\u044f.<\/li>\n<\/ul>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0431 <b><a href=\"https:\/\/incountry.com\/ru\/\">InCountry<\/a><\/b>, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0418\u0422, \u0438\u043c\u0435\u044e\u0449\u0435\u043c \u043f\u0440\u044f\u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u043c\u0435\u0441\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0443\u0441\u043b\u0443\u0433\u0438 DRaaS \u2014 \u0442\u0435\u0440\u043c\u0438\u043d, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u0430\u0436\u0435 \u0432 \u0432\u0438\u043a\u0438 \u0435\u0449\u0451 \u043d\u0435\u0442 (\u0442\u043e\u0447\u043d\u0435\u0435, \u0442\u0430\u043c \u0435\u0441\u0442\u044c, \u043d\u043e Disaster-Recovery-aaS). \u0421\u043c\u044b\u0441\u043b <b>data-residency-as-a-service<\/b> \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0441 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438) \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c \u0441\u0442\u0440\u0430\u043d. \u0418\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u2014 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u0442\u0430\u0446\u0435\u043d\u0442\u0440\u0430\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0435, \u043d\u043e, \u044d\u0442\u0438 \u0446\u0435\u043d\u0442\u0440\u044b, \u0431\u0443\u0434\u0443\u0447\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u0440\u0443\u0433\u043e\u0439, \u043f\u043e\u0434\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e\u0434 \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0445\u043e\u0437\u044f\u0435\u0432. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 SaaS-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e \u0441\u0443\u0442\u0438 \u2014 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0440\u0438\u0447\u0443\u0434\u043b\u0438\u0432\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0412 InCountry \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u0440\u043e\u0433\u043e\u0441\u0442\u044c \u0437\u0430\u043a\u043e\u043d\u043e\u0432 \u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u0438 \u0438 \u0415\u0432\u0440\u043e\u0441\u043e\u044e\u0437\u0430, \u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u044b \u0436\u0451\u0441\u0442\u043a\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u043a\u043e\u043d\u043e\u0432 \u043e \u0437\u0430\u0449\u0438\u0442\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0438\u043b\u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0443 InCountry \u0443\u0436\u0435 <a href=\"https:\/\/incountry.com\/blog\/our-russia-debut-helping-saas-and-multinational-enterprises-expand-overseas\/\">\u0435\u0441\u0442\u044c \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0448\u0442\u0430\u0431-\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430<\/a> \u0432 \u0420\u043e\u0441\u0442\u043e\u0432\u0435. \u0410 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u0447\u0430\u044e\u0442 \u043e\u043d\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 Yandex.<\/p>\n<p>  <b><a href=\"https:\/\/habr.com\/ru\/post\/562222\/?fbclid=IwAR33_bTo6Shagn9OzycEfJZHQSq15pNzA8t8Zf1kPM0oquGKhEaKliXPze8\">\u0418\u0437\u043c\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u0443 Postgres \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<\/a><\/b><\/p>\n<p>  <i>\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u0438\u0439<\/i> (\u0432\u043e\u043b\u044c\u043d\u043e, \u043a\u0430\u043a \u043e\u043d \u043f\u0440\u0438\u0437\u043d\u0430\u0451\u0442\u0441\u044f) \u043f\u0435\u0440\u0435\u0432\u0451\u043b \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043e\u0441\u0435\u043d\u044c\u044e \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u0441\u0442\u0430\u0442\u044c\u044e <i>\u0410\u043d\u0434\u0435\u0440\u0441\u0430 \u0424\u0440\u043e\u0439\u043d\u0434\u0430<\/i> (Andres Freund):<br \/>  <b><a href=\"https:\/\/blog.anarazel.de\/2020\/10\/07\/measuring-the-memory-overhead-of-a-postgres-connection\/\">Measuring the Memory Overhead of a Postgres Connection<\/a><\/b>. \u041e\u0431 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/523264\/\">Postgresso 26<\/a> \u0438 \u043e\u0431\u0440\u0430\u0449\u0430\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0432\u043e\u0442 \u043d\u0430 \u0447\u0442\u043e:<br \/>  <i>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u043d\u043a\u0438\u0445 \u0437\u0430\u043c\u0435\u0440\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0410\u043d\u0434\u0440\u0435\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \/proc\/$pid\/status \u0438 \/proc\/$pid\/smaps_rollup. \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f VmRSS, VmRSS, RssAnon, RssFile, RssShmem \u2014 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u043e, \u0442\u043e \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u0437\u043d\u0430\u0435\u0442\u0435 \u0438 \u043f\u043e\u0439\u043c\u0451\u0442\u0435, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u0432\u0430\u0436\u043d\u044b. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043e\u0431\u043c\u0430\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0440\u0430\u0441\u0445\u043e\u0434\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u043e\u043d \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u0442 \u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c \u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c huge_pages. \u0415\u0449\u0451: \u043d\u0430\u0434\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043e copy-on-write \u043f\u0440\u0438 \u0444\u043e\u0440\u043a\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/i><\/p>\n<p>  \u041f\u043e\u0434 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u043e\u0433\u043e:<br \/>  <i>\u0412 \u0432\u0435\u0440\u0441\u0438\u0438 Postgres 14 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pg_backend_memory_contexts \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u0433\u043e Postgres.<\/i><\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2021\/06\/23\/a-tale-of-making-company-wide-standard-psqlrc\/\">A tale of making company-wide standard psqlrc<\/a><\/b><\/p>\n<p>  <i>\u0425\u0443\u0431\u0435\u0440\u0442 \u00ab\u0414\u0435\u043f\u0435\u0448\u00bb \u041b\u044e\u0431\u0430\u0448\u0435\u0432\u0441\u043a\u0438\u0439<\/i> (Depesz) \u043f\u0438\u0448\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043e \u0441\u0432\u043e\u0451\u043c \u043d\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0435\u043c \u2014 \u043a\u0430\u043a \u043e\u043d, \u0431\u0443\u0434\u0443\u0447\u0438 DBA, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0442\u044b\u0441\u044f\u0447\u0430\u043c\u0438 (!) \u0411\u0414 \u0432 AWS (\u0435\u0449\u0451 \u0438 pgbouncer-\u044b \u0432\u043f\u0435\u0440\u0435\u0434\u0438). \u0411\u0430\u0437\u044b \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u043d\u043e \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f, \u0437\u0430\u0445\u043e\u0434\u044f \u043f\u043e psql, \u0414\u0435\u043f\u0435\u0448 \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u2014 .psqlrc. \u041e\u043d \u0432\u044b\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0437\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u043a\u0430\u043a\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435, \u043a\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442, \u0438 \u043f\u0438\u0448\u0435\u0442 \u0432\u0441\u0451 \u044d\u0442\u043e \u0432 prompt. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441 IF \u2014 ELSE \u0438 \u0432 \u043d\u0451\u043c 30 \u0441 \u043b\u0438\u0448\u043d\u0438\u043c \u0441\u0442\u0440\u043e\u043a.<\/p>\n<h3>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b<\/h3>\n<p>  <b><a href=\"https:\/\/www.postgresql.org\/about\/news\/upgrade-pgcenter-090-2243\/\">pgCenter 0.9.0<\/a><\/b><\/p>\n<p>  \u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0444\u0442\u0430 \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0432 \u0441\u0432\u0435\u0436\u0435\u0439 \u0431\u0435\u0442\u0435:<\/p>\n<ul>\n<li>\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0441\u0435\u0441\u0441\u0438\u0438 \u0438\u0437 pg_stat_database (\u0434\u043b\u044f Postgres 14);<\/li>\n<li>\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f WAL \u0438\u0437 pg_stat_wal (\u0434\u043b\u044f Postgres 14);<\/li>\n<li>\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0430\u043d\u0434 \u0441 COPY \u2014 \u0438\u0437 pg_stat_progress_copy (\u0434\u043b\u044f Postgres 14);<\/li>\n<li>\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f top;<\/li>\n<li>\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446;<\/li>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u043e\u0432;<\/li>\n<li>naming convention \u0434\u043b\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432.<\/li>\n<\/ul>\n<p>  <b><a href=\"https:\/\/www.pgadmin.org\/docs\/pgadmin4\/5.3\/release_notes_5_3.html\">pgAdmin4 5.3<\/a><\/b> \u0438 <b><a href=\"https:\/\/www.pgadmin.org\/docs\/pgadmin4\/5.4\/release_notes_5_4.html\">5.4<\/a><\/b><\/p>\n<p>  \u0418\u0437 \u043d\u043e\u0432\u043e\u0433\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<ul>\n<li>\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e Kerberos \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f;<\/li>\n<li>\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c psql \u043f\u0440\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438;<\/li>\n<li>\u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f \u043d\u0435 \u043f\u043e\u0434 \u0430\u0434\u043c\u0438\u043d\u043e\u043c \u0432 Windows;<\/li>\n<li>\u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0440\u043e\u0442\u0430\u0446\u0438\u044e \u043b\u043e\u0433\u043e\u0432 \u043f\u043e \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c LOG_ROTATION_SIZE \u0438\u043b\u0438 LOG_ROTATION_AGE \u2014 \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \/ \u043f\u043e \u0441\u0442\u0430\u0440\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n<p>  \u0412\u044b\u0448\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 <b>FDW<\/b> \u043e\u0442 Toshiba Software Engineering &amp; Technology Center. \u0421\u0441\u044b\u043b\u043a\u0430 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u2014 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431, \u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f, \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0435\u043b\u0438\u0437\u0430, \u2014 \u043d\u0430 postgresql.org. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u044d\u0442\u043e \u043d\u043e\u0432\u044b\u0435 \u043f\u0443\u0448-\u0434\u0430\u0443\u043d\u044b:<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/influxdb_fdw\">InfluxDB fdw 1.0.0<\/a><\/b><br \/>  <a href=\"https:\/\/www.postgresql.org\/about\/news\/influxdb-fdw-100-released-2224\/\">\u043d\u0430 postgresql.org<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/sqlite_fdw\">SQLite fdw 2.0.0<\/a><\/b><br \/>  <a href=\"https:\/\/www.postgresql.org\/about\/news\/sqlite-fdw-200-released-2222\/\">\u043d\u0430 postgresql.org<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/griddb_fdw\">griddb_fdw 2.0<\/a><\/b><br \/>  <a href=\"https:\/\/www.postgresql.org\/about\/news\/griddb-fdw-200-released-2223\/\">\u043d\u0430 postgresql.org<\/a><\/p>\n<p>  \u041d\u043e\u0432\u043e\u0441\u0442\u044c \u0438\u0437 \u041f\u043e\u0434\u043d\u0435\u0431\u0435\u0441\u043d\u043e\u0439:<br \/>  <b><a href=\"https:\/\/github.com\/alibaba\/PolarDB-for-PostgreSQL\">PolarDB for PostgreSQL<\/a><\/b><\/p>\n<p>  \u041d\u0435 \u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0434\u0430\u0442\u044c \u0432\u043d\u044f\u0442\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u044d\u0442\u043e\u0439 \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u043f\u043e\u043a\u0430 \u0437\u0430\u0433\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0421\u0423\u0411\u0414, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0434\u043e\u043b\u043e\u0436\u0438\u043b\u0438 \u0432 2018-\u043c. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u043a\u043e\u0434. \u042d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u043a\u0438\u0442\u0430\u0439\u0446\u0435\u0432 \u0441 Ali \u2014 \u043d\u0430 \u0438\u0445 \u0433\u0438\u0442\u0445\u0430\u0431\u0435 13 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043d\u043e \u044d\u0442\u043e\u0442 \u043d\u0435 \u0437\u0430\u0442\u0435\u0440\u044f\u043b\u0441\u044f. \u041e \u043d\u0451\u043c \u043f\u0438\u0448\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/dbdb.io\/db\/polardb\">\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/a> (<a href=\"https:\/\/dbdb.io\/\">Database of Databases<\/a>).<\/p>\n<p>  \u0417\u0430\u044f\u0432\u043b\u0435\u043d\u043e, \u0447\u0442\u043e PolarDB \u044d\u0442\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f share-nothing \u0431\u0430\u0437\u0430, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0438 ACID \u043f\u043e \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Paxos \u0434\u043b\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435 \u043f\u0430\u0442\u0447\u0438 \u044f\u0434\u0440\u0430 \u043d\u0443\u0436\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e MVCC \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438. \u0423\u0437\u043b\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u0441 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0443\u0437\u043b\u0430\u043c\u0438 \u043f\u043e RDMA.<\/p>\n<p>  <b><a href=\"https:\/\/www.postgresql.org\/about\/news\/announcing-the-release-of-pgscv-050-2221\/\">pgSCV 0.5.0<\/a><\/b><\/p>\n<p>  \u041f\u0440\u043e\u0435\u043a\u0442 <a href=\"https:\/\/github.com\/lesovsky\"><i>\u0410\u043b\u0435\u043a\u0441\u0435\u044f \u041b\u0435\u0441\u043e\u0432\u0441\u043a\u043e\u0433\u043e<\/i><\/a>, \u0430\u0433\u0435\u043d\u0442 \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441 Prometheus, \u0443\u043c\u0435\u044e\u0449\u0438\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 PostgreSQL \u0438 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0435\u0433\u043e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u043e\u0432\u043e\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, PostgreSQL \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Pgbouncer;<\/li>\n<li>\u0432 Pull-\u0440\u0435\u0436\u0438\u043c\u0435: pgSCV \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \/metrics \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 Prometheus \u0438\u043b\u0438 Vmagent (Victoriametrics);<\/li>\n<li>\u0432 Push-\u0440\u0435\u0436\u0438\u043c\u0435: pgSCV \u0441\u0430\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 HTTP-\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c (\u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f Weaponry SaaS, \u043d\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0438 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0433\u043e);<\/li>\n<li>\u0430\u0432\u0442\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432;<\/li>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0445 (remote) \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432;<\/li>\n<li>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/li>\n<\/ul>\n<p>  pgSCV \u043d\u0430 <a href=\"https:\/\/github.com\/weaponry\/pgscv\">Github<\/a><br \/>  pgSCV-<a href=\"https:\/\/github.com\/weaponry\/pgscv\/wiki\/Getting-started\">wiki<\/a><br \/>  <a href=\"https:\/\/github.com\/weaponry\/pgscv\/wiki\/Collectors\">\u041a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u044b<\/a><br \/>  <a href=\"https:\/\/github.com\/weaponry\/pgscv\/wiki\/Builtin-metrics\">\u041c\u0435\u0442\u0440\u0438\u043a\u0438<\/a><\/p>\n<p>  <b><a href=\"https:\/\/www.postgresql.org\/about\/news\/plr-842-released-2226\/\">PL\/R 8.4.2<\/a><\/b><\/p>\n<p>  \u0423 PL\/R \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u043a\u043e\u0432, \u043a\u0430\u043a \u0443 \u0441\u0430\u043c\u044b\u0445 \u0445\u043e\u0434\u043e\u0432\u044b\u0445 PL, \u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u043a\u043e\u0432 \u0441\u0442\u0440\u0430\u0441\u0442\u043d\u044b\u0445. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 <b><a href=\"https:\/\/habr.com\/ru\/post\/275487\/\">C\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0432 PostgreSQL \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e PL\/R<\/a><\/b> \u042e\u0440\u0438\u0439 \u0416\u0438\u0433\u0430\u0434\u043b\u043e aka itcoder \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: <i>\u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0435\u0441\u0446\u0435\u043d\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u0440\u0430\u0434\u043e\u0432\u0430\u043b\u0430 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441\u0440\u0430\u0437\u0443 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043f\u043e \u0441\u0443\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0445\u0438\u0442\u0440\u044b\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u0437\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043a\u0430\u043a \u0431\u0435\u0437 PL\/R \u0441\u0435\u0439\u0441\u043c\u043e\u043b\u043e\u0433\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u044e\u0442?<\/i><\/p>\n<p>  \u041e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 PL\/R \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 <a href=\"https:\/\/joeconway.com\/plr\/\">\u0441\u0430\u0439\u0442\u0435<\/a> \u0430\u0432\u0442\u043e\u0440\u0430 \u2014 <i>\u0414\u0436\u043e \u041a\u043e\u043d\u0432\u0435\u044f<\/i> (Joe Conway). \u0418 <a href=\"https:\/\/github.com\/postgres-plr\/plr\">\u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/a>.<\/p>\n<p>  \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 8.4.2 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430\u0445; \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 (tuple) \u0432 \u043e\u043a\u043e\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445; \u0441\u0431\u043e\u0440\u043a\u0438 Windows \u0442\u0435\u043f\u0435\u0440\u044c \u0441 R 4.10.0.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/wal-g\/wal-g\/releases\/tag\/v1.0\">WAL-G 1.0<\/a><\/b><\/p>\n<p>  \u0423 WAL-G \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0440\u0441\u0438\u044f 1.0, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 0.2.0 \u0438 \u0432\u044b\u0448\u0435. WAL-G \u043d\u0430\u0443\u0447\u0438\u043b\u0441\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0431\u044d\u043a\u0430\u043f\u044b \u0438 WAL, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 WAL-E. \u041d\u0430\u0443\u0447\u0438\u043b\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435 \u0431\u044d\u043a\u0430\u043f\u044b. \u0413\u043e\u0442\u043e\u0432 \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u043d\u0430 MS SQL \u0438 MySQL, \u0430 \u0432 \u0431\u0435\u0442\u0430-\u0444\u0430\u0437\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 MongoDB \u0438 Redis. \u0418 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432 1.0 <a href=\"https:\/\/github.com\/wal-g\/wal-g\/releases\">\u043c\u043d\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e<\/a>.<\/p>\n<h3>\u041f\u0435\u0440\u0441\u043e\u043d\u0430: \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0421\u0430\u043c\u043e\u0445\u0432\u0430\u043b\u043e\u0432<\/h3>\n<p>  <a href=\"https:\/\/postgresql.life\/post\/nikolay_samokhvalov\/\"><i>\u041d\u0438\u043a\u043e\u043b\u0430\u0439 <\/i><\/a> \u0441\u0442\u0430\u043b \u043f\u0435\u0440\u0441\u043e\u043d\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0438. \u042d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432 <a href=\"https:\/\/postgresql.life\/\">\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u0445 \u043d\u0435\u0434\u0435\u043b\u0438<\/a>: \u043d\u0435\u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e\u0435 \u2014 \u0440\u0430\u0437 \u0432 10 \u0431\u043e\u043b\u044c\u0448\u0435 \u0431\u0443\u043a\u0432, \u0447\u0435\u043c \u043e\u0431\u044b\u0447\u043d\u043e.<\/p>\n<p>  \u041d\u0430\u0447\u0438\u043d\u0430\u043b \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0444\u0442\u0430 \u0434\u043b\u044f \u0441\u043e\u0446\u0441\u0435\u0442\u0435\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%BE%D0%B9_%D0%9A%D1%80%D1%83%D0%B3\">MoiKrug.ru<\/a>, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B8%D1%80%D0%A2%D0%B5%D1%81%D0%B5%D0%BD\">MirTesen.ru<\/a> \u0438 <a href=\"https:\/\/postila.ru\/\">Postila.ru<\/a>.<\/p>\n<p>  <i> \u2014 \u041a\u0430\u043a\u0438\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430 \u0432\u0430\u0448\u0438 \u043b\u044e\u0431\u0438\u043c\u044b\u0435 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 PostgreSQL?<\/i><br \/>  \u041d.\u0421.: \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f Btree \u0432 Postgres 12 \u0438 13 (\u0437\u0430\u0441\u043b\u0443\u0433\u0430 <i>\u041f\u0438\u0442\u0435\u0440\u0430 \u0413\u0435\u0439\u0433\u0430\u043d\u0430<\/i> (Peter Geoghegan), <i>\u0410\u043d\u0430\u0441\u0442\u0430\u0441\u0438\u0438 \u041b\u0443\u0431\u0435\u043d\u043d\u0438\u043a\u043e\u0432\u043e\u0439<\/i> [\u0442\u043e\u0436\u0435, \u043a\u0441\u0442\u0430\u0442\u0438, <a href=\"https:\/\/postgresql.life\/post\/anastasia_lubennikova\/\">\u043f\u043e\u0431\u044b\u0432\u0430\u043b\u0430<\/a> \u0432 \u041f\u0435\u0440\u0441\u043e\u043d\u0430\u0445], \u0438 \u0434\u0440\u0443\u0433\u0438\u0445). \u0410 \u0435\u0449\u0451 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445: \u043d\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 pg_stat_statements, \u0432\u044b\u0432\u043e\u0434 EXPLAIN, \u043d\u043e\u0432\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432 \u0441\u044d\u043c\u043f\u043b\u0438\u043d\u0433\u0435 \u043b\u043e\u0433\u043e\u0432.<br \/>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435 \u0432\u0438\u0436\u0443 \u043f\u043e\u043a\u0430 PostgreSQL 13 \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043c\u0435\u043d\u044f \u0435\u0449\u0451 \u0440\u0430\u0437\u043e\u043a \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0443 \u043b\u0435\u0442.<\/p>\n<p>  <i> \u2014 \u0412\u0430\u0448\u0435 \u043b\u044e\u0431\u0438\u043c\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435?<\/i><br \/>  \u041d.\u0421.: <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/13\/pgstatstatements\">pg_stat_statements<\/a>: \u043b\u044e\u0431\u043b\u044e \u0438 \u043d\u0435\u043d\u0430\u0432\u0438\u0436\u0443! <\/p>\n<p>  <i> \u2014 \u0427\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u0435\u0442 \u0432 PostgreSQL?<\/i><br \/>  \u041d.\u0421: 1. \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, 2. \u0442\u043e, \u0447\u0442\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 EXPLAIN ANALYZE \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f BUFFERS, 3. VACUUM \u0438 \u0440\u0430\u0441\u043f\u0443\u0445\u0430\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446 (bloat) \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u0435\u0442 \u0432\u0441\u0435\u0445, \u043c\u0435\u043d\u044f \u0442\u043e\u0436\u0435, \u0437\u0430\u0442\u043e \u0431\u0435\u0437 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u044b \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0435\u043c\u0441\u044f \ud83d\ude42<\/p>\n<h3>\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438<\/h3>\n<p>  <b><a href=\"https:\/\/pgday.ru\/ru\/2021\/about\">PGDayRussia 2021<\/a><\/b> \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u043d\u043b\u0430\u0439\u043d 8-9 \u0438\u044e\u043b\u044f. 2 \u0434\u043d\u044f, 12 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439, Q&amp;A-\u0441\u0435\u0441\u0441\u0438\u0438.<br \/>  \u0410\u043d\u043e\u043d\u0441\u044b \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439, \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u044f\u043c\u0443\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044e \u2014 <a href=\"http:\/\/slackin.pgday.ru\/\">\u0432 Slack \u043a\u0430\u043d\u0430\u043b\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438<\/a>. <br \/>  \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435.<br \/>  <a href=\"https:\/\/www.facebook.com\/hashtag\/postgresql?__gid__=240264006170354\">#PostgreSQL \u2014 \u0432 Facebook<\/a><\/p>\n<p>  <b><a href=\"https:\/\/www.postgresvision.com\/\">Postgres Vision<\/a><\/b><\/p>\n<p>  \u042d\u0442\u0430 \u043e\u043d\u043b\u0430\u0439\u043d\u043e\u0432\u0430\u044f \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430\u0441\u044c 22-23 \u0438\u044e\u043d\u044f. \u0420\u043e\u0441\u0441\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u044b\u043b\u0430 <i>\u041e\u043b\u0435\u0433\u043e\u043c \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432\u044b\u043c<\/i>. \u041e\u043d \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 JSONB (<a href=\"https:\/\/postgresvision2021.sched.com\/event\/j8Lb\/scaling-jsonb\">Scaling Jsonb<\/a>). \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.<\/p>\n<p>  \u0412 <a href=\"https:\/\/postgresvision2021.sched.com\/\">\u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0438<\/a> \u0431\u044b\u043b\u0438 \u0442\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b \u043a\u0430\u043a <a href=\"https:\/\/postgresvision2021.sched.com\/speaker\/alvaro_hernandez.7g62ia6\">Deconstructing Postgres into a Cloud Native Platform<\/a> <i>\u0410\u043b\u044c\u0432\u0430\u0440\u043e \u042d\u0440\u043d\u0430\u043d\u0434\u0435\u0441\u0430<\/i> (Alvaro Hernandez, OnGres) <a href=\"https:\/\/sched.co\/jWN2\">OtterTune: An Automatic Database Configuration Tuning Service<\/a> <i>\u042d\u043d\u0434\u0438 \u041f\u0430\u0432\u043b\u043e<\/i> (Andy Pavlo, \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u041a\u0430\u0440\u043d\u0435\u0433\u0438 \u041c\u0435\u043b\u043b\u043e\u043d\u0430)<br \/>  <a href=\"https:\/\/sched.co\/jWMt\">What&#8217;s new in PostgreSQL 14?<\/a> <i>\u0420\u043e\u0431\u0435\u0440\u0442\u0430 \u0425\u0430\u0430\u0441\u0430<\/i> (Robert Haas, EDB)<br \/>  <a href=\"https:\/\/sched.co\/j8M5\">Columnar storage options for PostgreSQL<\/a> <i>\u0421\u0435\u0431\u0430\u0441\u0442\u044c\u044f\u043d\u0430 \u0414\u0440\u0435\u0441\u0441\u043b\u0435\u0440\u0430<\/i> (Sebastian Dressler, Swarm64).<br \/>  (\u041d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b, \u0432\u0441\u0435 \u043b\u0438 \u043e\u043d\u0438 \u043f\u0440\u043e\u0437\u0432\u0443\u0447\u0430\u043b\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435).<\/p>\n<h3>\u0412\u0435\u0431\u0438\u043d\u0430\u0440\u044b \u0438 \u043c\u0438\u0442\u0430\u043f\u044b<\/h3>\n<p>  \u0414\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c Postgres Professional, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u043c\u0438\u0440\u043e\u0432\u0443\u044e \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u044e, \u0432\u0438\u0434\u043d\u0430 \u0438 \u043f\u043e \u0441\u0435\u0440\u0438\u0438 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0435\u0451 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432. \u042d\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0438 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u0432\u0435\u0449\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0435, \u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p>  \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430 <b><a href=\"https:\/\/www.youtube.com\/watch?v=NsvYbA8Cuuw\">How to do database audits for PostgreSQL?<\/a><\/b> <i>\u0410\u043d\u0434\u0440\u0435\u044f \u0417\u0443\u0431\u043a\u043e\u0432\u0430<\/i> (\u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0430\u0441\u044c pg_profile \u2014 PostgreSQL historic workload reporting tool) \u0438 <i>\u041f\u0435\u0442\u0440\u0430 \u041f\u0435\u0442\u0440\u043e\u0432\u0430<\/i> (Configuration settings and diagnostic tools for better PostgreSQL performance), \u0441\u043e\u0441\u0442\u043e\u044f\u0432\u0448\u0435\u0433\u043e\u0441\u044f 11-\u0433\u043e \u043c\u0430\u044f. \u041e\u0447\u0435\u043d\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0431\u043e\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432. \u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 <b><a href=\"https:\/\/www.youtube.com\/watch?v=y9lj8i5Xlbc\">How to optimize database queries in PostgreSQL?<\/a><\/b> <i>\u041f\u0435\u0442\u0440\u043e\u0432\u0430<\/i> 17-\u0433\u043e \u0438\u044e\u043d\u044f.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/558256\/\"> https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/558256\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yg\/ja\/mi\/ygjami6b7a_a3cx1v6sutxtjhwo.jpeg\"><\/p>\n<h3>\u0411\u0415\u0422\u0410 14<\/h3>\n<p>  <b><a href=\"https:\/\/www.postgresql.org\/docs\/14\/release-14.html\">PostgreSQL 14 beta<\/a><\/b><\/p>\n<p>  \u0412\u044b\u0448\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0431\u0435\u0442\u0430 PostgreSQL 14, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 \u0432\u0442\u043e\u0440\u0430\u044f (<a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-14-beta-2-released-2249\/\">\u0437\u0434\u0435\u0441\u044c<\/a> \u043e\u0442\u043b\u0438\u0447\u0438\u044f 1-\u0439 \u0431\u0435\u0442\u044b \u043e\u0442 2-\u0439, \u043e\u043d\u0438 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435). \u0414\u0430\u043b\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0451, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0442\u0430-\u0440\u0435\u043b\u0438\u0437\u043e\u0432, \u043f\u043e\u0442\u043e\u043c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438 \u2014 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2021-\u0433\u043e \u2014 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f PostgreSQL 14.<\/p>\n<p>  <a href=\"https:\/\/www.postgresql.org\/download\/\">\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/developer\/beta\/\">\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0431\u0435\u0442\u0430-\u0442\u0435\u0441\u0442\u0435\u0440\u043e\u0432<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/docs\/14\/release-14.html\">\u041d\u043e\u0432\u043e\u0435 \u0432 PostgreSQL 14<\/a><br \/>  <a href=\"https:\/\/wiki.postgresql.org\/wiki\/PostgreSQL_14_Open_Items\">\u041d\u0435\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b PostgreSQL 14<\/a><br \/>  <a href=\"https:\/\/www.postgresql.org\/account\/login\/?next=\/account\/submitbug\/\">\u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0431\u0430\u0433. \u0418 \u043f\u0440\u0438\u0448\u043b\u0438\u0442\u0435.<\/a><\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u043f\u0438\u0433\u0440\u0430\u0444\u0430 <a href=\"https:\/\/momjian.us\/main\/blogs\/pgblog\/2021.html#May_24_2021\">\u0441\u043b\u043e\u0432\u0430<\/a> <i>\u0411\u0440\u044e\u0441\u0430 \u041c\u043e\u043c\u0434\u0436\u0430\u043d\u0430<\/i>:<br \/>  <i>\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0432 \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u0431\u044b\u043b\u043e \u043e\u0442 170 \u0434\u043e 189 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0441 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430\u043c\u0438, \u0430 \u0437\u0434\u0435\u0441\u044c \u2014 222. \u0422\u0430\u043a\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0434\u043e 2017 \u0433\u043e\u0434\u0430.<\/i><\/p>\n<p>  \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0442\u0430\u043a\u043e\u0439 \u0433\u043e\u0440\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438?<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043e\u0432\u0435\u0442 \u043d\u0430\u0448 \u043e\u0431\u044b\u0447\u043d\u044b\u0439: \u043d\u0435 \u0436\u0434\u0438\u0442\u0435 \u0440\u0435\u043b\u0438\u0437\u0430, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 (\u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430) \u043e\u0431\u0437\u043e\u0440\u044b \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043e\u0442 <i>\u041f\u0430\u0432\u043b\u0430 \u041b\u0443\u0437\u0430\u043d\u043e\u0432\u0430<\/i>. \u042d\u0442\u043e \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u044f \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432. \u0421 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438. \u041c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u2014 \u0447\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u044f\u043b\u0438. \u0412\u043e\u0442 \u0432\u0441\u0435 5 \u0447\u0430\u0441\u0442\u0435\u0439 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u043c, \u0438\u043c\u0435\u044e\u0449\u0438\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 14:<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/510124\/\">\u0418\u044e\u043b\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/522428\/\">\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/533058\/\">\u041d\u043e\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/541252\/\">\u042f\u043d\u0432\u0430\u0440\u0441\u043a\u0438\u0439<\/a>,<br \/>  <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/550632\/\">\u0410\u043f\u0440\u0435\u043b\u044c\u0441\u043a\u0438\u0439<\/a>.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0449\u0451 \u0432\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438: \u043c\u0438\u043a\u0440\u043e-\u043e\u0431\u0437\u043e\u0440\u044b <i>\u041c\u0438\u0448\u0435\u043b\u044f \u041f\u0430\u043a\u044c\u0435<\/i> (Michael Paquier) \u0432 \u0441\u0435\u0440\u0438\u0438 <a href=\"https:\/\/paquier.xyz\/\">Postgres 14 highlights<\/a>. \u041f\u043e\u043a\u0430 \u0438\u0445 \u0432\u044b\u0448\u043b\u043e \u043f\u044f\u0442\u044c:<\/p>\n<p>  <b><a href=\"https:\/\/paquier.xyz\/postgresql-2\/postgres-14-monitoring-copy\/\">Monitoring for COPY<\/a><\/b><\/p>\n<p>  COPY TO \u0438 COPY FROM \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0438\u0434\u0443\u0442 \u0434\u0435\u043b\u0430 \u0441 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0442\u044c. \u0412 \u043d\u043e\u0432\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/progress-reporting.html#COPY-PROGRESS-REPORTING\">pg_stat_progress_copy<\/a> \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441 8 \u043f\u043e\u043b\u044f\u043c\u0438 (\u0441\u043c. \u0441\u0442\u0430\u0442\u044c\u044e) \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u044d\u043a\u0435\u043d\u0434.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-325704","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=325704"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325704\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}