{"id":379727,"date":"2024-06-25T03:37:22","date_gmt":"2024-06-25T03:37:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=379727"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=379727","title":{"rendered":"<span>Postgresso #5 (66)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/03c\/16e\/5ae\/03c16e5aeda4dd64a7b966efe82ed7f4.jpg\" width=\"1280\" height=\"460\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/03c\/16e\/5ae\/03c16e5aeda4dd64a7b966efe82ed7f4.jpg\" data-blurred=\"true\"\/><\/figure>\n<p><a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-17-beta-1-released-2865\/\"><strong>PostgreSQL: PostgreSQL 17 Beta 1 Released!<\/strong><\/a><\/p>\n<p>\u0412\u044b\u0448\u043b\u0430 \u0431\u0435\u0442\u0430 \u0441 188 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430\u043c\u0438. <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/805675\/\">\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c<\/a>, \u0447\u0442\u043e <em>\u0411\u0440\u044e\u0441 \u041c\u043e\u043c\u0434\u0436\u0430\u043d<\/em> \u043d\u0435\u0434\u0430\u0432\u043d\u043e <a href=\"https:\/\/momjian.us\/main\/blogs\/pgblog\/2024.html#May_9_2024\">\u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u043b<\/a> \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u0438\u0437-\u0437\u0430 \u0435\u0433\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u043a\u043b\u043e\u043d\u0430 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e, \u043c\u043e\u043b, <em>\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u044d\u0442\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u0434\u043b\u044f \u043c\u0435\u043d\u044f.<\/em><\/p>\n<p>\u0412 \u043f\u043e\u044f\u0441\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u043a\u0435 \u043a \u0440\u0435\u043b\u0438\u0437\u0443 \u0442\u043e\u0436\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 <a href=\"https:\/\/www.postgresql.org\/docs\/17\/routine-vacuuming.html\">Vacuum<\/a>. \u0422\u0430\u043c \u043d\u043e\u0432\u0430\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 20% \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0441\u0430\u043c\u043e\u0439 \u043e\u0447\u0438\u0441\u0442\u043a\u0438. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0443\u043d\u043a\u0442 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u043e\u0439 \u0442\u0435\u043c\u044b: \u0432 PostgreSQL 17 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 SIMD-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439, \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 &#8212; \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 (failover control for logical replication), \u0432\u0430\u0436\u043d\u043e\u0435 \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>\u0412 SQL\/JSON \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0430\u044f \u0432\u0435\u0449\u044c &#8212; JSON TABLE, \u044d\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u0438\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>MERGE \u0442\u0435\u043f\u0435\u0440\u044c \u0433\u0438\u0431\u0447\u0435: \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00a0<code>WHEN NOT MATCHED BY SOURCE<\/code> \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043d\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u0438\u0441\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <code>DELETE<\/code>.<\/p>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0440\u043e\u043b\u044c <code>pg_maintain<\/code> \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <code>VACUUM<\/code>,\u00a0<code>ANALYZE<\/code>,\u00a0<code>CLUSTER<\/code>,\u00a0<code>REFRESH MATERIALIZED VIEW<\/code>,\u00a0<code>REINDEX<\/code> \u0438\u00a0<code>LOCK TABLE.<\/code><\/p>\n<p>\u041e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Postgres 17 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\/\u043e\u043a\u0442\u044f\u0431\u0440\u044c \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430.  <\/p>\n<p>\u041e \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u0435, \u043c\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0440\u043e\u043c\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0445 \u0437\u0430\u043c\u0435\u0442\u043e\u043a, \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u043c \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431\u0437\u043e\u0440\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432 <em>\u041f\u0430\u0432\u043b\u0430 \u041b\u0443\u0437\u0430\u043d\u043e\u0432\u0430<\/em>. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0447\u0430\u0441\u0442\u0438 4: <a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970866\">PostgreSQL 17: part 4 or CommitFest 2024-01<\/a>, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 <em>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041c\u0435\u043b\u0435\u0448\u043a\u043e<\/em>. \u0422\u0430\u043a \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>2023-07 <a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970285\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/757028\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2023-09 \u00a0<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970391\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/769598\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2023-11\u00a0<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970508\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/782042\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2024-01 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/804027\/\">ru<\/a>\/<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970866\">en<\/a>.<\/p>\n<p>\u0420\u0443\u0441\u0441\u043a\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/804027\/\"> \u043d\u0430 \u0445\u0430\u0431\u0440\u0435<\/a>, \u043a\u0430\u043a \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043f\u0438\u0441\u043a\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0442\u044b, \u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0432\u044b\u0448\u043b\u0430 \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f:<\/p>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/06\/08\/exploring-postgresql-17-a-developers-guide-to-new-features-part-1-pl-pgsql\/\"><strong>Exploring PostgreSQL 17: A Developer\u2019s Guide to New Features \u2013 Part 1 \u2013 PL\/pgSQL<\/strong><\/a><\/p>\n<p>\u0412 \u043d\u0435\u0439 <em>\u0414\u0438\u043f\u0430\u043a \u041c\u0430\u0445\u0442\u043e<\/em> (Deepak Mahto), \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c: \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f %TYPE \u0438 %ROWTYPE. \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438.<\/p>\n<h2>\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438, \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u044b, \u043c\u0438\u0442\u0430\u043f\u044b \u0438 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f<\/h2>\n<p><a href=\"https:\/\/2024.pgconf.dev\/\"><strong>PGConf.dev 2024<\/strong><\/a><\/p>\n<p>\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u0430 28-31 \u043c\u0430\u044f \u0432 \u0412\u0430\u043d\u043a\u0443\u0432\u0435\u0440\u0435. \u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0434\u0435\u043d\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0438\u0441\u044c 2 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0438.<\/p>\n<ul>\n<li>\n<p>\u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043f\u0430\u0442\u0447\u0435\u0439 \u043d\u0430 <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/224-advanced-patch-feedback-session-invite-only\/\">Advanced Patch Feedback Session<\/a> \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441\u043b\u0443\u0448\u0430\u0442\u044c <em>\u0425\u0435\u0439\u043a\u043a\u0438 \u041b\u0438\u043d\u043d\u0430\u043a\u0430\u043d\u0433\u0430\u0441\u0430<\/em> (Heikki Linnakangas)<em>, \u041c\u0438\u0448\u0435\u043b\u044f \u041f\u0430\u043a\u044c\u0435 <\/em>(Michael Paquier)<em> \u0438 \u0420\u043e\u0431\u0435\u0440\u0442\u0430 \u0425\u0430\u0430\u0441\u0430 <\/em>(Robert Haas)<em>, \u0431\u0435\u0437 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u0435\u0439 &#8212; \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f\u043c;<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/191-extension-ecosystem-summit-registration-required\/\">Extension Ecosystem Summit<\/a> \u0441 <em>\u0414\u044d\u0432\u0438\u0434\u043e\u043c \u041a\u0440\u0438\u0441\u0442\u0435\u043d\u0441\u0435\u043d\u043e\u043c<\/em> (David Christensen<em>), \u0414\u0435\u0432\u0440\u0438\u043c\u043e\u043c \u0413\u0435\u043d\u0434\u044e\u0437\u043e\u043c <\/em>(Devrim G\u00fcnd\u00fcz)<em>, \u0414\u0436\u0435\u0440\u0435\u043c\u0438 \u0428\u043d\u0430\u0439\u0434\u0435\u0440\u043e\u043c <\/em>(Jeremy Schneider)<em>, \u041a\u0438\u0442\u043e\u043c \u0424\u0438\u0441\u043a\u0435 <\/em>(Keith Fiske)<em> \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441 \u0414\u044d\u0432\u0438\u0434\u043e\u043c \u0423\u0438\u043b\u0435\u0440\u043e\u043c <\/em>(David E. Wheeler, \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0441\u043d\u043e\u0432\u0430\u043b PGXN, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 Tembo).<\/p>\n<\/li>\n<\/ul>\n<p>(\u041c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0447\u0438\u043c, \u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441 \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u043b \u0443\u0433\u043e\u043b\u043e\u0447\u0435\u043a \u0437\u0430\u0432\u0435\u0441\u044b \u043d\u0430\u0434 Advanced Patch Feedback Session. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0442\u0435\u043c \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u0443\u044e. \u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u043e\u043f\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 hackers \u0441 \u0441\u0430\u0431\u0436\u0435\u043c <em>[multithreading] &#171;extension compatibility&#187;<\/em>).<\/p>\n<p>(\u041c\u0435\u0436\u0434\u0443-\u043f\u0440\u043e\u0447\u0438\u043c-2: Tembo \u0443\u0436\u0435 \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u043e <a href=\"https:\/\/www.youtube.com\/playlist?list=PL11N188AYb_aT6ulbJfrQJJziWb012jG3\">\u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442<\/a> \u0441 6 <a href=\"https:\/\/justatheory.com\/2024\/05\/mini-summit-six\/\">\u043c\u0438\u043d\u0438-\u0441\u0430\u043c\u043c\u0438\u0442\u0430\u043c\u0438<\/a> \u043f\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c. \u0423 \u0414\u044d\u0432\u0438\u0434\u0430 \u0423\u0438\u043b\u0435\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u043a\u043b\u0430\u0434 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u043d\u0430 <a href=\"https:\/\/www.citusdata.com\/posette\/2024\/schedule\">POSETTE 2024<\/a>: <a href=\"https:\/\/www.citusdata.com\/posette\/2024\/schedule\">State of the Postgres Extension Ecosystem<\/a>.)<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u043f\u0438\u0448\u0435\u0442 <em>\u041f\u0438\u0442\u0435\u0440 \u0410\u0439\u0437\u0435\u043d\u0442\u0440\u0430\u0443\u0442<\/em> (Peter Eisentraut) \u043e\u0431 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 &#8212; <a href=\"https:\/\/peter.eisentraut.org\/blog\/2024\/06\/04\/how-engaging-was-pgconfdev-really\">How engaging was PGConf.dev really?<\/a><\/p>\n<p>&#171;\u041f\u043e\u0440\u0430 \u0443\u0436\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u044d\u0442\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438. \u0418\u0437-\u0437\u0430 \u043d\u0438\u0445 \u0432\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f&#187; &#8212; \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0448\u0443\u0442\u043d\u0438\u043a <em>\u041f\u0438\u0442\u0435\u0440<\/em> \u0448\u0443\u0442\u043d\u0438\u043a\u0430 <em>\u0422\u043e\u043c\u0430\u0448\u0430 \u0412\u043e\u043d\u0434\u0440\u0443<\/em> (Tomas Vondra).<\/p>\n<p>\u041f\u0438\u0442\u0435\u0440 \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 (\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Postgres, \u043a\u043e\u043d\u0435\u0447\u043d\u043e) \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u044b \u0432 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439. \u0418 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f PGConf.dev \u0441\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u0430\u043c\u044b\u0439 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0440\u044b\u0432 \u0437\u0430 20 \u043b\u0435\u0442! \u0412 2015 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0440\u044b\u0432 <em>\u043f\u0435\u0440\u0435\u0434<\/em> <a href=\"https:\/\/2015.pgconf.eu\/\">pgconf.eu<\/a>, \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u044b \u0432 2014 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 2008 \u043d\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0442 \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u043c\u0438, \u0437\u0430\u0442\u043e \u0432 \u043c\u0430\u0435 2008 \u043f\u0430\u0443\u0437\u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0430\u0441\u044c \u0441 <a href=\"https:\/\/www.pgcon.org\/2008\/\">PGCon<\/a> \u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430.<\/p>\n<p>\u041d\u0443 \u0430 <em>\u0420\u043e\u0431\u0435\u0440\u0442 \u041f\u0440\u0438\u043f\u043e\u0434\u043d\u044f\u0432\u0448\u0438\u0439 \u0417\u0430\u0432\u0435\u0441\u0443<\/em> \u043f\u0438\u0448\u0435\u0442 \u0432 \u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u0433\u0435 \u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0432\u043e\u0441\u0442\u043e\u0440\u0436\u0435\u043d\u043d\u043e: \u0432 \u0434\u0432\u0443\u0445 \u043f\u0435\u0440\u0432\u044b\u0445 \u0444\u0440\u0430\u0437\u0430\u0445 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u043e <em>great<\/em>. \u041d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u0420\u043e\u0431\u0435\u0440\u0442 \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043a\u0443\u0441\u043e\u0447\u0435\u043a, \u0430 \u043f\u0440\u044f\u043c\u043e \u0442\u0430\u043a\u0438 \u043e\u0442\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043e\u0433, \u0434\u0430\u0432\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 <a href=\"https:\/\/wiki.postgresql.org\/wiki\/PgCon_2024_Developer_Meeting\">\u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442<\/a>.<\/p>\n<p>\u041a \u044d\u0442\u043e\u0439 \u0436\u0435 \u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438 \u0438 \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e (\u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441 \u043f\u0440\u044f\u043c \u0433\u0435\u0440\u043e\u0439 \u043d\u043e\u043c\u0435\u0440\u0430): <a href=\"https:\/\/rhaas.blogspot.com\/2024\/05\/hacking-on-postgresql-is-really-hard.html\">Hacking on PostgreSQL is Really Hard<\/a>.<\/p>\n<p>&#171;\u041c\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u044f\u0442\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f\u043c, \u043d\u043e \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c. \u041e\u0434\u043d\u0438, \u043c\u043e\u0436\u0435\u0442, \u043f\u043e\u0436\u0430\u043b\u0443\u044e\u0442\u0441\u044f \u043d\u0430 <a href=\"https:\/\/rhaas.blogspot.com\/2023\/12\/praise-criticism-and-dialogue.html\">\u0442\u0438\u043f \u0434\u0438\u0441\u043a\u0443\u0440\u0441\u0430 \u0432 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0430\u0445<\/a>, \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0442\u0443\u044e\u0442, \u0447\u0442\u043e \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u043e\u0432 \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043d\u0451\u043c \u0441 \u043e\u0433\u043d\u0451\u043c, \u0442\u0440\u0435\u0442\u044c\u0438 &#8212; \u0447\u0442\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0435\u0431\u044f \u0437\u0430\u043b\u043e\u0436\u043d\u0438\u043a\u0430\u043c\u0438 <em>\u043a\u0430\u043f\u0440\u0438\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u0435\u0440\u043e\u0432<\/em>. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u043d\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c: \u0445\u043e\u0447\u0443 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435.&#187;<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u0441\u043c\u0443\u0442\u0438\u0442\u044c, \u0420\u043e\u0431\u0435\u0440\u0442 \u0431\u0435\u0440\u0451\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u044b\u0442\u0430: \u043e \u043f\u0430\u0442\u0447\u0430\u0445 \u043f\u043e \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0431\u044d\u043a\u0430\u043f\u0443. \u0418\u0445 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u0434 20, \u0438 \u0441 \u043d\u0438\u043c\u0438 \u043e\u043d (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d) \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u0433\u043e\u0434. \u0418 \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u044b \u043e\u043d \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u044f\u0442\u044c \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u0443: \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e \u0432\u044b\u0440\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u0443\u0437\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0435\u0440\u043e\u0432 &#8212; \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043b\u044e\u0434\u0438 \u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0445 \u0442\u0440\u0443\u0434\u043d\u043e. \u0417\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433.<\/p>\n<p>\u041d\u043e \u043c\u044b \u0437\u0430\u0431\u044b\u043b\u0438 \u043e\u0431 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u0445 \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u0421\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u043e:<\/p>\n<p>\u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u0435\u043d\u044c \u0441\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0430 <em>\u0410\u043b\u0451\u043d\u0430 \u0420\u044b\u0431\u0430\u043a\u0438\u043d\u0430<\/em>, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0432\u0448\u0430\u044f \u0434\u043e\u043a\u043b\u0430\u0434 \u0432\u043c\u0435\u0441\u0442\u0435 <em>\u0410\u043d\u0434\u0440\u0435\u0435\u043c \u041b\u0435\u043f\u0438\u0445\u043e\u0432\u044b\u043c<\/em> (\u043e\u0431\u0430 Postgres Professional), <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/147-adaptive-query-optimization-in-postgresql\/\">Adaptive Query Optimization In PostgreSQL<\/a>. \u0415\u0441\u0442\u044c <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/sessions\/session\/147\/slides\/18\/aqo_c%D0%BEpy%204-2%20final.pdf\">PDF<\/a> \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430.<\/p>\n<p><em>\u0410\u043d\u0434\u0440\u0435\u0439 \u0411\u043e\u0440\u043e\u0434\u0438\u043d<\/em> \u0438\u0437 \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0434\u043e\u043a\u043b\u0430\u0434 Tricks From In-Memeory Databases. <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/sessions\/session\/119\/slides\/20\/PGConf2024-Borodin-Mem-Tricks_v1.pdf\">\u0412\u043e\u0442 \u0441\u043b\u0430\u0439\u0434\u044b<\/a>.<\/p>\n<h4>\u041d\u043e\u0432\u044b\u0439 \u0436\u0430\u043d\u0440: \u043f\u0440\u0435\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442<\/h4>\n<p>\u041e\u0442\u0433\u043e\u043b\u043e\u0441\u043a\u0438 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0435\u043c\u044b &#8212; \u0435\u0441\u043b\u0438 \u043d\u0435 \u043a\u0440\u0438\u0437\u0438\u0441\u0430, \u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0442\u0440\u0435\u0432\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u0430 <a href=\"https:\/\/highload.ru\/spb\/2024\/\">Saint HighLoad++ 2024<\/a> \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u043e\u0440\u043a\u0448\u043e\u043f <a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/12613\">Postgres Pre-Commitfest Party<\/a>. \u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u0430 <em>\u0410\u043d\u0434\u0440\u0435\u044f \u0411\u043e\u0440\u043e\u0434\u0438\u043d\u0430<\/em> (Yandex Cloud) \u043a\u0430\u043a \u043f\u0443\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/805675\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435<\/a>. \u0410\u043d\u0434\u0440\u0435\u0439 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0433\u0440\u044f\u0434\u0443\u0449\u0438\u0435 \u043f\u0430\u0442\u0447\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043d\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <a href=\"https:\/\/commitfest.postgresql.org\/\">\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432<\/a>. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c Highload++ \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0438\u0434\u0435\u044f, \u0430 \u0432 Postgres Professional \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0438, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 <a href=\"https:\/\/highload.ru\/spb\/2024\/authors\/482\"><em>\u041e\u043b\u0435\u0433 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432<\/em><\/a> (Major Contributor) \u0438 <a href=\"https:\/\/highload.ru\/spb\/2024\/authors\/1770\"><em>\u0424\u0451\u0434\u043e\u0440 \u0421\u0438\u0433\u0430\u0435\u0432<\/em><\/a> (Major Contributor \u0438 FreeBSD Contributor), \u043b\u044e\u0434\u0438 \u043e\u043f\u044b\u0442\u043d\u044b\u0435.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u043c\u0435\u044e\u0449\u0430\u044f\u0441\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432 \u0440\u0435\u0448\u0430\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u044d\u0442\u043e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 <em>\u0440\u0435\u0432\u044c\u044e\u0435\u0440\u0430<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u043f\u0430\u0442\u0447 \u0438 \u043f\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435. \u0412\u043e\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u041f\u0440\u0435\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442 \u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c, \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0430\u0442\u044c <a href=\"https:\/\/forms.yandex.ru\/u\/6634e043c417f3cae70775a6\/\">\u0437\u0430\u044f\u0432\u043a\u0443<\/a>. \u0420\u0435\u0447\u044c \u0438\u0434\u0451\u0442 \u043e \u043f\u0430\u0442\u0447\u0430\u0445 \u0432 18-\u044e (!) \u0432\u0435\u0440\u0441\u0438\u044e Postgres. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043f\u0438\u0448\u0443\u0442:<\/p>\n<p><em>\u0412\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u043e \u0438\u0437\u00a0\u0432\u0435\u0440\u0441\u0438\u0438\u00a017, \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0451 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f <\/em><a href=\"https:\/\/commitfest.postgresql.org\/48\/\"><em>\u0434\u043e\u00a0\u0438\u044e\u043b\u044f<\/em><\/a><em>. \u0412\u00a0\u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u0430\u0442\u0447\u0435\u0439 \u0438\u00a0\u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u043e\u00a0\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0441\u0440\u0435\u0434\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u043e\u0432 \u0441\u0432\u043e\u0439 \u043f\u0430\u0442\u0447, \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0439 feedback \u043e\u0442\u00a0\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0441\u043e\u0431\u0440\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u043d\u0430\u00a0StHL. \u0415\u0441\u043b\u0438 \u0432\u044b\u00a0\u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u0430\u00a0\u2014 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c\u0442\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 (\u043d\u0430\u00a02-3\u00a0\u043c\u0438\u043d\u0443\u0442\u044b) \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e\u00a0\u0441\u0432\u043e\u0451\u043c \u043f\u0430\u0442\u0447\u0435.<\/em><\/p>\n<p>\u041d\u0443 \u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u044b:<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/11942\">\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e PostgreSQL \u043d\u0435 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438<\/a> &#8212; \u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 SPQR, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL. <em>\u0414\u0435\u043d\u0438\u0441 \u0412\u043e\u043b\u043a\u043e\u0432<\/em>, Yandex Cloud.<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/12106\">\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0421\u0425\u0414: \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u044d\u0448\u0435\u0439 \u0432 Active-Active-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435<\/a> &#8212; \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440, \u043d\u043e &#171;\u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0439&#187;. <em>\u041c\u0438\u0445\u0430\u0438\u043b \u041c\u043e\u0442\u044b\u043b\u0435\u043d\u043e\u043a, <\/em>YADRO.<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/11907\">\u041c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u0434\u0430, \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430: \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c SQLC \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0411\u0414<\/a> &#8212; \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430 Go \u0441 PostgreSQL. <em>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439, <\/em>Uzum Tezkor (\u0443\u0437\u0431\u0435\u043a\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0440\u0442\u0430\u043f).<\/p>\n<p><a href=\"https:\/\/pgconf.ru\/SPb-2024-10\"><strong>PGConf.\u0421\u041f\u0431 2024<\/strong><\/a><\/p>\n<p>\u041f\u0440\u043e\u0439\u0434\u0435\u0442 1 \u043e\u043a\u0442\u044f\u0431\u0440\u044f. \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f <a href=\"https:\/\/pgconf.ru\/login?go=\/account\/participation\/SPb-2024-10\">\u043e\u0442\u043a\u0440\u044b\u0442\u0430<\/a>, \u043f\u0440\u0438\u0451\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 <a href=\"https:\/\/pgconf.ru\/login?go=\/account\/speaker\/SPb-2024-10\">\u0442\u043e\u0436\u0435<\/a>. \u0414\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u0430\u043c \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u044e\u0442 \u0442\u0440\u0430\u043d\u0441\u0444\u0435\u0440 \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u0447\u0435\u0441\u0442\u044c \u0433\u0440\u044f\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0438 \u0434\u0435\u043b\u044f\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439 \u0441 PGConf.\u0421\u041f\u0431 2023, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 \u0442\u043e\u043b\u044c\u043a\u043e <a href=\"https:\/\/pgconf.ru\/talk\/1589499\">\u0447\u0435\u0440\u0435\u0437 \u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u0430\u0431\u0438\u043d\u0435\u0442<\/a>. \u041d\u0430\u0447\u0430\u043b\u0438 \u0432\u043e\u0442 \u0441 \u044d\u0442\u043e\u0433\u043e:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=QS0PGFCLEII\">\u0424\u0435\u043d\u0441\u0438\u043d\u0433 \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e&#8230;<\/a> &#8212; \u044d\u0442\u043e \u0434\u043e\u043a\u043b\u0430\u0434 <em>\u0418\u0433\u043e\u0440\u044f \u041a\u043e\u0441\u0435\u043d\u043a\u043e\u0432\u0430<\/em> (Postgres Professional). \u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442\u044b: <a href=\"https:\/\/www.youtube.com\/watch?v=rxYDN2hQZrY&amp;list=PLaFqU3KCWw6KcfljIbX6pxgwhsGuuXgeA\">1-\u0439<\/a> \u0434\u0435\u043d\u044c \u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=I7FIEljDAQk&amp;list=PLaFqU3KCWw6I2a3jA-Gkg9xA--pO8Zir5\">2-\u0439<\/a>.<\/p>\n<h2>\u041e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u044b, \u0441\u043e\u0441\u0442\u044f\u0437\u0430\u043d\u0438\u044f<\/h2>\n<p><a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0\"><strong>XV \u041c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u0430\u044f \u043e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u0430 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u00abIT\u2060-\u2060\u041f\u043b\u0430\u043d\u0435\u0442\u0430 2024\u00bb<\/strong><\/a><\/p>\n<p>\u0422\u0430\u043a \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u0438\u0434\u0435\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 <em>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/em>, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0432 Postgres Professional. \u0421\u0430\u043c \u0434\u043e\u043a\u043b\u0430\u0434 \u0415\u0433\u043e\u0440\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0?si=_ZGArQ0-cPQy4ItJ&amp;t=117\"><strong>\u041d\u0430\u0437\u0430\u0434 \u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043c. \u0414\u043e\u043b\u0436\u043d\u044b \u043b\u0438 \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c<\/strong><\/a>.<\/p>\n<p>\u0412\u044b \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044c, \u043d\u043e \u0434\u0430, \u0434\u043e\u043b\u0436\u043d\u044b \ud83d\ude42 \u041d\u0435 \u043f\u0443\u0433\u0430\u0439\u0442\u0435\u0441\u044c \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u043e\u043b\u0438\u043a\u0430 (\u0431\u0435\u0437 \u0434\u0435\u0441\u044f\u0442\u0438 \u043c\u0438\u043d\u0443\u0442 \u0442\u0440\u0438 \u0447\u0430\u0441\u0430): \u0415\u0433\u043e\u0440 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043c\u0438\u043d\u0443\u0442 25, \u043f\u043e\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434 <em>\u0418\u0433\u043e\u0440\u044f \u0421\u044b\u0447\u0451\u0432\u0430<\/em> \u0438\u0437 \u0421\u0431\u0435\u0440\u0442\u0435\u0445\u0430, \u0434\u0430\u043b\u0435\u0435 \u0434\u043e\u043a\u043b\u0430\u0434 \u043f\u043e 1\u0421 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 <a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0?si=HG2ZjvMQEaeP87vM&amp;t=7236\">\u0434\u043e\u043a\u043b\u0430\u0434<\/a> \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0443 <a href=\"https:\/\/www.xn--d1aipdhcs.xn--p1ai\/\">\u0420\u0443\u0434\u0438\u0440\u043e\u043d<\/a> \u043e\u0442 \u0410\u043a\u0432\u0430\u0440\u0438\u0443\u0441\u0430.<\/p>\n<p>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0432\u0437\u044f\u0442\u043e \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/www.joelonsoftware.com\/2001\/12\/11\/back-to-basics\/\">Back to Basics<\/a> <em>\u0414\u0436\u043e\u044d\u043b\u0430 \u0421\u043f\u043e\u043b\u044c\u0441\u043a\u0438<\/em> (<a href=\"https:\/\/en.m.wikipedia.org\/wiki\/Joel_Spolsky\">Joel Spolsky<\/a>), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Trello\">Trello<\/a>, \u0441\u043e\u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c Fog Creek \u0438 Stack Overflow. \u041d\u043e \u0415\u0433\u043e\u0440 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u044c\u044e &#8212; \u043e \u0417\u0430\u043a\u043e\u043d\u0435 \u0434\u044b\u0440\u044f\u0432\u044b\u0445 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439, <a href=\"https:\/\/www.joelonsoftware.com\/2002\/11\/11\/the-law-of-leaky-abstractions\/\">The Law of Leaky Abstractions<\/a>, \u0442\u043e\u0436\u0435 \u0432 \u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0435 <a href=\"https:\/\/www.joelonsoftware.com\/\">Joel on Software<\/a>. \u0412\u0441\u0435 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0434\u044b\u0440\u044f\u0432\u044b, \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0441\u044f \u0415\u0433\u043e\u0440 \u0441 \u0414\u0436\u043e\u044d\u043b\u043e\u043c. \u041f\u0440\u043e\u0432\u0430\u043b\u0438\u0442\u044c\u0441\u044f \u0432 \u0442\u0430\u043a\u0443\u044e \u0434\u044b\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u041c\u043d\u043e\u0433\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0415\u0433\u043e\u0440 \u0438\u043c\u0435\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u044f\u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0438 \u043a \u0442\u0435\u043c\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0438\u0434\u0435\u043e. \u0412\u043e\u0442 \u0435\u0433\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u044f\u044f \u0441\u0442\u0430\u0442\u044c\u044f:<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/808211\/\"><strong>\u00abIT-\u041f\u043b\u0430\u043d\u0435\u0442\u0430 2024\u00bb: \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e PostgreSQL<\/strong><\/a><\/p>\n<p>1-\u0439 \u044d\u0442\u0430\u043f &#8212; \u0437\u0430\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0435\u0441\u0442 \u043f\u043e PostgreSQL, \u0438\u0437 \u043f\u043e\u0447\u0442\u0438 3000 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043e\u0442\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 200. \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b <em>\u0415\u0432\u0433\u0435\u043d\u0438\u0435\u043c \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u044b\u043c<\/em>.<\/p>\n<p>2-\u0439 \u044d\u0442\u0430\u043f \u2014 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043e\u0447\u043d\u044b\u0439. \u0417\u0434\u0435\u0441\u044c \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043d\u0430\u0434 \u043f\u044f\u0442\u044c\u044e \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 <em>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/em>. \u0418\u0445 \u043e\u043d \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p><a href=\"https:\/\/it-planet.braim.org\/news\/2024_post_final.html\">\u0424\u0438\u043d\u0430\u043b<\/a> (3-\u0439 \u044d\u0442\u0430\u043f) \u041e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0447\u043d\u043e \u0432 \u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u044c\u0441\u043a\u0435. \u0412\u043e\u0442 <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1JPE7ML5gzKLyxNksfM8mKnuPohUmwbQzGVDgXV2QxnA\/edit#gid=1196081849\">\u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0438<\/a>, \u043d\u043e\u043c\u0438\u043d\u0430\u0446\u0438\u0439 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e. \u0412 \u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u0435 PostgreSQL \u044d\u0442\u043e:<\/p>\n<ol>\n<li>\n<p><em>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0443\u0445\u043e\u0442\u0438\u043d\u0430<\/em> (\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0441\u043a\u0438\u0439 \u043f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u041f\u0435\u0442\u0440\u0430 \u0412\u0435\u043b\u0438\u043a\u043e\u0433\u043e),<\/p>\n<\/li>\n<li>\n<p><em>\u042f\u043d \u0421\u0435\u043d\u0438\u043d<\/em> ( \u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442) \u0438<\/p>\n<\/li>\n<li>\n<p><em>\u0412\u0443 \u041d\u0430\u043c \u0425\u043e\u0430\u0439<\/em> (\u043e\u043f\u044f\u0442\u044c \u0421\u041f\u0431 \u041f\u043e\u043b\u0438\u0442\u0435\u0445).<\/p>\n<\/li>\n<\/ol>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 3-\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/820445\/\"><strong>UPD: \u0417\u0430\u0434\u0430\u0447\u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e PostgreSQL<\/strong><\/a><\/p>\n<p>\u041d\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0430 \u0437\u0430\u0434\u0430\u0447\u0430 &#8212; \u043f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c \u0441\u0435\u0431\u044f \u0415\u0433\u043e\u0440. \u041e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0430, \u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c SQL-\u0437\u0430\u043f\u0440\u043e\u0441, \u0438\u0433\u0440\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u0438-\u043d\u043e\u043b\u0438\u043a\u0438 \u00ab\u043f\u044f\u0442\u044c \u0432 \u0440\u044f\u0434\u00bb.<\/p>\n<p>\u041d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0442\u0430\u043a\u0438\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0432\u0441\u0435 \u043a\u043e\u0433\u0434\u0430-\u0442\u043e \u0438\u0433\u0440\u0430\u043b\u0438 &#8212; \u043d\u0435 \u043d\u0430 &#171;\u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439&#187; \u0434\u043e\u0441\u043a\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043b\u0438\u0441\u0442\u043a\u0435 \u043a\u043b\u0435\u0442\u0447\u0430\u0442\u043e\u0439 \u0431\u0443\u043c\u0430\u0433\u0438. \u0412 \u0437\u0430\u0434\u0430\u0447\u0435 \u043f\u043e\u043b\u0435 19&#215;19. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437\u00a0<em>\u043e\u0434\u043d\u043e\u0433\u043e SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/em>.<\/p>\n<p>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f\u043c \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043e\u043e\u0440\u0443\u0434\u0438\u043b <em>\u0418\u043b\u044c\u044f \u0411\u0430\u0448\u0442\u0430\u043d\u043e\u0432,<\/em> \u0432 \u043d\u0451\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u043b\u043e \u043e\u0442\u043b\u0430\u0434\u043a\u0443, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432. \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0438\u0433\u0440 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BA%D1%81\">\u043c\u0438\u043d\u0438\u043c\u0430\u043a\u0441\u043e\u043c<\/a>, \u043e\u043d \u043b\u0435\u0433\u043a\u043e \u0433\u0443\u0433\u043b\u0438\u0442\u0441\u044f, \u0430 \u0443 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0431\u044b\u043b \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u0440\u0430\u0437\u0431\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0431\u0440\u043e\u0441\u0430\u043b \u0441\u0430\u043c \u0415\u0433\u043e\u0440. \u0421 \u043d\u0438\u043c \u043f\u043e\u0447\u0442\u0438 \u0441\u043e\u0432\u043f\u0430\u043b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0438\u0446\u044b &#8212; \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u044b \u0421\u0443\u0445\u043e\u0442\u0438\u043d\u043e\u0439.<\/p>\n<p>\u0412\u043e\u0442 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0431\u043e\u0440 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0438\u0445 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/742684\/\">\u0437\u0430\u0434\u0430\u0447 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u044b \u00abIT-\u041f\u043b\u0430\u043d\u0435\u0442\u044b\u00bb \u043f\u043e PostgreSQL<\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/746094\/\">\u0417\u0430\u0434\u0430\u0447\u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u044d\u0442\u0430\u043f\u0430<\/a>.<\/p>\n<h4>\u0418 \u0431\u0435\u0433<\/h4>\n<p><a href=\"https:\/\/runit.digital\/?utm_source=timepad&amp;utm_medium=daidhzest&amp;utm_campaign=runit_taimpad\"><strong>\u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0421\u043f\u043e\u0440\u0442\u0430 \u0438 \u0418\u0422<\/strong><\/a><\/p>\n<p>\u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442 RUNIT, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0441 2018 \u0433\u043e\u0434\u0430: &#171;<em>\u0434\u043b\u044f \u043d\u0430\u0441 \u0431\u0435\u0433 \u0438 \u0418\u0422 \u2014 \u044d\u0442\u043e \u043d\u0435\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c\u044b\u0435 \u0432\u0435\u0449\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e \u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u2014 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043a \u0446\u0435\u043b\u0438. \u0421\u043f\u043e\u0440\u0442 \u0443\u0447\u0438\u0442 \u043d\u0430\u0441 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0438\u0433\u0440\u0430\u0442\u044c \u0432\u0434\u043e\u043b\u0433\u0443\u044e<\/em>&#171;.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/eab\/ed7\/91f\/eabed791f2f7ba4ec0f7e1021d2ac632.jpg\" alt=\"\u041c\u0435\u0434\u0430\u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u0430 \u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional \u041f\u0430\u0432\u043b\u0430 \u0422\u043e\u043b\u043c\u0430\u0447\u0451\u0432\u0430\" title=\"\u041c\u0435\u0434\u0430\u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u0430 \u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional \u041f\u0430\u0432\u043b\u0430 \u0422\u043e\u043b\u043c\u0430\u0447\u0451\u0432\u0430\" width=\"539\" height=\"429\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eab\/ed7\/91f\/eabed791f2f7ba4ec0f7e1021d2ac632.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041c\u0435\u0434\u0430\u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u0430 \u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional \u041f\u0430\u0432\u043b\u0430 \u0422\u043e\u043b\u043c\u0430\u0447\u0451\u0432\u0430<\/figcaption><\/div>\n<\/figure>\n<h2>\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p><a href=\"https:\/\/postgrespro.ru\/education\/books\/dbguide\"><strong>\u041f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0431\u0430\u0437\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/a><\/p>\n<p>\u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e <a href=\"https:\/\/dmkpress.com\/catalog\/computer\/databases\/978-5-93700-287-7\/\">\u0414\u041c\u041a \u041f\u0440\u0435\u0441\u0441<\/a>. \u0410\u0432\u0442\u043e\u0440 &#8212; <em>\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440 \u041a\u043e\u043c\u0430\u0440\u043e\u0432<\/em>\u00a0\u2014 \u0418\u0422-\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0435\u0432\u0430\u043d\u0433\u0435\u043b\u0438\u0441\u0442.<\/p>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 \u043a \u043f\u0435\u0447\u0430\u0442\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u041e\u0442\u0434\u0435\u043b \u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional. \u0422\u0430\u043a \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c.<\/p>\n<p>\u041a\u043d\u0438\u0433\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0430\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043d\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f. \u041e\u0441\u043e\u0431\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u0435\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u0432 \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445.<\/p>\n<p>\u042d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0432\u0441\u0435\u043c, \u043a\u043e\u0433\u043e \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043d\u0430 \u0442\u0440\u0435\u0445\u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u0430\u0445 \u0442\u0438\u043f\u0430 \u00ab\u0432\u043e\u0439\u0442\u0438 \u0432 \u0430\u0439\u0442\u0438\u00bb. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u043d\u0438\u044f\u043c \u043e\u043d\u0430 \u0434\u0430\u0441\u0442 \u043f\u0440\u043e\u0447\u043d\u044b\u0439 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442 \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0438\u0445 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0435\u0439. \u041a\u043d\u0438\u0433\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0434\u043b\u044f \u044d\u043b\u0438\u0442\u044b \u0438 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u0435\u0439 \u0441\u0442\u0430\u0442\u044c.<\/p>\n<p>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043d\u0438\u0433\u0438:<\/p>\n<ul>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c I. \u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c II. \u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u044b\u043c<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c III. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0421\u0423\u0411\u0414<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c IV. \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c V. \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0441\u0431\u043e\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c VI. \u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u044c VII. \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/4e9\/2d8\/879\/4e92d887960324cb13389d27356468a0.jpg\" width=\"450\" height=\"600\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4e9\/2d8\/879\/4e92d887960324cb13389d27356468a0.jpg\" data-blurred=\"true\"\/><\/figure>\n<p>\u041c\u043e\u0436\u043d\u043e <a href=\"https:\/\/edu.postgrespro.ru\/dbguide.pdf\">\u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u043d\u0438\u0433\u0443<\/a>\u00a0\u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 PDF.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/piter\/articles\/819423\/\"><strong>\u0410\u043d\u0442\u0438\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b SQL. \u041a\u0430\u043a \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043b\u043e\u0432\u0443\u0448\u0435\u043a \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/a><\/p>\n<p>\u0412 \u043a\u043d\u0438\u0433\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/piter\/profile\/\">\u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u043c\u0430 \u00ab\u041f\u0438\u0442\u0435\u0440\u00bb<\/a> \u0440\u0435\u0447\u044c \u043e SQL, \u043d\u0435 Postgres. \u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0438\u0437 MySQL 8.0, \u043d\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0420\u0421\u0423\u0411\u0414. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043a\u043e\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Python 3.9+ \u0438\u043b\u0438 Ruby 2.7+. \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043a\u043d\u0438\u0433\u0438 <em>\u0411\u0438\u043b\u043b\u0430 \u041a\u0430\u0440\u0432\u0438\u043d\u0430<\/em> (Bill Karwin). \u041f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c, \u0435\u0449\u0451 \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438.<\/p>\n<h3>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u044d\u043f\u0438\u0437\u043e\u0434 \u0438\u0437 \u0436\u0438\u0437\u043d\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/h3>\n<p>\u041c\u043e\u0438\u043c \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c \u0432 \u041e\u0442\u0434\u0435\u043b\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u0427\u0442\u043e-\u0442\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0432 \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445, \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u0445\u043e\u0434\u044f\u0442 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438\/\u043e\u0448\u0438\u0431\u043a\u0438\/\u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 &#8212; \u0432\u0441\u0435 \u043c\u044b \u043b\u044e\u0434\u0438. \u0412\u043e\u0437\u043d\u0438\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 <a href=\"https:\/\/postgrespro.ru\/education\/courses\/DBA2\">DBA2<\/a>:<\/p>\n<p><em>\u0415\u0441\u043b\u0438 \u043d\u0430  \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0439\u00a0\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 2  \u0431\u0430\u0439\u0442\u0430) &#8212; \u0442\u0430\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u0432 \u043a\u0430\u0440\u0442\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e  \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430?<\/em>\u00a0<em>\u0418\u043b\u0438 \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0435\u0434\u0435\u043b \u0438 \u0432 \u043a\u0430\u0440\u0442\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e\u00a0\u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430?<\/em><\/p>\n<p>\u041a\u043e\u043b\u043b\u0435\u0433\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442, \u0438\u043d\u043e\u0433\u0434\u0430 \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 <em>\u0415\u0433\u043e\u0440 \u0420\u043e\u0433\u043e\u0432<\/em> \u043f\u043e\u0441\u043e\u0432\u0435\u0442\u043e\u0432\u0430\u043b \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0441\u0432\u043e\u044e &#8212; \u0445\u043e\u0442\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0443 \u0415\u0433\u043e\u0440\u0430 \u0435\u0441\u0442\u044c \u043f\u043e \u0441\u0442\u0430\u0442\u044c\u0435 (\u0433\u043b\u0430\u0432\u0435 \u043a\u043d\u0438\u0433\u0438) \u043d\u0430 \u0432\u0441\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441-\u0436\u0438\u0437\u043d\u0438 \ud83d\ude42 \u0412\u043e\u0442 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f, \u043c\u043e\u0436\u0435\u0442 \u0438 \u0432\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f: <\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/806415\/\"><strong>PostgreSQL. \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0430\u0440\u0442\u044b \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430<\/strong><\/a><\/p>\n<p>\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f <em>\u041c\u0438\u0445\u0430\u0438\u043b\u0430 \u0413\u0438\u043b\u0451\u0432\u0430<\/em><a href=\"https:\/\/habr.com\/ru\/users\/o4ina\/\">\u00a0<\/a><a class=\"mention\" href=\"\/users\/o4ina\">@o4ina<\/a> \u043d\u0430 24 \u043c\u0438\u043d\u0443\u0442\u044b \u0447\u0442\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0445\u0430\u0431\u0440. \u0412 \u043d\u0435\u0439 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0434\u0435\u0440\u0435\u0432\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u043d\u0430 \u043b\u0438\u0441\u0442\u043e\u0432\u043e\u0439 FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043d\u0435\u043b\u0438\u0441\u0442\u043e\u0432\u044b\u0435 FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438 \u0434\u0435\u0440\u0435\u0432\u043e FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446.<\/p>\n<\/li>\n<li>\n<p>\u0421 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0432 \u0434\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSM.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0443\u0436\u043d\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b FSM \u0441\u043b\u043e\u044f \u0434\u043b\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u0445 FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c FSM \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 FSM \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0441\u0442\u0440\u043e\u043a.<\/p>\n<\/p>\n<\/li>\n<\/ul>\n<h2>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/h2>\n<p><a href=\"https:\/\/stormatics.tech\/blogs\/protecting-personally-identifiable-information-in-postgresql\"><strong>Protecting Personally Identifiable Information in PostgreSQL: A Critical Requirement for Financial Organizations<\/strong><\/a><\/p>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043f\u0435\u0440\u0430 <em>\u0423\u043c\u0435\u0439\u0440\u0430 \u0428\u0430\u0445\u0438\u0434\u0430<\/em> (Umair Shahid, Stormatics). \u041e\u043d \u0434\u0435\u043b\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0445 &#8212; \u0442\u0430\u043c \u043e\u0431\u044b\u0447\u043d\u043e TLS (Transport Layer Security, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f) \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0417\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u044b\u0431\u043e\u0440:<\/p>\n<ul>\n<li>\n<p>\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0434\u0438\u0441\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>TDE (Transparent Disk Encryption &#8212; <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D0%BE%D0%B5_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\">\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/a>).<\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043a\u0430\u043a \u044d\u0442\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0441 \u0438\u043c\u0435\u044e\u0449\u0438\u043c\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c Postgres. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u043e\u0434\u0443\u043b\u044c <a href=\"https:\/\/www.postgresql.org\/docs\/current\/pgcrypto.html\">pgcrypto<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u043a \u0440\u0430\u0437 \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0410 \u0434\u043b\u044f TDE \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043f\u0435\u043a\u0442 EDB.<\/p>\n<p>\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0435\u0449\u0451 \u043a\u0430\u043a \u0431\u044b Book \u043e\u0442 Crunchy Data:<\/p>\n<p><a href=\"https:\/\/www.crunchydata.com\/blog\/data-encryption-in-postgres-a-guidebook\"><strong>Data Encryption in Postgres: A Guidebook<\/strong><\/a><\/p>\n<p>\u042d\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043d\u0435 \u0431\u0443\u043a, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0436\u0435 \u0436\u0430\u043d\u0440\u0430 \u0441\u0432\u043e\u0434\u043a\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043e\u0431\u0449\u0438\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432. \u041d\u043e \u0448\u0438\u0440\u043e\u0442\u0430 \u043e\u0445\u0432\u0430\u0442\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0430\u044f. <em>\u0413\u0440\u0435\u0433 \u041d\u043e\u0443\u043a\u0441<\/em> (Greg Nokes) \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u0443\u043d\u043a\u0442\u0443 \u0434\u0430\u0451\u0442 <em>\u0437\u0430<\/em> \u0438 <em>\u043f\u0440\u043e\u0442\u0438\u0432, <\/em>\u0442\u043e\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u044f \u043d\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u043b\u0435\u0436\u0430\u0447\u0438\u0445 (at-rest encryption methods) \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 (\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043b\u0435\u0442\u0443 &#8212; on the fly). \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0438\u0448\u0435\u0442 \u043e \u043b\u0435\u0436\u0430\u0447\u0438\u0445 \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441 \u041e\u0421.<\/p>\n<p><em>        \u0417\u0430:<\/em><\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0431\u0430\u0437\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043c\u043e \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u0441\u043b\u043e\u044e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0435\u0433\u0438\u0440\u0443\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443\/\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u041e\u0421.<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0440\u043e\u043a\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.<\/p>\n<p><em>\u041f\u0440\u043e\u0442\u0438\u0432:<\/em><\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u043d\u0435\u0435 \u0433\u0440\u0430\u043d\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0431\u0430\u0437 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u044d\u043a\u0430\u043f\u044b \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0437\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0439 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 4 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0432\u043e\u0442 \u0432\u0441\u0435 4:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u041e\u0421.<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>TDE (\u0443 \u0413\u0440\u0435\u0433\u0430 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a Transparent Disk Encryption, \u0432\u0438\u0434\u0438\u043c\u043e, \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0413\u0440\u0435\u0433 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043e\u0431\u0449\u0435\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0430.<\/p>\n<p><a href=\"https:\/\/www.crunchydata.com\/news\/crunchy-data-and-center-for-internet-security-announce-benchmark-update-for-postgresql-16\"><strong>Crunchy Data and Center for Internet Security Announce Benchmark Update for PostgreSQL 16<\/strong><\/a>  <\/p>\n<p>\u0412 Crunchy Data \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0435\u043c\u0430\u043b\u043e \u0443\u0441\u0438\u043b\u0438\u0439 \u0443\u0434\u0435\u043b\u044f\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. <a href=\"https:\/\/www.cisecurity.org\/\">CIS Center for Internet Security<\/a> (CIS) &#8212; \u043d\u0435\u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0444\u0435\u0440\u0430\u0445 \u0418\u0422. <a href=\"https:\/\/www.cisecurity.org\/cis-benchmarks\">CIS-\u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438<\/a> &#8212; \u0432\u0430\u0436\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0438\u0445 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0441\u043e\u0444\u0442, \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0422\u0430\u043a\u0438\u0445 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0443 \u043d\u0438\u0445 \u043f\u0430\u0440\u0430 \u0434\u044e\u0436\u0438\u043d. \u0421\u0440\u0435\u0434\u0438 \u043d\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438 <a href=\"https:\/\/www.cisecurity.org\/benchmark\/postgresql\">\u0434\u043b\u044f PostgreSQL<\/a> (\u0434\u043b\u044f \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 &#8212; 5, IBM-\u043e\u0432\u0441\u043a\u0438\u0445 &#8212; 6). \u041d\u043e\u0432\u044b\u0439 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a &#8212; \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Crunchy Data \u0438 CIS.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=MfYdOkyAPmE\"><strong>PGMeetup: \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Postgres Pro \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u0437\u0430\u0449\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/a><\/p>\n<p>\u041d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0438\u043b \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442 Postgres Professional <em>\u0410\u043d\u0434\u0440\u0435\u0439 \u0413\u0443\u0441\u0430\u043a\u043e\u0432<\/em>. \u041f\u043e \u0442\u0430\u0439\u043c\u043a\u043e\u0434\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/youtu.be\/MfYdOkyAPmE?t=944\">\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/a>, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0431\u0435\u0437 \u0441\u0443\u043f\u0435\u0440\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/youtu.be\/MfYdOkyAPmE?t=2712\">\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u0421\u0423\u0411\u0414<\/a>: \u043a\u0440\u0438\u043f\u0442\u043e\u0437\u0430\u0449\u0438\u0442\u0430, \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0433\u0440\u043e\u0437 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0437\u0430\u0449\u0438\u0442\u044b \u0421\u0423\u0411\u0414, \u043f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0418\u0411 \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 PostgreSQL \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u041f\u041e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 <a href=\"https:\/\/youtu.be\/MfYdOkyAPmE?t=2227\">\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a>, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/youtu.be\/MfYdOkyAPmE?t=3142\">\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/a> \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0421\u0423\u0411\u0414 Postgres Pro.<\/p>\n<\/li>\n<\/ul>\n<h2>HR \u0432 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0445 \u043d\u0435\u0434\u0435\u043b\u0438<\/h2>\n<p>\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e &#8212; \u044f \u043d\u0435 \u043f\u0440\u0438\u043f\u043e\u043c\u043d\u044e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e &#8212; \u043f\u0435\u0440\u0441\u043e\u043d\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0438 (<a href=\"https:\/\/postgresweekly.com\/link\/155113\/web\">Postgres Person of the Week<\/a>)   \u0441\u0442\u0430\u043b \u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0430 <strong>\u0440\u0435\u043a\u0440\u0443\u0442\u0435\u0440<\/strong> <em>\u0424\u0438\u043b\u043b\u0438\u043f \u041c\u0430\u0440\u043a\u0441<\/em> (Philip Marks).<\/p>\n<h2>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f<\/h2>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/27\/code-conversion-chronicles-trigger-order-of-processing-in-oracle-to-postgresql-migration\/\"><strong>Code Conversion Chronicles \u2013 Trigger Order of processing in Oracle to PostgreSQL Migration<\/strong><\/a><\/p>\n<p><em>\u0414\u0438\u043f\u0430\u043a \u041c\u0430\u0445\u0442\u043e<\/em> \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0435\u0449\u0451 \u043e\u0434\u043d\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043a \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0445\u0440\u043e\u043d\u0438\u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Oracle. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/27\/code-conversion-chronicles-trigger-order-of-processing-in-oracle-to-postgresql-migration\/\">Trigger Order of processing in Oracle to PostgreSQL Migration<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/13\/conversion-chronicles-invisible-indexes-in-oracle-to-postgresql-migration\/\">Conversion Chronicles \u2013 Invisible Indexes in Oracle to PostgreSQL Migration<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/09\/conversion-chronicles-mapping-oracle-number-data-types-using-aws-sct-and-ora2pg\/\">Conversion Chronicles \u2013 Mapping Oracle Number Data types using AWS SCT and Ora2pg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/03\/conversion-gotchas-implicit-conversion-in-oracle-to-postgresql-migration\/\">Conversion Gotchas: Implicit Conversion in Oracle to PostgreSQL Migration<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/04\/23\/plpgsql-conversion-gotchas-functions-with-out-parameter-and-return-type\/\">PL\\pgSQL Conversion Gotchas : Functions with Out parameter and return type<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/04\/12\/pl-pgsql-conversion-gotchas-cursors-and-last-fetch\/\">PL\/pgSQL Conversion Gotchas: Cursors and Last Fetch<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/04\/10\/pl-pgsql-conversion-gotchas-how-to-handle-conflicting-variables\/\">PL\/pgSQL Conversion Gotchas: How to Handle Conflicting Variables<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.crunchydata.com\/blog\/introducing-pgcompare-the-ultimate-multi-database-data-comparison-tool\"><strong>The Ultimate Multi-Database Data Comparison Tool<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/CrunchyData\/pgCompare\"><strong>pgCompare<\/strong><\/a> &#8212; \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0432 Crunchy Data \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 \u0431\u0430\u0437\u0430\u0445 PostgreSQL, Oracle, MySQL \u0438 MS SQL. \u041e \u043d\u0435\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <em>\u0411\u0440\u0430\u0439\u0430\u043d \u041f\u0435\u0439\u0441<\/em> (Brian Pace).<\/p>\n<p><a href=\"https:\/\/fljd.in\/en\/2024\/05\/28\/an-assistant-to-copy-data-from-a-remote-server\/\"><strong>An assistant to copy data from a remote server<\/strong><\/a><\/p>\n<p><em>\u0424\u043b\u043e\u0440\u0430\u043d \u0416\u0430\u0440\u0434\u044d\u043d<\/em> (Florent Jardin) \u0432 <a href=\"https:\/\/fljd.in\/en\">\u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u0433\u0435<\/a> \u043f\u0438\u0448\u0435\u0442: <em>\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0439 PG-\u0441\u0435\u0441\u0441\u0438\u0438, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 Dalibo, \u044f \u0432\u0451\u043b <\/em><a href=\"https:\/\/dali.bo\/wsfdw_html\"><em>\u0432\u043e\u0440\u043a\u0448\u043e\u043f<\/em><\/a><em> \u043d\u0430 \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u043e\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 PostgreSQL, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f FDW. \u042d\u0442\u043e \u0431\u044b\u043b \u043f\u043e\u0432\u043e\u0434 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u043a\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 <\/em><a href=\"https:\/\/github.com\/cybertec-postgresql\/db_migrator\">db_migrator<\/a><em> <\/em>(\u0438\u0434\u0435\u044f \u0431\u044b\u043b\u0430 \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 <a href=\"https:\/\/github.com\/dalibo\/data2pg\">data2pg<\/a> Dalibo<em>) \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 <\/em><a href=\"https:\/\/fljd.in\/en\/2023\/07\/28\/on-the-road-to-freedom-with-db_migrator\/\">On the road to freedom with db_migrator<\/a><em>.<\/em><\/p>\n<p><em>\u041d\u043e \u043f\u043e \u0445\u043e\u0434\u0443 \u0432\u043e\u0440\u043a\u0448\u043e\u043f\u0430 \u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u0433\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439, \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u0432 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043c\u0430\u043b\u043e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043c\u0430\u043b\u043e SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0432 \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u044f \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043d\u0430 PL\/pgSQL\u00a0<\/em><a href=\"https:\/\/github.com\/fljdin\/fdw-assistant\">\u0410\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430<\/a><em>, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0435\u0433\u043e \u044d\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/em><\/p>\n<p><a href=\"https:\/\/postgresweekly.com\/link\/155451\/web\"><strong>DBMate 2.16<\/strong><\/a><\/p>\n<p>\u042d\u0442\u0443 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0434\u0435\u043b\u0430\u043b <em>\u0410\u0434\u0440\u0438\u0430\u043d \u041c\u0430\u043a\u041d\u0438\u043b<\/em> (Adrian Macneil), \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u0441 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432. \u0410\u0432\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 <a href=\"https:\/\/github.com\/amacneil\/dbmate?tab=readme-ov-file#alternatives\">\u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443<\/a> \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438.<\/p>\n<p><a href=\"https:\/\/postgresweekly.com\/link\/155445\/web\"><strong>pgRoll 0.6<\/strong><\/a><strong> (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e)<\/strong><\/p>\n<p>\u042d\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0438 \u0441\u0445\u0435\u043c\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f, \u0438 \u0441\u0445\u0435\u043c\u0430 \u0446\u0435\u043b\u0435\u0432\u0430\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c &#8212; \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0430\u0442\u0441\u044f \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041f\u0440\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u0430\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043e \u043f\u043e\u0440\u044b \u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442\u0441\u044f. \u0415\u0449\u0451 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. <a href=\"https:\/\/xata.io\/blog\/pgroll-schema-migrations-postgres\">\u0417\u0434\u0435\u0441\u044c<\/a>\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f. \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"https:\/\/postgresweekly.com\/link\/155447\/web\">0.6<\/a>\u00a0\u0434\u043e\u0431\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0434\u044e\u0436\u0438\u043d\u044b \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439. \u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u0430\u044f.<\/p>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0435\u0451 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f <a href=\"https:\/\/xata.io\/about\"><strong>Xata<\/strong><\/a>. \u041e\u043d\u0430 \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 Postgres \u0438 \u0434\u0430\u0436\u0435 <a href=\"https:\/\/xata.io\/\">\u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442<\/a>, \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e Postgres (\u0434\u0430\u0436\u0435 \u043e\u0431\u0438\u0434\u043d\u043e \u0437\u0430 Neon). \u041c\u043e\u043b, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0432\u0435\u0440\u0445 <a href=\"https:\/\/www.postgresql.org\/\">PostgreSQL<\/a>, Xata \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0433\u043e <a href=\"https:\/\/xata.io\/docs\/sdk\/search\">\u043f\u043e\u0438\u0441\u043a\u0430<\/a>. \u041f\u043e\u0438\u0441\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0433\u0438\u0431\u043a\u0438\u0439: \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445, \u043d\u043e \u0438 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0430, \u0435\u0441\u0442\u044c \u043d\u0435\u0447\u0451\u0442\u043a\u0438\u0439 \u043f\u043e\u0438\u0441\u043a. \u041a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0437\u0430\u043f\u0438\u0441\u044f\u043c \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/xata.io\/docs\/sdk\/file-attachments\/\">\u043f\u0440\u0438\u0430\u0442\u0442\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b<\/a>, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b <a href=\"https:\/\/xata.io\/docs\/sdk\/aggregate\">\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438<\/a>, \u0441\u0445\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e <a href=\"https:\/\/xata.io\/docs\/getting-started\/cli#branch\">\u0432\u0435\u0442\u0432\u0438\u0442\u044c<\/a>. \u0415\u0441\u0442\u044c <a href=\"https:\/\/xata.io\/docs\/api-reference\/db\/db_branch_name\/tables\/table_name\/ask#ask-table\">\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 ChatGPT<\/a> \u0447\u0435\u0440\u0435\u0437 API. \u0412\u043d\u0443\u0442\u0440\u0438, \u0432\u0438\u0434\u0438\u043c\u043e, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c REST, \u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f TypeScript, Python \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 JSON.<\/p>\n<p>\u0412\u043e\u0442 <a href=\"https:\/\/slashdot.org\/software\/comparison\/Neon-Postgres-vs-Xata\/\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 <strong>Xata<\/strong> \u0441 <strong>Neon<\/strong>. Xata \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u043f\u0435\u0440\u0435\u0436\u0430\u0435\u0442 \u043f\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u043c. \u0411\u043e\u043b\u044c\u0448\u0438\u0435 <a href=\"https:\/\/xata.io\/roadmap\">\u043f\u043b\u0430\u043d\u044b<\/a>, \u043d\u0435\u043c\u0430\u043b\u044b\u0435 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438. \u041d\u0430 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u043a 30 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432. <\/p>\n<h2>\u041c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440 &#8212; true \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e<\/h2>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=VypSu1RqBY0\"><strong>\u041c\u0438\u0444\u044b \u0438 \u0440\u0435\u0430\u043b\u0438\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0421\u0423\u0411\u0414 PostgreSQL<\/strong><\/a><\/p>\n<p>\u041d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 <a href=\"https:\/\/www.youtube.com\/@truetechcommunity\">True Tech<\/a> &#8212; \u0434\u043e\u043a\u043b\u0430\u0434 \u043d\u0430 <a href=\"https:\/\/truetechday.ru\/\">MTC True Tech Day 2024<\/a> <em>\u041f\u0430\u0432\u043b\u0430 \u041a\u043e\u043d\u043e\u0442\u043e\u043f\u043e\u0432\u0430<\/em> \u0438 <em>\u041c\u0438\u0445\u0430\u0438\u043b\u0430 \u0416\u0438\u043b\u0438\u043d\u0430<\/em> (\u043e\u0431\u0430 Postgres Professional) \u043e \u0442\u043e\u043c, <em>\u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u00ab\u0427\u0435\u0441\u0442\u043d\u044b\u0439 \u041c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u00bb \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u043e\u043d \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c. \u0412 \u0444\u0438\u043d\u0430\u043b\u0435,<\/em> &#8212; \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0434\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u0438, &#8212; <em>\u0441\u043c\u0435\u0441\u0442\u0438\u043c \u0444\u043e\u043a\u0443\u0441 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u00ab\u041c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u0430\u00bb. \u0412\u0435\u0434\u044c \u0435\u0441\u043b\u0438 \u0421\u0423\u0411\u0414 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0439 \u0447\u0435\u0440\u0435\u043f\u0430\u0445\u0438, \u0442\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0447\u0435\u0440\u0435\u043f\u0430\u0445\u0430 \ud83d\ude42<\/em><\/p>\n<p>\u0422\u0435\u043c\u0430 \u0432\u0430\u0436\u043d\u0430\u044f \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f. \u041d\u0430<a href=\"https:\/\/pgconf.ru\/2023\"> PGConf.Russia 2023<\/a> \u0431\u044b\u043b \u0434\u043e\u043a\u043b\u0430\u0434 <em>\u0410\u043d\u0434\u0440\u0435\u044f \u0420\u0443\u0434\u043e\u043c\u0451\u0442\u043e\u0432\u0430<\/em>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 Postgres Professional: <a href=\"https:\/\/pgconf.ru\/talk\/1589307\"><strong>\u041f\u0440\u0438\u0432\u0435\u0442, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440? \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u0438\u043b\u0435 \u0438 Postgres Pro Multimaster<\/strong><\/a>, \u0433\u0434\u0435 \u0410\u043d\u0434\u0440\u0435\u0439 \u0442\u043e\u0436\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c: <em>\u0432 \u043f\u0435\u0440\u0432\u044b\u0445 \u043e\u0431\u0437\u043e\u0440\u0430\u0445 \u0437\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u0435 \u0441\u0445\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u043e\u043c Postgres Pro \u0444\u0438\u0447\u0443 \u043e\u043a\u0440\u0435\u0441\u0442\u0438\u043b\u0438 &#171;\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u043e\u043c&#187; &#8212; \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043c \u0432\u043d\u0443\u0442\u0440\u0438.<\/em><\/p>\n<p>\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0430 \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435: \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0435\u0441\u0442\u044c \u0442\u0440\u0451\u0445\u0447\u0430\u0441\u0442\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f, \u0446\u0435\u043b\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u041a\u043e\u043d\u043e\u0442\u043e\u043f\u043e\u0432\u0430 \u0438 \u0416\u0438\u043b\u0438\u043d\u0430 \u043f\u043e \u043c\u043e\u0442\u0438\u0432\u0430\u043c \u0438\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430 HighLoad++ 2023: <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/793068\/\"><strong>\u041c\u0438\u0444\u044b \u0438 \u0440\u0435\u0430\u043b\u0438\u0438 \u00ab\u041c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440\u0430\u00bb \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0421\u0423\u0411\u0414 PostgreSQL<\/strong><\/a><strong>. <\/strong>\u0427\u0430\u0441\u0442\u0438<strong> <\/strong><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/793068\/\"><strong>1<\/strong><\/a>, <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/793156\/\"><strong>2<\/strong><\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/793158\/\"><strong>3<\/strong><\/a>.<\/p>\n<h2>misc<\/h2>\n<p><a href=\"https:\/\/opensource-db.com\/unleashing-postgresql-performance-exploring-the-power-of-pg_profile\/\"><strong>Unleashing PostgreSQL Performance: Exploring the Power of pg_profile<\/strong><\/a><\/p>\n<p>\u0418\u043d\u0434\u0438\u0439\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0440\u0442\u0430\u043f \u0441 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"https:\/\/opensource-db.com\/profile\/\">OpenSource DB<\/a> \u0432 \u0441\u0432\u043e\u0451\u043c <a href=\"https:\/\/opensource-db.com\/osdb-blog\/\">\u0431\u043b\u043e\u0433\u0435<\/a> \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b \u043e \u043c\u043e\u0449\u043d\u043e\u043c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435 &#8212; <a href=\"https:\/\/github.com\/zubkov-andrei\/pg_profile\">pg_profile<\/a> <em>\u0410\u043d\u0434\u0440\u0435\u044f \u0417\u0443\u0431\u043a\u043e\u0432\u0430<\/em>. \u041a\u043e\u0440\u043e\u0442\u0435\u043d\u044c\u043a\u0430\u044f \u0437\u0430\u043c\u0435\u0442\u043a\u0430, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0435\u043d\u0441\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e, \u043d\u043e \u0441\u0430\u043c \u0444\u0430\u043a\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u044d\u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0432\u044b\u0440\u0430\u0437\u0438\u043b\u0441\u044f \u0430\u0432\u0442\u043e\u0440, <em>\u0412\u0435\u043d\u043a\u0430\u0442 \u0410\u0445\u0438\u043b <\/em>(Venkat Akhil) <em>game-changing<\/em> \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0443, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u0435\u043d. \u041e\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e &#8212; <a href=\"https:\/\/github.com\/zubkov-andrei\/pg_profile\/releases\/tag\/4.6\">4.6<\/a>, \u0433\u0434\u0435 Grafana. \u0412\u043e\u043e\u0431\u0449\u0435 \u0432 \u0431\u043b\u043e\u0433\u0435 \u043e\u043d\u0438 \u043f\u0438\u0448\u0443\u0442 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0435\u043c\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 Postgres: \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440 (active-active).<\/p>\n<p><a href=\"https:\/\/www.percona.com\/blog\/administering-a-patroni-managed-postgresql-cluster\/\"><strong>Administering a Patroni Managed PostgreSQL Cluster<\/strong><\/a><\/p>\n<p><em>\u0420\u043e\u0431\u0435\u0440 \u0411\u0435\u0440\u043d\u044c\u0435<\/em> (Robert Bernier, Percona) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/zalando\/spilo\">Spilo<\/a> &#8212; \u0442\u043e \u0435\u0441\u0442\u044c HA PostgreSQL-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043d\u0430 Patroni \u0432 docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u0435\u0433\u043e <a href=\"https:\/\/github.com\/zalando\/spilo\">\u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442<\/a> Zalando. \u0412 \u043d\u0451\u043c: \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0443\u0437\u043b\u0435 <a href=\"https:\/\/docs.haproxy.org\/\">HAPROXY<\/a>, \u043d\u0430 \u0442\u0440\u0451\u0445 &#8212; <a href=\"https:\/\/etcd.io\/\">ETCD<\/a>, \u043e\u0434\u0438\u043d \u0438\u0437 3 \u0443\u0437\u043b\u043e\u0432 \u0432\u0435\u0434\u0443\u0449\u0438\u0439, 2 \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u043d\u0430 \u0432\u0441\u0435\u0445 PostgreSQL. \u041c\u0435\u043d\u044f\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0432\u0430\u0435\u0442, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u043e\u0439 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/p>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/05\/23\/optimizing-performance-in-postgresql-join-column-and-any-filters\/\"><strong>Optimizing Performance in PostgreSQL: Join Column and ANY Filters<\/strong><\/a><\/p>\n<p>\u0414\u0438\u043f\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0441 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/16\/functions-comparisons\">ANY \u0438 IN<\/a>, \u0430 <em>\u041b\u0443\u043a\u0430\u0441 \u0424\u0438\u0442\u0442\u043b<\/em>  (Lukas Fittl) \u0438\u0437 pgananlyze \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0441\u044f \u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u0442\u0435\u043c\u0443 \u0443 \u0441\u0435\u0431\u044f &#8212; <a href=\"https:\/\/pganalyze.com\/blog\/5mins-postgres-planner-join-equivalence-class-in-any-filters\">Postgres Planner Quirks: JOIN Equivalence Classes and IN\/ANY filters<\/a> (<a href=\"https:\/\/www.youtube.com\/watch?v=Cr8ytHOJliU&amp;list=PLhqxwIAgz78HZhWyu3UyKrCWNk7VWjVpj&amp;index=2\">\u0432\u0438\u0434\u0435\u043e-\u0432\u0435\u0440\u0441\u0438\u044f<\/a>) &#8212; \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=nvbt-IFdCgc&amp;list=PLhqxwIAgz78HZhWyu3UyKrCWNk7VWjVpj\">PG-\u043f\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043e\u043a<\/a>.<\/p>\n<p>\u041f\u0440\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0444\u0438\u043b\u044c\u0442\u0440 \u0441 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c ANY (ARRAY[1,2,3]) \u043d\u0435 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0434\u043e\u043b\u0436\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043a \u043e\u0431\u0435\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c, \u0430 \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c IN (1,2,3), \u0442\u043e \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 ANY (ARRAY[1,2,3]) \u0441 \u0442\u0435\u043c \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u0414\u0438\u043f\u0430\u043a \u043f\u0435\u0440\u0435\u0445\u0438\u0442\u0440\u0438\u043b \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e &#171;\u043b\u0438\u0448\u043d\u044e\u044e&#187; \u0441\u0442\u0440\u043e\u0447\u043a\u0443.<\/p>\n<p>\u041b\u0443\u043a\u0430\u0441 \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442 \u043f\u043e\u0433\u043b\u0443\u0431\u0436\u0435, \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u043e\u043c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 (<a href=\"https:\/\/pganalyze.com\/blog\/how-postgres-chooses-index#parameterized-index-scans-or-why-nested-loop-are-sometimes-a-good-join-type\">Parameterized Index Scans<\/a>), \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 (<a href=\"https:\/\/github.com\/postgres\/postgres\/blob\/master\/src\/backend\/optimizer\/README#L690\">Equivalence Classes<\/a>) \u0438 \u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 <a href=\"https:\/\/commitfest.postgresql.org\/37\/3524\/\">\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445<\/a>, \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043e\u043f\u044b\u0442 <em>\u0422\u043e\u043c\u0430 \u041b\u0435\u0439\u043d\u0430<\/em> (Tom Lane) \u0438 <em>\u0422\u043e\u043c\u0430\u0448\u0430 \u0412\u043e\u043d\u0434\u0440\u044b<\/em> (Tomas Vondra), \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0441 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438. \u041d\u0430 \u0441\u0446\u0435\u043d\u0443 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0441 USING \u0438 ORDER BY. \u041f\u0440\u0438\u0451\u043c\u043e\u043c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u0443\u043b\u043e\u0432\u043a\u0435 \u0414\u0438\u043f\u0430\u043a\u0430, \u041b\u0443\u043a\u0430\u0441 \u0434\u043e\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 2000 \u0440\u0430\u0437. <\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/820349\/\"><strong>\u041e\u0431\u0437\u043e\u0440 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0445 \u043a\u043e\u043f\u0438\u0439 \u0421\u0423\u0411\u0414 PostgreSQL<\/strong><\/a><\/p>\n<p>\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0430-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430: <em>\u041c\u0438\u0445\u0430\u0438\u043b\u0430 \u0428\u0443\u0440\u0443\u0442\u043e\u0432\u0430<\/em>, <a class=\"mention\" href=\"\/users\/shurutov.\">@shurutov.<\/a>\u041e\u043d \u043d\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b \u043d\u0430 <a href=\"https:\/\/pgconf.ru\">PGConf.Russia<\/a>, \u0432\u0451\u043b \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u044b. \u041d\u043e, \u043a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u044d\u0442\u043e \u0435\u0433\u043e 1-\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f. \u0418 \u043e\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f.<\/p>\n<p>\u041c\u0438\u0445\u0430\u0438\u043b \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0433\u0434\u0435 \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u0430\u043b\u043e\u0447\u043a\u0438 (\u0435\u0441\u0442\u044c\/\u043d\u0435\u0442) \u0434\u043b\u044f 5 \u0442\u0430\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><code>barman<\/code>\u00a0&#8212; \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a \u0434\u0432\u0443\u043c \u0440\u0435\u0436\u0438\u043c\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0420\u041a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0432 (\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0441) \u0421\u0423\u0411\u0414 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0420\u041a.<\/p>\n<ol>\n<li>\n<p>\u0441\u0442\u0430\u0440\u044b\u0439 (\u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 9.0 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0420\u041a \u043d\u0430 \u0433\u043e\u0440\u044f\u0447\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c):\u00a0<code>pg_backup_start ( label text [, fast boolean] )<\/code>\u00a0&amp;&amp; &lt;\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430> &amp;&amp;\u00a0<code>pg_backup_stop<\/code>\u00a0(\u0434\u043e 14-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e:\u00a0<code>pg_start_backup<\/code>\u00a0&#8230;\u00a0<code>pg_stop_backup<\/code>)<\/p>\n<\/li>\n<li>\n<p>\u043d\u043e\u0432\u044b\u0439 (\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 9.0):\u00a0<code>pg_basebackup<\/code><\/p>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<p><code>pg_probackup<\/code>\u00a0&#8212; <strong>\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415!<\/strong>\u00a0\u0432 \u043e\u0431\u0437\u043e\u0440\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0441 \u0433\u0438\u0442\u0445\u0430\u0431\u0430! Postgres Pro Backup Enterprise \u0432 \u043e\u0431\u0437\u043e\u0440\u0435 \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><code>pgbackrest<\/code><\/p>\n<\/li>\n<li>\n<p><code>wal-g<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u0445\u0430\u0438\u043b \u043d\u0435 \u0441\u0442\u0435\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0430\u0436 4 \u0430\u043f\u0434\u0435\u0439\u0442\u0430. \u041a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u043f\u043b\u043e\u0445\u0430\u044f \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f.  <\/p>\n<h2>\u0418\u0418<\/h2>\n<p><a href=\"https:\/\/jkatz05.com\/post\/postgres\/pgvector-performance-150x-speedup\/\"><strong>The 150x pgvector speedup: a year-in-review<\/strong><\/a><\/p>\n<p>\u041b\u0443\u0447\u0448\u0438\u0439, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e pg_vector, <em>\u0414\u0436\u043e\u043d\u0430\u0442\u0430\u043d \u041a\u0430\u0446<\/em> (Jonathan Katz), \u043f\u0438\u0448\u0435\u0442, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u0437\u043e\u0440 \u0437\u0430 \u0433\u043e\u0434, \u043d\u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0438\u043b\u0441\u044f \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u0446\u0435\u043b\u044b\u0445 \u0442\u0440\u0451\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u0431\u0430\u0437 (Postgres \u0442\u0430\u043c \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u0430\u044f \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f <a href=\"https:\/\/github.com\/pgvector\/pgvector\/\">pgvector<\/a>). \u041d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c, \u043d\u0430\u0448\u0451\u043b \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438. \u0420\u0435\u0448\u0438\u043b \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044f, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u044d\u0442\u043e <a href=\"https:\/\/en.wikipedia.org\/wiki\/Precision_and_recall\">recall<\/a>.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u00a0<a href=\"https:\/\/github.com\/erikbern\/ann-benchmarks\">ANN Benchmark<\/a>, \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043b\u0435\u0437\u0442\u044c \u0432 \u043a\u043e\u0434 pgvector. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0432 \u0441\u0442\u0430\u0442\u044c\u0435. \u041e\u043d \u0433\u043e\u043d\u044f\u043b \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0442 0.4.1 (\u0435\u0451 \u0443\u0436\u0435 \u0434\u0430\u0436\u0435 \u043d\u0435\u0442 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435) \u0434\u043e <a href=\"https:\/\/github.com\/pgvector\/pgvector\/releases\/tag\/v0.7.0\">0.7.0<\/a> (\u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u0432\u044b\u0448\u043b\u0430 \u0435\u0449\u0451 <a href=\"https:\/\/github.com\/pgvector\/pgvector\/releases\/tag\/v0.7.1\">0.7.1<\/a>) \u0441 IVFFlat \u0438 \u0441 HNSW. \u0413\u0434\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u043d\u0438\u0435 \u0438 <strong>SIMD<\/strong>-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/p>\n<p>\u041d\u0443 \u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 150 \u0440\u0430\u0437. \u041d\u043e \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u044d\u0442\u043e 150-\u043a\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 0.7.0 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 0.5.0. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u0430\u0441\u0441\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439. \u0412 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0446\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u0442 \u0437\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 <em>\u042d\u043d\u0434\u0440\u044e \u041a\u0435\u0439\u043d\u0430<\/em> (Andrew Kane), \u0430 \u0442\u0430\u043a\u0436\u0435 (\u0437\u0430 \u043d\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435, \u043d\u043e) \u0432\u043a\u043b\u0430\u0434\u044b <em>\u0425\u0435\u0439\u043a\u043a\u0438 \u041b\u0438\u043d\u043d\u0430\u043a\u0430\u043d\u0433\u0430\u0441\u0430<\/em> (Heikki Linnakangas), <em>\u041d\u0430\u0442\u0430\u043d\u0430 \u0411\u043e\u0441\u0441\u0430\u0440\u0442\u0430<\/em>\u00a0(Nathan Bossart),\u00a0<em>\u041f\u0430\u0432\u043b\u0430 \u0411\u043e\u0440\u0438\u0441\u043e\u0432\u0430<\/em> (Pavel Borisov) \u0438 <em>\u0410\u0440\u0434\u0443 \u0410\u0439\u0442\u0435\u043a\u0438\u043d\u0430<\/em> (Arda Aytekin).<\/p>\n<p>\u0427\u0442\u043e \u0436\u0435, \u0442\u043e\u0433\u0434\u0430 \u0441\u043b\u043e\u0432\u043e \u041f\u0430\u0432\u043b\u0443 \u0411\u043e\u0440\u0438\u0441\u043e\u0432\u0443 (\u043d\u044b\u043d\u0435 \u0432 Supabase):<\/p>\n<p><a href=\"https:\/\/supabase.com\/blog\/pgvector-0-7-0\"><strong>What&#8217;s new in pgvector v0.7.0<\/strong><\/a><\/p>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u0442\u0430\u043a\u0438\u0445 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u043a\u0430\u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 (HNSW \u0432 0.5.0), \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u0442, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0432\u0435\u043a\u0442\u043e\u0440\u044b float16 (\u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e 32-\u0431\u0438\u0442\u043d\u044b\u0435);<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0437\u0440\u0435\u0436\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b (sparse vectors, \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043c\u0435\u0441\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0441 \u043c\u043d\u043e\u0433\u0438\u043c\u0438 \u043d\u0443\u043b\u044f\u043c\u0438);<\/p>\n<\/li>\n<li>\n<p>\u0431\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f (bit vectors).<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e\u0432\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p> L1 (<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D1%81%D0%BA%D0%B8%D1%85_%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB%D0%BE%D0%B2\">\u043c\u0430\u043d\u0445\u044d\u0442\u0442\u0435\u043d\u0441\u043a\u0438\u0435<\/a>) \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 <code>&lt;+><\/code> \u0434\u043b\u044f L1;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ru.wikipedia.org\/w\/index.php?title=%D0%A0%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%A5%D1%8D%D0%BC%D0%BC%D0%B8%D0%BD%D0%B3%D0%B0\">\u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0425\u044d\u043c\u043c\u0438\u043d\u0433\u0430<\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/skillfactory\/articles\/566414\/\">\u0416\u0430\u043a\u043a\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/dev.to\/ftisiot\/helping-postgresqlr-professionals-with-ai-assisted-performance-recommendations-27k2\"><strong>Helping PostgreSQL professionals with AI-assisted performance recommendations<\/strong><\/a><\/p>\n<p><em>\u0424\u0440\u0430\u043d\u0447\u0435\u0441\u043a\u043e \u0422\u0438\u0437\u044c\u0451<\/em> (Francesco Tisiot, Aiven) \u0432\u044b\u0437\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u043c\u043e\u0447\u044c. \u0418 Postgres-\u043f\u0440\u043e\u0444\u0438, \u0438 \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438: \u043e\u043d \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 <a href=\"https:\/\/aiven.io\/blog\/aiven-ai-dboptimizer-launch\">Aiven AI Database Optimizer<\/a>. \u042d\u0442\u043e\u0442 \u0441\u043e\u0444\u0442 \u0434\u0430\u0451\u0442 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c \u0438 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0430\u043d\u043d\u0438\u0445 \u043f\u0442\u0430\u0448\u0435\u043a \u043e\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/karuna\/articles\/809305\/\"><strong>\u041f\u0438\u0448\u0435\u043c \u043f\u043e\u0438\u0441\u043a \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 (\u0438\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u043e\u0432) \u0437\u0430 \u043f\u043e\u043b\u0447\u0430\u0441\u0430 \u043d\u0430 Go \u0438 Postgres (pgVector)<\/strong><\/a><\/p>\n<p><em>\u0410\u043d\u0442\u043e\u043d \u041e\u043a\u043e\u043b\u0435\u043b\u043e\u0432 <a class=\"mention\" href=\"\/users\/varanio\">@varanio<\/a>, \u043e\u0442\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u043a\u0430\u043a <\/em>Go-\u0442\u0438\u043c\u043b\u0438\u0434, \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u043a\u0430\u043d\u0430\u043b\u0430 <a href=\"https:\/\/t.me\/crossjoin\">crossjoin<\/a>, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432 \u0431\u043b\u043e\u0433\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Karuna \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e. \u041f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <a href=\"https:\/\/github.com\/sashabaranov\/go-openai\">\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0421\u0430\u0448\u0438 \u0411\u0430\u0440\u0430\u043d\u043e\u0432\u0430<\/a>.<\/p>\n<p><a href=\"https:\/\/github.com\/georgia-tech-db\/pgvector-remote\"><strong>pgvector-remote<\/strong><\/a><\/p>\n<p>\u042d\u0442\u0443 \u0448\u0442\u0443\u043a\u0443 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u0432 Georgia Tech. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043b\u044e\u0441\u044b \u0438 \u043c\u0438\u043d\u0443\u0441\u044b pgvector \u0432 Postgres \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 <a href=\"https:\/\/docs.pinecone.io\/home\">Pinecone<\/a>. \u0410 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0443: \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 pgvector-remote. \u041c\u043e\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Postgres, \u0430 \u0441\u0430\u043c\u0438 \u044d\u043c\u0431\u0435\u043d\u043d\u0438\u043d\u0433\u0438 \u0432 Pinecone (\u0432 \u0441\u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0448\u0438\u0448\u043a\u0435). \u041f\u043e\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u044f\u0437\u043a\u0430 Postgres-Pinecone, \u043d\u043e \u0432 \u043f\u043b\u0430\u043d\u0430\u0445 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0435:  <a href=\"https:\/\/milvus.io\/\">Milvus<\/a> \u0438 \u0435\u0433\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c\u044f.<\/p>\n<p><a href=\"https:\/\/tembo.io\/blog\/operationalizing-vectordbs-on-postgres\"><strong>Operationalizing Vector Databases on Postgres<\/strong><\/a><\/p>\n<p>Tembo \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0438\u0445 \u0441\u0442\u0435\u043a\u043e\u043c \u043d\u0430 <a href=\"https:\/\/cloud.tembo.io\/?referrer=https%3A%2F%2Fpostgresweekly.com%2F&amp;hubspotutk=02a0db08e05ba8586582b42a5f28adbb\">Tembo Cloud<\/a>\u00a0\u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432 <a href=\"https:\/\/github.com\/tembo-io\/pg_vectorize?tab=readme-ov-file#installation\">docker<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 \u0441\u0442\u0430\u0442\u0435\u0439\u043a\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 <code>pg_vectorize,<\/code> \u043d\u043e \u0432 \u00a0<a href=\"https:\/\/tembo.io\/docs\/product\/stacks\/ai\/vectordb\">\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435<\/a>\u00a0\u043a VectorDB \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u0441\u0442\u0435\u043a, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0438 <a href=\"https:\/\/github.com\/pgvector\/pgvector\">pgvector<\/a>. \u0412\u043e\u0442 \u044d\u0442\u043e\u0442 \u0441\u0442\u0435\u043a:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/16\/pgstatstatements\">pg_stat_statements<\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/tembo-io\/pg_vectorize\">pg_vectorize<\/a> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0445 \u0432 Postgres, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f pgvector;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/pgvector\/pgvector\">pgvector<\/a> &#8212; \u043f\u043e\u0438\u0441\u043a \u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/tembo-io\/pgmq\">pgmq<\/a>\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c pg_vectorize\u00a0\u0434\u043b\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439 \u0440\u0430\u0431\u043e\u0442 \u0438 \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/citusdata\/pg_cron\">pg_cron<\/a>\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f pg_vectorize\u00a0\u0434\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 <a href=\"https:\/\/pgt.dev\/\">Trunk<\/a>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0410 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0443 \u0431\u0430\u0437-\u0441\u043e\u0441\u0435\u0434\u0435\u0439?<\/h3>\n<p><a href=\"https:\/\/coinsbench.com\/experimenting-with-vector-databases-chromadb-pinecone-weaviate-and-pgvector-0f35c0356540\"><strong>Experimenting with Vector Databases: Chromadb, Pinecone, Weaviate and Pgvector<\/strong><\/a><\/p>\n<p>\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430: \u043a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430 \u0443 \u043a\u043e\u043b\u043b\u0435\u0433 \u043f\u043e \u0421\u0423\u0411\u0414-\u0446\u0435\u0445\u0443? \u0421\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 <em>\u0412\u0438\u0448\u043d\u043e\u0439 \u0421\u0438\u0432\u0430\u043d\u043e\u043c<\/em> (Vishnu Sivan) \u043e\u0441\u0435\u043d\u044c\u044e \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0433\u043e\u0434\u0430, \u043d\u043e \u0432 \u043d\u0435\u0439 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e \u0448\u0430\u0433\u0430\u043c, \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0441 Python.<\/p>\n<p><a href=\"https:\/\/www.teradata.com\/insights\/ai-and-machine-learning\/large-language-models-meet-teradata-vantage\"><strong>Large Language Models Meet Teradata Vantage<\/strong><\/a><\/p>\n<p><em>\u0427\u0435\u0442\u0430\u043d \u0425\u0438\u0440\u0430\u043f\u0430\u0440\u0430<\/em> (Chetan Hirapara) \u0438\u0437 Teradata \u043f\u0438\u0448\u0435\u0442 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u0430\u0437\u044b <em>TD_VectorDistance<\/em> \u0434\u043b\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0439 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438 (cosine similarity) \u0432\u00a0<em>Teradata Vantage<\/em>, \u0430 \u0434\u043b\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 &#8212;<em>FlagEmbedding<\/em><strong>\u00a0<\/strong>\u043e\u0442 Hugging Face. \u041a\u0443\u0441\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 Python. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0438\u0440\u0435 <strong>Snowflake<\/strong> &#8212; \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0421\u0423\u0411\u0414 \u0441 \u0438\u0434\u0435\u043e\u043b\u043e\u0433\u0438\u0435\u0439 &#8230; \u044d\u044d\u044d &#8230; \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0437\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0412 2020 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u0421\u043d\u0435\u0436\u0438\u043d\u043a\u0438 <em>\u0424\u0440\u044d\u043d\u043a \u0421\u043b\u0443\u0442\u043c\u0430\u043d <\/em>(Frank Slootman) <a href=\"https:\/\/www.datanami.com\/2020\/11\/19\/snowflake-not-what-you-may-think-it-is\/\">\u043f\u0440\u0438\u0437\u043d\u0430\u043b\u0441\u044f<\/a>: \u043c\u044b, \u043c\u043e\u043b, \u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0420\u0421\u0423\u0411\u0414 &#8212; WH \u0441 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 MPP, <em>\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0435<\/em>. \u041d\u0443 \u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 \u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u0438 \u0431\u043b\u043e\u0433\u0430\u0445 \u0434\u043d\u0451\u043c \u0441 \u043e\u0433\u043d\u0451\u043c \u043d\u0435 \u043d\u0430\u0439\u0434\u0451\u0448\u044c \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f SQL &#8212; \u0432\u0441\u0451 \u0434\u0430\u043d\u043d\u044b\u0435-\u0434\u0430\u043d\u043d\u044b\u0435-\u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0418 \u0432\u043e\u0442 \u0424\u0440\u044d\u043d\u043a \u0443\u0436\u0435 \u043d\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u0435\u0442, \u0441 \u0444\u0435\u0432\u0440\u0430\u043b\u044f 2024 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u0435\u0442  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Sridhar_Ramaswamy\"><em>\u0421\u0440\u0438\u0434\u0445\u0430\u0440 \u0420\u0430\u043c\u0430\u0441\u0432\u0430\u043c\u0438<\/em><\/a> (Sridhar Ramaswamy), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u043b <a href=\"https:\/\/techcrunch.com\/2023\/05\/24\/snowflake-acquires-neeva-to-bring-intelligent-search-to-its-cloud-data-management-solution\/\">\u043a\u0443\u043f\u043b\u0435\u043d\u043d\u044b\u043c<\/a> \u0421\u043d\u0435\u0436\u0438\u043d\u043a\u043e\u0439 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u043c Neeva, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0432\u0448\u0438\u043c\u0441\u044f \u043d\u0430 \u043f\u043e\u0438\u0441\u043a\u0435 \u0441 \u0418\u0418. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433, \u043d\u043e \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f <a href=\"https:\/\/docs.snowflake.com\/en\/user-guide\/ui-snowsight-universal-search\">Universal Search<\/a> &#8212; \u0441 \u0418\u0418, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u043e \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u043e\u043d \u0443\u043c\u0435\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438: \u043f\u043e \u0431\u0430\u0437\u0430\u043c \u0438 \u0444\u0430\u0439\u043b\u0430\u043c, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u0430\u043f\u0430\u0447\u0435\u0432\u0441\u043a\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 Iseberg. \u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b, \u0435\u0441\u043b\u0438 \u0431 \u0421\u043d\u0435\u0436\u0438\u043d\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0430 \u0410\u0439\u0441\u0431\u0435\u0440\u0433. \u041d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0435\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e &#8212; \u043a\u0430\u043a <a href=\"https:\/\/www.datanami.com\/2024\/06\/03\/snowflake-embraces-open-data-with-polaris-catalog\/\">Polaris Catalog<\/a>, \u043e \u0447\u0451\u043c \u0434\u0430\u0432\u0435\u0447\u0430 \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043d\u0430 <a href=\"https:\/\/www.snowflake.com\/summit\/save-the-date\/\">Snowflake Data Cloud Summit 2024<\/a>. \u0418 \u0442\u0443\u0442 \u0436\u0435, \u0438 \u0442\u0430\u043c \u0436\u0435: \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f <a href=\"https:\/\/www.immuta.com\/\">Immuta<\/a> \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e <a href=\"https:\/\/www.datanami.com\/this-just-in\/immuta-introduces-granular-data-policy-support-for-snowflake-iceberg-tables\/?utm_source=BigDATAwire+Newsletter&amp;utm_medium=email&amp;utm_campaign=&amp;utm_term=0139D4744801B4T&amp;oly_enc_id=0139D4744801B4T\">Granular Data Policy Support for Snowflake Iceberg Tables<\/a>. \u042d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u043e\u0442\u0440\u0430\u0441\u043b\u0438 <a href=\"https:\/\/www.datanami.com\/2024\/06\/04\/snowflake-gives-cloud-customers-what-they-need-and-want-at-summit-2024\/?utm_source=BigDATAwire+Newsletter&amp;utm_medium=email&amp;utm_campaign=&amp;utm_term=0139D4744801B4T&amp;oly_enc_id=0139D4744801B4T\">\u043f\u043e\u0440\u0430\u0434\u043e\u0432\u0430\u043b\u0438\u0441\u044c<\/a>: \u0445\u0430\u0439\u043f-\u0445\u0430\u0439\u043f\u043e\u043c, \u0430 \u043e \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442.<\/p>\n<p><a href=\"https:\/\/www.datanami.com\/2024\/05\/31\/mistral-ai-unveils-codestral-its-first-genai-model-for-developers\/?utm_source=BigDATAwire+Newsletter&amp;utm_medium=email&amp;utm_campaign=&amp;utm_term=0139D4744801B4T&amp;oly_enc_id=0139D4744801B4T\"><strong>Mistral AI Unveils Codestral, Its First GenAI Model For Developers<\/strong><\/a><\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u0438 \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Mistral, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u0441\u0435\u0433\u043e-\u0442\u043e \u0433\u043e\u0434, \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u043d\u0438 open source. \u041e\u043d\u0438 \u043d\u0435 \u0440\u0435\u043a\u043e\u0440\u0434\u0441\u043c\u0435\u043d\u044b, \u043d\u043e Mixtral 8x7B \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0441\u0442\u044f\u0437\u0430\u043b\u0430\u0441\u044c \u0441 GPT-3.5.<\/p>\n<p>\u0410 29 \u043c\u0430\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c Codestral 22B, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438, \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u0443\u043c\u043e\u043c \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Llama3 70B \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Meta. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 80 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438. \u041c\u043e\u0436\u043d\u043e \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430\u043c. \u041e\u043d\u0430 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0446\u0435\u043b\u0435\u0439, \u043d\u0435\u043b\u044c\u0437\u044f \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f.<\/p>\n<hr\/>\n<p><em>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432\u0441\u0451.<\/em><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/815587\/\"> https:\/\/habr.com\/ru\/articles\/815587\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p><a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-17-beta-1-released-2865\/\"><strong>PostgreSQL: PostgreSQL 17 Beta 1 Released!<\/strong><\/a><\/p>\n<p>\u0412\u044b\u0448\u043b\u0430 \u0431\u0435\u0442\u0430 \u0441 188 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430\u043c\u0438. <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/805675\/\">\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c<\/a>, \u0447\u0442\u043e <em>\u0411\u0440\u044e\u0441 \u041c\u043e\u043c\u0434\u0436\u0430\u043d<\/em> \u043d\u0435\u0434\u0430\u0432\u043d\u043e <a href=\"https:\/\/momjian.us\/main\/blogs\/pgblog\/2024.html#May_9_2024\">\u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u043b<\/a> \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u0438\u0437-\u0437\u0430 \u0435\u0433\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u043a\u043b\u043e\u043d\u0430 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e, \u043c\u043e\u043b, <em>\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u044d\u0442\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u0434\u043b\u044f \u043c\u0435\u043d\u044f.<\/em><\/p>\n<p>\u0412 \u043f\u043e\u044f\u0441\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u043a\u0435 \u043a \u0440\u0435\u043b\u0438\u0437\u0443 \u0442\u043e\u0436\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 <a href=\"https:\/\/www.postgresql.org\/docs\/17\/routine-vacuuming.html\">Vacuum<\/a>. \u0422\u0430\u043c \u043d\u043e\u0432\u0430\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 20% \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0441\u0430\u043c\u043e\u0439 \u043e\u0447\u0438\u0441\u0442\u043a\u0438. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0443\u043d\u043a\u0442 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u043e\u0439 \u0442\u0435\u043c\u044b: \u0432 PostgreSQL 17 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 SIMD-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439, \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 &#8212; \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 (failover control for logical replication), \u0432\u0430\u0436\u043d\u043e\u0435 \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>\u0412 SQL\/JSON \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0430\u044f \u0432\u0435\u0449\u044c &#8212; JSON TABLE, \u044d\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u0438\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>MERGE \u0442\u0435\u043f\u0435\u0440\u044c \u0433\u0438\u0431\u0447\u0435: \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00a0<code>WHEN NOT MATCHED BY SOURCE<\/code> \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043d\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u0438\u0441\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <code>DELETE<\/code>.<\/p>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0440\u043e\u043b\u044c <code>pg_maintain<\/code> \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <code>VACUUM<\/code>,\u00a0<code>ANALYZE<\/code>,\u00a0<code>CLUSTER<\/code>,\u00a0<code>REFRESH MATERIALIZED VIEW<\/code>,\u00a0<code>REINDEX<\/code> \u0438\u00a0<code>LOCK TABLE.<\/code><\/p>\n<p>\u041e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Postgres 17 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\/\u043e\u043a\u0442\u044f\u0431\u0440\u044c \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430.  <\/p>\n<p>\u041e \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u0435, \u043c\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0440\u043e\u043c\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0445 \u0437\u0430\u043c\u0435\u0442\u043e\u043a, \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u043c \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431\u0437\u043e\u0440\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432 <em>\u041f\u0430\u0432\u043b\u0430 \u041b\u0443\u0437\u0430\u043d\u043e\u0432\u0430<\/em>. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0447\u0430\u0441\u0442\u0438 4: <a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970866\">PostgreSQL 17: part 4 or CommitFest 2024-01<\/a>, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 <em>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041c\u0435\u043b\u0435\u0448\u043a\u043e<\/em>. \u0422\u0430\u043a \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>2023-07 <a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970285\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/757028\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2023-09 \u00a0<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970391\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/769598\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2023-11\u00a0<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970508\">ru<\/a>\/<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/782042\/\">en<\/a>,<\/p>\n<\/li>\n<li>\n<p>2024-01 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/804027\/\">ru<\/a>\/<a href=\"https:\/\/postgrespro.com\/blog\/pgsql\/5970866\">en<\/a>.<\/p>\n<p>\u0420\u0443\u0441\u0441\u043a\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c<a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/804027\/\"> \u043d\u0430 \u0445\u0430\u0431\u0440\u0435<\/a>, \u043a\u0430\u043a \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043f\u0438\u0441\u043a\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0442\u044b, \u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0432\u044b\u0448\u043b\u0430 \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f:<\/p>\n<p><a href=\"https:\/\/databaserookies.wordpress.com\/2024\/06\/08\/exploring-postgresql-17-a-developers-guide-to-new-features-part-1-pl-pgsql\/\"><strong>Exploring PostgreSQL 17: A Developer\u2019s Guide to New Features \u2013 Part 1 \u2013 PL\/pgSQL<\/strong><\/a><\/p>\n<p>\u0412 \u043d\u0435\u0439 <em>\u0414\u0438\u043f\u0430\u043a \u041c\u0430\u0445\u0442\u043e<\/em> (Deepak Mahto), \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c: \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f %TYPE \u0438 %ROWTYPE. \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438.<\/p>\n<h2>\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438, \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u044b, \u043c\u0438\u0442\u0430\u043f\u044b \u0438 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f<\/h2>\n<p><a href=\"https:\/\/2024.pgconf.dev\/\"><strong>PGConf.dev 2024<\/strong><\/a><\/p>\n<p>\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u0430 28-31 \u043c\u0430\u044f \u0432 \u0412\u0430\u043d\u043a\u0443\u0432\u0435\u0440\u0435. \u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0434\u0435\u043d\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0438\u0441\u044c 2 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0438.<\/p>\n<ul>\n<li>\n<p>\u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043f\u0430\u0442\u0447\u0435\u0439 \u043d\u0430 <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/224-advanced-patch-feedback-session-invite-only\/\">Advanced Patch Feedback Session<\/a> \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441\u043b\u0443\u0448\u0430\u0442\u044c <em>\u0425\u0435\u0439\u043a\u043a\u0438 \u041b\u0438\u043d\u043d\u0430\u043a\u0430\u043d\u0433\u0430\u0441\u0430<\/em> (Heikki Linnakangas)<em>, \u041c\u0438\u0448\u0435\u043b\u044f \u041f\u0430\u043a\u044c\u0435 <\/em>(Michael Paquier)<em> \u0438 \u0420\u043e\u0431\u0435\u0440\u0442\u0430 \u0425\u0430\u0430\u0441\u0430 <\/em>(Robert Haas)<em>, \u0431\u0435\u0437 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u0435\u0439 &#8212; \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f\u043c;<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/191-extension-ecosystem-summit-registration-required\/\">Extension Ecosystem Summit<\/a> \u0441 <em>\u0414\u044d\u0432\u0438\u0434\u043e\u043c \u041a\u0440\u0438\u0441\u0442\u0435\u043d\u0441\u0435\u043d\u043e\u043c<\/em> (David Christensen<em>), \u0414\u0435\u0432\u0440\u0438\u043c\u043e\u043c \u0413\u0435\u043d\u0434\u044e\u0437\u043e\u043c <\/em>(Devrim G\u00fcnd\u00fcz)<em>, \u0414\u0436\u0435\u0440\u0435\u043c\u0438 \u0428\u043d\u0430\u0439\u0434\u0435\u0440\u043e\u043c <\/em>(Jeremy Schneider)<em>, \u041a\u0438\u0442\u043e\u043c \u0424\u0438\u0441\u043a\u0435 <\/em>(Keith Fiske)<em> \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441 \u0414\u044d\u0432\u0438\u0434\u043e\u043c \u0423\u0438\u043b\u0435\u0440\u043e\u043c <\/em>(David E. Wheeler, \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0441\u043d\u043e\u0432\u0430\u043b PGXN, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 Tembo).<\/p>\n<\/li>\n<\/ul>\n<p>(\u041c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0447\u0438\u043c, \u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441 \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u043b \u0443\u0433\u043e\u043b\u043e\u0447\u0435\u043a \u0437\u0430\u0432\u0435\u0441\u044b \u043d\u0430\u0434 Advanced Patch Feedback Session. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0442\u0435\u043c \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u0443\u044e. \u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u043e\u043f\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 hackers \u0441 \u0441\u0430\u0431\u0436\u0435\u043c <em>[multithreading] &#171;extension compatibility&#187;<\/em>).<\/p>\n<p>(\u041c\u0435\u0436\u0434\u0443-\u043f\u0440\u043e\u0447\u0438\u043c-2: Tembo \u0443\u0436\u0435 \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u043e <a href=\"https:\/\/www.youtube.com\/playlist?list=PL11N188AYb_aT6ulbJfrQJJziWb012jG3\">\u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442<\/a> \u0441 6 <a href=\"https:\/\/justatheory.com\/2024\/05\/mini-summit-six\/\">\u043c\u0438\u043d\u0438-\u0441\u0430\u043c\u043c\u0438\u0442\u0430\u043c\u0438<\/a> \u043f\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c. \u0423 \u0414\u044d\u0432\u0438\u0434\u0430 \u0423\u0438\u043b\u0435\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u043a\u043b\u0430\u0434 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u043d\u0430 <a href=\"https:\/\/www.citusdata.com\/posette\/2024\/schedule\">POSETTE 2024<\/a>: <a href=\"https:\/\/www.citusdata.com\/posette\/2024\/schedule\">State of the Postgres Extension Ecosystem<\/a>.)<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u043f\u0438\u0448\u0435\u0442 <em>\u041f\u0438\u0442\u0435\u0440 \u0410\u0439\u0437\u0435\u043d\u0442\u0440\u0430\u0443\u0442<\/em> (Peter Eisentraut) \u043e\u0431 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 &#8212; <a href=\"https:\/\/peter.eisentraut.org\/blog\/2024\/06\/04\/how-engaging-was-pgconfdev-really\">How engaging was PGConf.dev really?<\/a><\/p>\n<p>&#171;\u041f\u043e\u0440\u0430 \u0443\u0436\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u044d\u0442\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438. \u0418\u0437-\u0437\u0430 \u043d\u0438\u0445 \u0432\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f&#187; &#8212; \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0448\u0443\u0442\u043d\u0438\u043a <em>\u041f\u0438\u0442\u0435\u0440<\/em> \u0448\u0443\u0442\u043d\u0438\u043a\u0430 <em>\u0422\u043e\u043c\u0430\u0448\u0430 \u0412\u043e\u043d\u0434\u0440\u0443<\/em> (Tomas Vondra).<\/p>\n<p>\u041f\u0438\u0442\u0435\u0440 \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 (\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Postgres, \u043a\u043e\u043d\u0435\u0447\u043d\u043e) \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u044b \u0432 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439. \u0418 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f PGConf.dev \u0441\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u0430\u043c\u044b\u0439 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0440\u044b\u0432 \u0437\u0430 20 \u043b\u0435\u0442! \u0412 2015 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0440\u044b\u0432 <em>\u043f\u0435\u0440\u0435\u0434<\/em> <a href=\"https:\/\/2015.pgconf.eu\/\">pgconf.eu<\/a>, \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u044b \u0432 2014 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 2008 \u043d\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0442 \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u043c\u0438, \u0437\u0430\u0442\u043e \u0432 \u043c\u0430\u0435 2008 \u043f\u0430\u0443\u0437\u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0430\u0441\u044c \u0441 <a href=\"https:\/\/www.pgcon.org\/2008\/\">PGCon<\/a> \u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430.<\/p>\n<p>\u041d\u0443 \u0430 <em>\u0420\u043e\u0431\u0435\u0440\u0442 \u041f\u0440\u0438\u043f\u043e\u0434\u043d\u044f\u0432\u0448\u0438\u0439 \u0417\u0430\u0432\u0435\u0441\u0443<\/em> \u043f\u0438\u0448\u0435\u0442 \u0432 \u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u0433\u0435 \u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0432\u043e\u0441\u0442\u043e\u0440\u0436\u0435\u043d\u043d\u043e: \u0432 \u0434\u0432\u0443\u0445 \u043f\u0435\u0440\u0432\u044b\u0445 \u0444\u0440\u0430\u0437\u0430\u0445 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u043e <em>great<\/em>. \u041d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u0420\u043e\u0431\u0435\u0440\u0442 \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043a\u0443\u0441\u043e\u0447\u0435\u043a, \u0430 \u043f\u0440\u044f\u043c\u043e \u0442\u0430\u043a\u0438 \u043e\u0442\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043e\u0433, \u0434\u0430\u0432\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 <a href=\"https:\/\/wiki.postgresql.org\/wiki\/PgCon_2024_Developer_Meeting\">\u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442<\/a>.<\/p>\n<p>\u041a \u044d\u0442\u043e\u0439 \u0436\u0435 \u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438 \u0438 \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e (\u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441 \u043f\u0440\u044f\u043c \u0433\u0435\u0440\u043e\u0439 \u043d\u043e\u043c\u0435\u0440\u0430): <a href=\"https:\/\/rhaas.blogspot.com\/2024\/05\/hacking-on-postgresql-is-really-hard.html\">Hacking on PostgreSQL is Really Hard<\/a>.<\/p>\n<p>&#171;\u041c\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u044f\u0442\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f\u043c, \u043d\u043e \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c. \u041e\u0434\u043d\u0438, \u043c\u043e\u0436\u0435\u0442, \u043f\u043e\u0436\u0430\u043b\u0443\u044e\u0442\u0441\u044f \u043d\u0430 <a href=\"https:\/\/rhaas.blogspot.com\/2023\/12\/praise-criticism-and-dialogue.html\">\u0442\u0438\u043f \u0434\u0438\u0441\u043a\u0443\u0440\u0441\u0430 \u0432 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0430\u0445<\/a>, \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0442\u0443\u044e\u0442, \u0447\u0442\u043e \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u043e\u0432 \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043d\u0451\u043c \u0441 \u043e\u0433\u043d\u0451\u043c, \u0442\u0440\u0435\u0442\u044c\u0438 &#8212; \u0447\u0442\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0435\u0431\u044f \u0437\u0430\u043b\u043e\u0436\u043d\u0438\u043a\u0430\u043c\u0438 <em>\u043a\u0430\u043f\u0440\u0438\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u0435\u0440\u043e\u0432<\/em>. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u043d\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c: \u0445\u043e\u0447\u0443 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435.&#187;<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u0441\u043c\u0443\u0442\u0438\u0442\u044c, \u0420\u043e\u0431\u0435\u0440\u0442 \u0431\u0435\u0440\u0451\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u044b\u0442\u0430: \u043e \u043f\u0430\u0442\u0447\u0430\u0445 \u043f\u043e \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0431\u044d\u043a\u0430\u043f\u0443. \u0418\u0445 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u0434 20, \u0438 \u0441 \u043d\u0438\u043c\u0438 \u043e\u043d (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d) \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u0433\u043e\u0434. \u0418 \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u044b \u043e\u043d \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u044f\u0442\u044c \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u0443: \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e \u0432\u044b\u0440\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u0443\u0437\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0435\u0440\u043e\u0432 &#8212; \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043b\u044e\u0434\u0438 \u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0445 \u0442\u0440\u0443\u0434\u043d\u043e. \u0417\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433.<\/p>\n<p>\u041d\u043e \u043c\u044b \u0437\u0430\u0431\u044b\u043b\u0438 \u043e\u0431 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u0445 \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u0421\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u043e:<\/p>\n<p>\u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u0435\u043d\u044c \u0441\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0430 <em>\u0410\u043b\u0451\u043d\u0430 \u0420\u044b\u0431\u0430\u043a\u0438\u043d\u0430<\/em>, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0432\u0448\u0430\u044f \u0434\u043e\u043a\u043b\u0430\u0434 \u0432\u043c\u0435\u0441\u0442\u0435 <em>\u0410\u043d\u0434\u0440\u0435\u0435\u043c \u041b\u0435\u043f\u0438\u0445\u043e\u0432\u044b\u043c<\/em> (\u043e\u0431\u0430 Postgres Professional), <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/schedule\/session\/147-adaptive-query-optimization-in-postgresql\/\">Adaptive Query Optimization In PostgreSQL<\/a>. \u0415\u0441\u0442\u044c <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/sessions\/session\/147\/slides\/18\/aqo_c%D0%BEpy%204-2%20final.pdf\">PDF<\/a> \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430.<\/p>\n<p><em>\u0410\u043d\u0434\u0440\u0435\u0439 \u0411\u043e\u0440\u043e\u0434\u0438\u043d<\/em> \u0438\u0437 \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0434\u043e\u043a\u043b\u0430\u0434 Tricks From In-Memeory Databases. <a href=\"https:\/\/www.pgevents.ca\/events\/pgconfdev2024\/sessions\/session\/119\/slides\/20\/PGConf2024-Borodin-Mem-Tricks_v1.pdf\">\u0412\u043e\u0442 \u0441\u043b\u0430\u0439\u0434\u044b<\/a>.<\/p>\n<h4>\u041d\u043e\u0432\u044b\u0439 \u0436\u0430\u043d\u0440: \u043f\u0440\u0435\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442<\/h4>\n<p>\u041e\u0442\u0433\u043e\u043b\u043e\u0441\u043a\u0438 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0435\u043c\u044b &#8212; \u0435\u0441\u043b\u0438 \u043d\u0435 \u043a\u0440\u0438\u0437\u0438\u0441\u0430, \u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0442\u0440\u0435\u0432\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u0430 <a href=\"https:\/\/highload.ru\/spb\/2024\/\">Saint HighLoad++ 2024<\/a> \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u043e\u0440\u043a\u0448\u043e\u043f <a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/12613\">Postgres Pre-Commitfest Party<\/a>. \u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u0430 <em>\u0410\u043d\u0434\u0440\u0435\u044f \u0411\u043e\u0440\u043e\u0434\u0438\u043d\u0430<\/em> (Yandex Cloud) \u043a\u0430\u043a \u043f\u0443\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 <a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/805675\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435<\/a>. \u0410\u043d\u0434\u0440\u0435\u0439 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0433\u0440\u044f\u0434\u0443\u0449\u0438\u0435 \u043f\u0430\u0442\u0447\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043d\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <a href=\"https:\/\/commitfest.postgresql.org\/\">\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432<\/a>. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c Highload++ \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0438\u0434\u0435\u044f, \u0430 \u0432 Postgres Professional \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0438, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 <a href=\"https:\/\/highload.ru\/spb\/2024\/authors\/482\"><em>\u041e\u043b\u0435\u0433 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432<\/em><\/a> (Major Contributor) \u0438 <a href=\"https:\/\/highload.ru\/spb\/2024\/authors\/1770\"><em>\u0424\u0451\u0434\u043e\u0440 \u0421\u0438\u0433\u0430\u0435\u0432<\/em><\/a> (Major Contributor \u0438 FreeBSD Contributor), \u043b\u044e\u0434\u0438 \u043e\u043f\u044b\u0442\u043d\u044b\u0435.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u043c\u0435\u044e\u0449\u0430\u044f\u0441\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432 \u0440\u0435\u0448\u0430\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u044d\u0442\u043e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 <em>\u0440\u0435\u0432\u044c\u044e\u0435\u0440\u0430<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u043f\u0430\u0442\u0447 \u0438 \u043f\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435. \u0412\u043e\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u041f\u0440\u0435\u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442 \u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c, \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0430\u0442\u044c <a href=\"https:\/\/forms.yandex.ru\/u\/6634e043c417f3cae70775a6\/\">\u0437\u0430\u044f\u0432\u043a\u0443<\/a>. \u0420\u0435\u0447\u044c \u0438\u0434\u0451\u0442 \u043e \u043f\u0430\u0442\u0447\u0430\u0445 \u0432 18-\u044e (!) \u0432\u0435\u0440\u0441\u0438\u044e Postgres. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043f\u0438\u0448\u0443\u0442:<\/p>\n<p><em>\u0412\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u043e \u0438\u0437\u00a0\u0432\u0435\u0440\u0441\u0438\u0438\u00a017, \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0451 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f <\/em><a href=\"https:\/\/commitfest.postgresql.org\/48\/\"><em>\u0434\u043e\u00a0\u0438\u044e\u043b\u044f<\/em><\/a><em>. \u0412\u00a0\u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u0430, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u0430\u0442\u0447\u0435\u0439 \u0438\u00a0\u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u043e\u00a0\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0441\u0440\u0435\u0434\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u043e\u0432 \u0441\u0432\u043e\u0439 \u043f\u0430\u0442\u0447, \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0439 feedback \u043e\u0442\u00a0\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0441\u043e\u0431\u0440\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u043d\u0430\u00a0StHL. \u0415\u0441\u043b\u0438 \u0432\u044b\u00a0\u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u0440\u0435\u0432\u044c\u044e\u0435\u0440\u0430\u00a0\u2014 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c\u0442\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 (\u043d\u0430\u00a02-3\u00a0\u043c\u0438\u043d\u0443\u0442\u044b) \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e\u00a0\u0441\u0432\u043e\u0451\u043c \u043f\u0430\u0442\u0447\u0435.<\/em><\/p>\n<p>\u041d\u0443 \u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u044b:<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/11942\">\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e PostgreSQL \u043d\u0435 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438<\/a> &#8212; \u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 SPQR, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL. <em>\u0414\u0435\u043d\u0438\u0441 \u0412\u043e\u043b\u043a\u043e\u0432<\/em>, Yandex Cloud.<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/12106\">\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0421\u0425\u0414: \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u044d\u0448\u0435\u0439 \u0432 Active-Active-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435<\/a> &#8212; \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0430\u0441\u0442\u0435\u0440, \u043d\u043e &#171;\u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0439&#187;. <em>\u041c\u0438\u0445\u0430\u0438\u043b \u041c\u043e\u0442\u044b\u043b\u0435\u043d\u043e\u043a, <\/em>YADRO.<\/p>\n<p><a href=\"https:\/\/highload.ru\/spb\/2024\/abstracts\/11907\">\u041c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u0434\u0430, \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430: \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c SQLC \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0411\u0414<\/a> &#8212; \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430 Go \u0441 PostgreSQL. <em>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439, <\/em>Uzum Tezkor (\u0443\u0437\u0431\u0435\u043a\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0440\u0442\u0430\u043f).<\/p>\n<p><a href=\"https:\/\/pgconf.ru\/SPb-2024-10\"><strong>PGConf.\u0421\u041f\u0431 2024<\/strong><\/a><\/p>\n<p>\u041f\u0440\u043e\u0439\u0434\u0435\u0442 1 \u043e\u043a\u0442\u044f\u0431\u0440\u044f. \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f <a href=\"https:\/\/pgconf.ru\/login?go=\/account\/participation\/SPb-2024-10\">\u043e\u0442\u043a\u0440\u044b\u0442\u0430<\/a>, \u043f\u0440\u0438\u0451\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 <a href=\"https:\/\/pgconf.ru\/login?go=\/account\/speaker\/SPb-2024-10\">\u0442\u043e\u0436\u0435<\/a>. \u0414\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u0430\u043c \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u044e\u0442 \u0442\u0440\u0430\u043d\u0441\u0444\u0435\u0440 \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u0447\u0435\u0441\u0442\u044c \u0433\u0440\u044f\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0438 \u0434\u0435\u043b\u044f\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439 \u0441 PGConf.\u0421\u041f\u0431 2023, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 \u0442\u043e\u043b\u044c\u043a\u043e <a href=\"https:\/\/pgconf.ru\/talk\/1589499\">\u0447\u0435\u0440\u0435\u0437 \u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u0430\u0431\u0438\u043d\u0435\u0442<\/a>. \u041d\u0430\u0447\u0430\u043b\u0438 \u0432\u043e\u0442 \u0441 \u044d\u0442\u043e\u0433\u043e:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=QS0PGFCLEII\">\u0424\u0435\u043d\u0441\u0438\u043d\u0433 \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e&#8230;<\/a> &#8212; \u044d\u0442\u043e \u0434\u043e\u043a\u043b\u0430\u0434 <em>\u0418\u0433\u043e\u0440\u044f \u041a\u043e\u0441\u0435\u043d\u043a\u043e\u0432\u0430<\/em> (Postgres Professional). \u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442\u044b: <a href=\"https:\/\/www.youtube.com\/watch?v=rxYDN2hQZrY&amp;list=PLaFqU3KCWw6KcfljIbX6pxgwhsGuuXgeA\">1-\u0439<\/a> \u0434\u0435\u043d\u044c \u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=I7FIEljDAQk&amp;list=PLaFqU3KCWw6I2a3jA-Gkg9xA--pO8Zir5\">2-\u0439<\/a>.<\/p>\n<h2>\u041e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u044b, \u0441\u043e\u0441\u0442\u044f\u0437\u0430\u043d\u0438\u044f<\/h2>\n<p><a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0\"><strong>XV \u041c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u0430\u044f \u043e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u0430 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u00abIT\u2060-\u2060\u041f\u043b\u0430\u043d\u0435\u0442\u0430 2024\u00bb<\/strong><\/a><\/p>\n<p>\u0422\u0430\u043a \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u0438\u0434\u0435\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 <em>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/em>, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0432 Postgres Professional. \u0421\u0430\u043c \u0434\u043e\u043a\u043b\u0430\u0434 \u0415\u0433\u043e\u0440\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0?si=_ZGArQ0-cPQy4ItJ&amp;t=117\"><strong>\u041d\u0430\u0437\u0430\u0434 \u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043c. \u0414\u043e\u043b\u0436\u043d\u044b \u043b\u0438 \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c<\/strong><\/a>.<\/p>\n<p>\u0412\u044b \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044c, \u043d\u043e \u0434\u0430, \u0434\u043e\u043b\u0436\u043d\u044b \ud83d\ude42 \u041d\u0435 \u043f\u0443\u0433\u0430\u0439\u0442\u0435\u0441\u044c \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u043e\u043b\u0438\u043a\u0430 (\u0431\u0435\u0437 \u0434\u0435\u0441\u044f\u0442\u0438 \u043c\u0438\u043d\u0443\u0442 \u0442\u0440\u0438 \u0447\u0430\u0441\u0430): \u0415\u0433\u043e\u0440 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043c\u0438\u043d\u0443\u0442 25, \u043f\u043e\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434 <em>\u0418\u0433\u043e\u0440\u044f \u0421\u044b\u0447\u0451\u0432\u0430<\/em> \u0438\u0437 \u0421\u0431\u0435\u0440\u0442\u0435\u0445\u0430, \u0434\u0430\u043b\u0435\u0435 \u0434\u043e\u043a\u043b\u0430\u0434 \u043f\u043e 1\u0421 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 <a href=\"https:\/\/www.youtube.com\/live\/V9V7uVMF3Q0?si=HG2ZjvMQEaeP87vM&amp;t=7236\">\u0434\u043e\u043a\u043b\u0430\u0434<\/a> \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0443 <a href=\"https:\/\/www.xn--d1aipdhcs.xn--p1ai\/\">\u0420\u0443\u0434\u0438\u0440\u043e\u043d<\/a> \u043e\u0442 \u0410\u043a\u0432\u0430\u0440\u0438\u0443\u0441\u0430.<\/p>\n<p>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0432\u0437\u044f\u0442\u043e \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/www.joelonsoftware.com\/2001\/12\/11\/back-to-basics\/\">Back to Basics<\/a> <em>\u0414\u0436\u043e\u044d\u043b\u0430 \u0421\u043f\u043e\u043b\u044c\u0441\u043a\u0438<\/em> (<a href=\"https:\/\/en.m.wikipedia.org\/wiki\/Joel_Spolsky\">Joel Spolsky<\/a>), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Trello\">Trello<\/a>, \u0441\u043e\u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c Fog Creek \u0438 Stack Overflow. \u041d\u043e \u0415\u0433\u043e\u0440 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u044c\u044e &#8212; \u043e \u0417\u0430\u043a\u043e\u043d\u0435 \u0434\u044b\u0440\u044f\u0432\u044b\u0445 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439, <a href=\"https:\/\/www.joelonsoftware.com\/2002\/11\/11\/the-law-of-leaky-abstractions\/\">The Law of Leaky Abstractions<\/a>, \u0442\u043e\u0436\u0435 \u0432 \u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0435 <a href=\"https:\/\/www.joelonsoftware.com\/\">Joel on Software<\/a>. \u0412\u0441\u0435 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0434\u044b\u0440\u044f\u0432\u044b, \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0441\u044f \u0415\u0433\u043e\u0440 \u0441 \u0414\u0436\u043e\u044d\u043b\u043e\u043c. \u041f\u0440\u043e\u0432\u0430\u043b\u0438\u0442\u044c\u0441\u044f \u0432 \u0442\u0430\u043a\u0443\u044e \u0434\u044b\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u041c\u043d\u043e\u0433\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0415\u0433\u043e\u0440 \u0438\u043c\u0435\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u044f\u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0438 \u043a \u0442\u0435\u043c\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0438\u0434\u0435\u043e. \u0412\u043e\u0442 \u0435\u0433\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u044f\u044f \u0441\u0442\u0430\u0442\u044c\u044f:<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/808211\/\"><strong>\u00abIT-\u041f\u043b\u0430\u043d\u0435\u0442\u0430 2024\u00bb: \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e PostgreSQL<\/strong><\/a><\/p>\n<p>1-\u0439 \u044d\u0442\u0430\u043f &#8212; \u0437\u0430\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0435\u0441\u0442 \u043f\u043e PostgreSQL, \u0438\u0437 \u043f\u043e\u0447\u0442\u0438 3000 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043e\u0442\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 200. \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b <em>\u0415\u0432\u0433\u0435\u043d\u0438\u0435\u043c \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u044b\u043c<\/em>.<\/p>\n<p>2-\u0439 \u044d\u0442\u0430\u043f \u2014 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043e\u0447\u043d\u044b\u0439. \u0417\u0434\u0435\u0441\u044c \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043d\u0430\u0434 \u043f\u044f\u0442\u044c\u044e \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 <em>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/em>. \u0418\u0445 \u043e\u043d \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p><a href=\"https:\/\/it-planet.braim.org\/news\/2024_post_final.html\">\u0424\u0438\u043d\u0430\u043b<\/a> (3-\u0439 \u044d\u0442\u0430\u043f) \u041e\u043b\u0438\u043c\u043f\u0438\u0430\u0434\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0447\u043d\u043e \u0432 \u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u044c\u0441\u043a\u0435. \u0412\u043e\u0442 <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1JPE7ML5gzKLyxNksfM8mKnuPohUmwbQzGVDgXV2QxnA\/edit#gid=1196081849\">\u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0438<\/a>, \u043d\u043e\u043c\u0438\u043d\u0430\u0446\u0438\u0439 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e. \u0412 \u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u0435 PostgreSQL \u044d\u0442\u043e:<\/p>\n<ol>\n<li>\n<p><em>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0443\u0445\u043e\u0442\u0438\u043d\u0430<\/em> (\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0441\u043a\u0438\u0439 \u043f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u041f\u0435\u0442\u0440\u0430 \u0412\u0435\u043b\u0438\u043a\u043e\u0433\u043e),<\/p>\n<\/li>\n<li>\n<p><em>\u042f\u043d \u0421\u0435\u043d\u0438\u043d<\/em> ( \u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442) \u0438<\/p>\n<\/li>\n<li>\n<p><em>\u0412\u0443 \u041d\u0430\u043c \u0425\u043e\u0430\u0439<\/em> (\u043e\u043f\u044f\u0442\u044c \u0421\u041f\u0431 \u041f\u043e\u043b\u0438\u0442\u0435\u0445).<\/p>\n<\/li>\n<\/ol>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 3-\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/postgrespro\/articles\/820445\/\"><strong>UPD: \u0417\u0430\u0434\u0430\u0447\u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043f\u043e PostgreSQL<\/strong><\/a><\/p>\n<p>\u041d\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0430 \u0437\u0430\u0434\u0430\u0447\u0430 &#8212; \u043f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c \u0441\u0435\u0431\u044f \u0415\u0433\u043e\u0440. \u041e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0430, \u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c SQL-\u0437\u0430\u043f\u0440\u043e\u0441, \u0438\u0433\u0440\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u0438-\u043d\u043e\u043b\u0438\u043a\u0438 \u00ab\u043f\u044f\u0442\u044c \u0432 \u0440\u044f\u0434\u00bb.<\/p>\n<p>\u041d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0442\u0430\u043a\u0438\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0432\u0441\u0435 \u043a\u043e\u0433\u0434\u0430-\u0442\u043e \u0438\u0433\u0440\u0430\u043b\u0438 &#8212; \u043d\u0435 \u043d\u0430 &#171;\u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439&#187; \u0434\u043e\u0441\u043a\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043b\u0438\u0441\u0442\u043a\u0435 \u043a\u043b\u0435\u0442\u0447\u0430\u0442\u043e\u0439 \u0431\u0443\u043c\u0430\u0433\u0438. \u0412 \u0437\u0430\u0434\u0430\u0447\u0435 \u043f\u043e\u043b\u0435 19&#215;19. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437\u00a0<em>\u043e\u0434\u043d\u043e\u0433\u043e SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/em>.<\/p>\n<p>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u043e\u0438\u0441\u043a\u0430\u0442\u0435\u043b\u044f\u043c \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043e\u043e\u0440\u0443\u0434\u0438\u043b <em>\u0418\u043b\u044c\u044f \u0411\u0430\u0448\u0442\u0430\u043d\u043e\u0432,<\/em> \u0432 \u043d\u0451\u043c<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-379727","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379727","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=379727"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379727\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=379727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=379727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=379727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}