{"id":329251,"date":"2022-02-08T03:00:27","date_gmt":"2022-02-08T03:00:27","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=329251"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=329251","title":{"rendered":"<span>Postgresso \u21161 \u0437\u0430 2022 (38)<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/n0\/x_\/ki\/n0x_kibvjyuji8uvnd3znkblpus.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/n0\/x_\/ki\/n0x_kibvjyuji8uvnd3znkblpus.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  <\/p>\n<h2>\u042d\u043a\u0441\u0442\u0440\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: PGConf.Russia \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0442\u0441\u044f!<\/h2>\n<p>  <i>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u0412\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 <b><a href=\"https:\/\/pgconf.ru\">PGConf.Russia 2022<\/a><\/b>, \u043f\u043e\u043f\u0430\u043b\u0430 \u043f\u043e\u0434 \u043f\u0440\u0438\u043a\u0430\u0437 \u043e \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0443 \u0438 \u0438\u043d\u044b\u0435 \u0434\u0430\u0442\u044b \u2014 \u043a\u043e\u043d\u0435\u0446 \u043c\u0430\u0440\u0442\u0430 \u0438\u043b\u0438 \u043d\u0430\u0447\u0430\u043b\u043e \u0430\u043f\u0440\u0435\u043b\u044f. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b PGConf.Russia 2022 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.<\/i><\/p>\n<p>  \u041d\u043e \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0440\u0430\u0441\u0442\u043e\u0440\u043e\u043f\u043d\u044b\u0445: <i><b>\u043f\u0440\u0438\u0435\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432<\/b> \u043f\u0440\u043e\u0434\u043b\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e 20 \u0444\u0435\u0432\u0440\u0430\u043b\u044f.<\/i><\/p>\n<p>  \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u043e\u0444\u0444\u043b\u0430\u0439\u043d \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 45 \u0438\u043b\u0438 22 \u043c\u0438\u043d\u0443\u0442\u044b \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 90 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0436\u0438\u0432\u044b\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0439 (Live coding).<\/p>\n<p>  \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/pgconf.ru\/2022\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u043c\u044b:<\/p>\n<ul>\n<li>PostgreSQL \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u043d\u0435\u043c \u043a\u0440\u0430\u0435: \u0432\u044b\u0441\u043e\u043a\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0411\u0414, \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c;<\/li>\n<li>\u043d\u043e\u0432\u043e\u0435 \u0432 PostgreSQL \u0438 \u0432\u043e\u043a\u0440\u0443\u0433: \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 PostgreSQL \u0438 \u0435\u0433\u043e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b;<\/li>\n<li>PostgreSQL \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f, \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f;<\/li>\n<li>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 PostgreSQL \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 1\u0421;<\/li>\n<li>PostgreSQL \u0432 \u0433\u0435\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 (GIS).<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>\u0414\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438<\/h2>\n<p>  <b><a href=\"https:\/\/www.highload.ru\/foundation\/2022\">HighLoad++<\/a><\/b><\/p>\n<p>  \u0414\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u043e\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/www.highload.ru\/foundation\/2022\/location\">\u041a\u0440\u043e\u043a\u0443\u0441-\u042d\u043a\u0441\u043f\u043e<\/a> 17-18 \u043c\u0430\u0440\u0442\u0430. \u0412\u043e\u0442 <a href=\"https:\/\/www.highload.ru\/foundation\/2022\/schedule\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/www.postgresql.eu\/events\/pgdayparis2022\/\">pgDay Paris 2022<\/a><\/b><br \/>  <a name=\"habracut\"><\/a><br \/>  \u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 <a href=\"https:\/\/www.postgresql.eu\/events\/pgdayparis2022\/schedule\/\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/a> pgDay Paris 2022. \u0412\u043e\u0441\u0435\u043c\u044c \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432, \u0432\u0441\u0435 \u0432 \u043e\u0434\u0438\u043d \u043f\u043e\u0442\u043e\u043a. \u0423\u0447\u0430\u0441\u0442\u0432\u0443\u044e\u0442 <i>\u0411\u0440\u044e\u0441 \u041c\u043e\u043c\u0434\u0436\u0430\u043d<\/i> (Bruce Momjian), <i>\u041c\u0430\u0433\u043d\u0443\u0441 \u0425\u0430\u0433\u0430\u043d\u0434\u0435\u0440<\/i> (Magnus Hagander) \u0438 \u0434\u0440\u0443\u0433\u0438\u0435. \u0421\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0438 \u0431\u0435\u0437\u0440\u0430\u0431\u043e\u0442\u043d\u044b\u0445 (\u0441\u043e \u0441\u043f\u0440\u0430\u0432\u043a\u043e\u0439) \u043f\u043e 50 \u044e\u0440\u043e, \u0441 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u0435\u0439 \u043f\u043e 150. <a href=\"https:\/\/2022.pgday.paris\/registration\/\">\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/a> \u0437\u0434\u0435\u0441\u044c.<\/p>\n<p>  <b><a href=\"https:\/\/2022.pgconf.de\/\">PGConf.de 2022<\/a><\/b><\/p>\n<p>  \u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f 13-\u0433\u043e \u043c\u0430\u044f \u0432 \u041b\u0435\u0439\u043f\u0446\u0438\u0433\u0435 \u0432 \u043e\u0442\u0435\u043b\u0435 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u0433\u043e\u0440\u043e\u0434\u0430, \u043a\u0430\u043a \u0438 \u0432 2019-\u043c. \u0417\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c <a href=\"http:\/\/www.postgresql.eu\/events\/pgconfde2022\/callforpapers\/\">\u0441\u044e\u0434\u0430<\/a>.<\/p>\n<h2>\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  \u0412\u043e\u0442 \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0442\u0430\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0435! <b><a href=\"https:\/\/postgrespro.ru\/education\/books\/internals\">PostgreSQL \u0438\u0437\u043d\u0443\u0442\u0440\u0438<\/a><\/b> \u2014 \u0432 \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 <a href=\"https:\/\/dmkpress.com\/\">\u0414\u041c\u041a \u041f\u0440\u0435\u0441\u0441<\/a> \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043a\u043d\u0438\u0436\u043a\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u0430 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f Postgres Professional <i>\u0415\u0433\u043e\u0440\u0430 \u0420\u043e\u0433\u043e\u0432\u0430<\/i>. \u0421\u0435\u0439\u0447\u0430\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 <a href=\"https:\/\/edu.postgrespro.ru\/postgresql_internals-14.pdf\">pdf-\u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435<\/a>, \u0430 \u043d\u0430 <a href=\"https:\/\/pgconf.ru\/2022\">PGConf.Russia<\/a> \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0443\u0436\u0435 \u0432 \u0431\u0443\u043c\u0430\u0436\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435. \u0410 \u0432\u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 <a href=\"https:\/\/dmkpress.com\/catalog\/computer\/databases\/978-5-93700-122-1\/\">\u0437\u0430\u043a\u0430\u0437\u0430<\/a> \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/rk\/3t\/tq\/rk3ttqrffvge7bo6kgc85qefceq.jpeg\" height=\"382\" width=\"267\" data-src=\"https:\/\/habrastorage.org\/webt\/rk\/3t\/tq\/rk3ttqrffvge7bo6kgc85qefceq.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  <b><a href=\"https:\/\/postgrespro.ru\/education\/books\/introbook\">Postgres: \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e<\/a><\/b><\/p>\n<p>  \u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u00ab\u041c\u0430\u043b\u044e\u0442\u043a\u0438\u00bb. PDF \u0435\u0441\u0442\u044c <a href=\"https:\/\/edu.postgrespro.ru\/introbook_v8.pdf\">\u043d\u0430 \u0441\u0430\u0439\u0442\u0435<\/a> Postgres Professional. \u0412 \u043d\u0435\u0439:<\/p>\n<ul>\n<li>\u043e\u0442\u0440\u0430\u0436\u0435\u043d\u044b \u043d\u043e\u0432\u0438\u043d\u043a\u0438 PostgreSQL \u0432\u0435\u0440\u0441\u0438\u0438 14;<\/li>\n<li>\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u0432\u0435\u0436\u0435\u0432\u044b\u0448\u0435\u0434\u0448\u0435\u0439 \u043a\u043d\u0438\u0433\u0435 \u00abPostgreSQL \u0438\u0437\u043d\u0443\u0442\u0440\u0438\u00bb;<\/li>\n<li>\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0438 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0440\u0430\u043d\u0435\u0435 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0435, \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u0430 \u0446\u0432\u0435\u0442\u043d\u044b\u0435;<\/li>\n<li>\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0434\u0438\u0437\u0430\u0439\u043d \u043e\u0431\u043b\u043e\u0436\u043a\u0438, \u043a\u043d\u0438\u0433\u0430 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0430 \u0432 \u0441\u0442\u0438\u043b\u0435 \u0438 \u0446\u0432\u0435\u0442\u0430\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438.<\/li>\n<\/ul>\n<p>  \u041a\u043d\u0438\u0436\u043a\u0443 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 <a href=\"https:\/\/pgconf.ru\/\">PGConf.Russia 2022<\/a><\/p>\n<p>  <b><a href=\"https:\/\/wildberries-org.timepad.ru\/event\/1911966\/\">WB TechTalks: \u00abPostgreSQL: \u043c\u0435\u0436\u0434\u0443 14.2 \u0438 15devel\u00bb<\/a><\/b><\/p>\n<p>  15 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u0432 19:00 <a href=\"https:\/\/wildberries-org.timepad.ru\/event\/1911966\/\">\u0432 \u043e\u0444\u0438\u0441\u0435 Wildberries<\/a> \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 PostgreSQL \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 TechTalks. \u0420\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 <i>\u041f\u0430\u0432\u0435\u043b \u041b\u0443\u0437\u0430\u043d\u043e\u0432<\/i> \u2014 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043e\u0442\u0434\u0435\u043b\u0430 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Postgres Professional. \u041f\u0430\u0432\u0435\u043b \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0438\u0448\u0435\u0442 \u043e\u0431\u0437\u043e\u0440\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u0444\u0435\u0441\u0442\u043e\u0432, <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/596567\/\">\u0441\u0441\u044b\u043b\u043a\u0438<\/a> \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0432\u0438\u0434\u0438\u0442\u0435 \u0432 \u041f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0441\u043e. \u041e\u043d \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432 14-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0442\u0435\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u0435\u0451, \u0430 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u0418 \u043e 15-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0442\u043e\u0436\u0435: \u0435\u0451 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c.<\/p>\n<p>  \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f <b><a href=\"https:\/\/wildberries-org.timepad.ru\/event\/1911966\/\">\u0437\u0434\u0435\u0441\u044c<\/a><\/b>. \u0410\u043d\u043e\u043d\u0441\u044b \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439 WB Devs \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u0435: <a href=\"https:\/\/t.me\/wbdevs\">t.me\/wbdevs<\/a><\/p>\n<h2>\u0418\u0442\u043e\u0433\u0438 2021<\/h2>\n<p>  \u0418\u0445 \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u0438\u0442\u044c, \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u041d\u043e\u0432\u043e\u0433\u043e \u0413\u043e\u0434\u0430, \u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0435 \u043c\u043e\u0433\u0443\u0442. \u0418 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e: \u0435\u0441\u0442\u044c \u0432\u0435\u0441\u044c\u043c\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 <i>\u042d\u043d\u0434\u0438 \u041f\u0430\u0432\u043b\u043e<\/i> (Andy Pavlo, OtterTune):<\/p>\n<p>  <b><a href=\"https:\/\/ottertune.com\/blog\/2021-databases-retrospective\/\">Databases in 2021: A Year in Review<\/a><\/b><\/p>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0442\u0430\u043b\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c Postgres \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u2014 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u042d\u043d\u0434\u0438 \u041f\u0430\u0432\u043b\u043e. \u0423\u043f\u043e\u043c\u0438\u043d\u0430\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c, \u043e\u043d \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0435\u0451 \u043d\u0430 \u0442\u0430\u043a\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435:<\/p>\n<ul>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u0430 PostgreSQL SQL dialect (\u043a\u0430\u043a \u0443 <a href=\"https:\/\/news.ycombinator.com\/item?id=24531606\">DuckDB<\/a>);<\/li>\n<li>\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 PostgreSQL (\u043a\u0430\u043a \u0443 <a href=\"https:\/\/questdb.io\/docs\/reference\/api\/postgres\/\">QuestDB<\/a>, <a href=\"https:\/\/databasearchitects.blogspot.com\/2015\/04\/using-hyper-with-postgresql-drivers.html\">HyPer<\/a>);<\/li>\n<li>\u0432\u0441\u0435\u0433\u043e \u0444\u0440\u043e\u043d\u0442-\u044d\u043d\u0434\u0430 (\u043a\u0430\u043a \u0443 <a href=\"https:\/\/aws.amazon.com\/ru\/blogs\/database\/introducing-the-aurora-storage-engine\/\">Amazon Aurora<\/a>, <a href=\"https:\/\/docs.yugabyte.com\/latest\/api\/ysql\/\">YugaByte<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Yellowbrick_Data\">Yellowbrick)<\/a>.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u0418\u0433\u0440\u043e\u043a\u0438, \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u042d\u043d\u0434\u0438, \u2014 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 Google <a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/cloud-spanner-postgresql\/\">\u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b<\/a> \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 PostgreSQL \u0432 Cloud Spanner. \u0422\u043e\u0433\u0434\u0430 \u0436\u0435 Amazon <a href=\"https:\/\/aws.amazon.com\/ru\/about-aws\/whats-new\/2021\/10\/babelfish-aurora-postgresql-now-generally-available\/\">\u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b<\/a> Babelfish, \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u044e\u0449\u0443\u044e \u0437\u0430\u043f\u0440\u043e\u0441\u044b SQL Server \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a Aurora PostgreSQL.<\/p>\n<p>  \u041d\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043e\u0431\u0437\u043e\u0440 \u043d\u0435 \u043e PostgreSQL, \u0430 \u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0431\u0430\u0437\u0430\u0445. \u0412 \u043d\u0451\u043c \u043e\u0441\u0442\u0440\u043e\u0441\u044e\u0436\u0435\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b: \u0441\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430\u0445, \u0421\u0423\u0411\u0414 \u0438 \u0411\u043e\u043b\u044c\u0448\u0438\u0435 (\u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435) \u0434\u0435\u043d\u044c\u0433\u0438, \u0437\u0430\u0443\u043f\u043e\u043a\u043e\u0439\u043d\u0430\u044f, \u0432\u0437\u043b\u0451\u0442\u044b \u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u044f <i>\u041b\u0430\u0440\u0440\u0438 \u042d\u043b\u043b\u0438\u0441\u043e\u043d\u0430<\/i>.<\/p>\n<p>  \u0427\u0442\u043e \u0434\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u042d\u043d\u0434\u0438 \u041f\u0430\u0432\u043b\u043e, \u0442\u043e \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442<br \/>  <b><a href=\"https:\/\/dbdb.io\/\">\u0411\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/b>.<\/p>\n<p>  \u0410 \u043d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u043e\u043d \u043f\u0440\u0438\u0432\u043b\u0451\u043a \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0438\u0441\u0430\u043b \u043e\u0431 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 (\u0441\u0430\u043c\u043e\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0449\u0438\u0445\u0441\u044f) \u0431\u0430\u0437\u0430\u0445:<\/p>\n<p>  <b><a href=\"http:\/\/www.cs.cmu.edu\/~.\/pavlo\/blog\/2018\/04\/what-is-a-self-driving-database-management-system.html\">What is a Self-Driving Database Management System?<\/a><\/b><\/p>\n<p>  \u0418 \u044d\u0442\u043e \u043d\u0435\u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e: \u0441\u0430\u043c \u043e\u043d \u0441\u043e\u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0412\u044b\u0434\u0440\u043e\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u00bb \u2014 OtterTune, \u0433\u0434\u0435 \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u043e\u0441\u0442\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u044b\u0434\u0440\u044b \u2014 \u0441\u043c. \u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <a href=\"https:\/\/ottertune.com\/about-us\/\">\u041d\u0410\u0428\u0410 \u041a\u041e\u041c\u0410\u041d\u0414\u0410<\/a>: <\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/uv\/zu\/qc\/uvzuqc1lfcfp_gzcgnskkjvlnsg.jpeg\" height=\"249\" width=\"386\" data-src=\"https:\/\/habrastorage.org\/webt\/uv\/zu\/qc\/uvzuqc1lfcfp_gzcgnskkjvlnsg.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  <b><a href=\"https:\/\/www.migops.com\/blog\/2022\/01\/07\/a-short-summary-of-the-year-2021-in-the-postgresql-ecosystem\/\">A short summary of the Year 2021 in the PostgreSQL ecosystem<\/a><\/b><\/p>\n<p>  \u041e\u0431\u0437\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u0430\u0432\u0442\u043e\u0440\u0430\u043c\u0438 \u0441 MigOps, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0431\u0435\u0437 \u0443\u043a\u043b\u043e\u043d\u0430 \u0432 \u0441\u0432\u043e\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0427\u0442\u043e \u043d\u0435 \u0443\u043c\u0430\u043b\u044f\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0412 \u044d\u0442\u043e\u043c \u043e\u0431\u0437\u043e\u0440\u0435 \u0435\u0441\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0438 \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/MigOpsRepos\/pg_dbms_job\">pg_dbms_job<\/a>: \u0430\u043d\u0430\u043b\u043e\u0433 \u0448\u0435\u0434\u0443\u043b\u0435\u0440\u0430 Oracle DBMS_JOB (\u0430\u043d\u043e\u043d\u0441 MigOps).<\/li>\n<li><a href=\"https:\/\/github.com\/okbob\/orafce_mail\">orafce_mail<\/a>: \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Oracle, \u0434\u0430\u0451\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 UTL_MAIL \u0438 DBMS_MAIL.<\/li>\n<li><a href=\"https:\/\/github.com\/MigOpsRepos\/credcheck\">credcheck<\/a>: \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a (\u0430\u043d\u043e\u043d\u0441 MigOps)<\/li>\n<li><a href=\"https:\/\/github.com\/MigOpsRepos\/pg_dbms_errlog\">pg_dbms_errlog<\/a>: \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0438\u043b\u044c Oracle DBMS_ERRLOG (\u0430\u043d\u043e\u043d\u0441 MigOps)<\/li>\n<li><a href=\"https:\/\/github.com\/atris\/JDBC_FDW\">jdbc_fdw<\/a>: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0447\u0443\u0436\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435.<\/li>\n<li><a href=\"https:\/\/github.com\/pgspider\/dynamodb_fdw\">dynamodb_fdw<\/a>: FDW \u0434\u043b\u044f AWS, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u043f\u0443\u0448-\u0434\u0430\u0443\u043d WHERE-\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/li>\n<li><a href=\"https:\/\/github.com\/rjuju\/pg_validate_extupgrade\">pg_validate_ext_upgrade<\/a>: \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u043e\u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439.<\/li>\n<\/ul>\n<p>  \u0415\u0441\u0442\u044c \u0435\u0449\u0451 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a. \u0427\u0438\u0441\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u044b\u0440 \u0432 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 PostgreSQL:<br \/>  PG 10 \u2014 29<br \/>  PG 11 \u2014 25<br \/>  PG 12 \u2014 15<br \/>  PG 13 \u2014 11<br \/>  PG 14 \u2014 2<br \/>  \u041d\u043e \u0443 14 \u0435\u0449\u0451 \u0432\u0441\u0451 \u0432\u043f\u0435\u0440\u0435\u0434\u0438.<\/p>\n<p>  <b><a href=\"https:\/\/pganalyze.com\/blog\/postgres-2021-year-in-review\">Postgres in 2021: An Observer&#8217;s Year In Review<\/a><\/b><\/p>\n<p>  \u042d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u043e\u0431\u0437\u043e\u0440 <i>\u041b\u0443\u043a\u0430\u0441\u0430 \u0424\u0438\u0442\u0442\u043b\u0430<\/i> (Lukas Fittl, pganalyze). \u041e\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441 30-\u043a\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 WHERE\u2026 IN.<\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u043e\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442 \u0437\u0434\u0435\u0441\u044c \u0434\u0438\u043b\u0435\u043c\u043c\u0443 32 vs 64, \u0438 \u043a\u0430\u043a \u043e\u0442\u043d\u0435\u0441\u0451\u0442\u0441\u044f \u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 64-\u0431\u0438\u0442\u043d\u044b\u0435 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 VACUUM (\u0441\u043f\u043e\u0439\u043b\u0435\u0440: \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0435\u043c\u0443 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0433\u0440\u043e\u0437\u0438\u0442). \u0412 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043f\u0430\u0442\u0447\u0430, <a href=\"https:\/\/www.postgresql.org\/message-id\/flat\/CACG=ezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe=pyyjVWA@mail.gmail.com\">\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e<\/a> <i>\u041c\u0430\u043a\u0441\u0438\u043c\u043e\u043c \u041e\u0440\u043b\u043e\u0432\u044b\u043c<\/i> (Postgres Professional) <i>\u041f\u0438\u0442\u0435\u0440 \u0413\u0430\u0439\u0433\u0435\u043d<\/i> (Peter Geoghegan) \u0432\u044b\u0441\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a: <i>\u044f \u0434\u0443\u043c\u0430\u044e, \u043f\u0430\u0442\u0447 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0430\u043c\u0431\u0438\u0446\u0438\u043e\u0437\u043d\u044b\u043c: \u043d\u0435 \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u0430\u0431\u043b\u0438\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c, \u0430 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u0441\u0430\u043c\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c Postgres<\/i>. \u0422\u0430\u043a \u0447\u0442\u043e, \u043f\u043e\u0445\u043e\u0436\u0435, \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 PG 15 \u043f\u0430\u0442\u0447\u0443 \u043d\u0435 \u0441\u0432\u0435\u0442\u0438\u0442 \u2014 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u041b\u0443\u043a\u0430\u0441, \u2014 \u043c\u043e\u0436\u0435\u0442 \u0432 16-\u0439.<\/p>\n<p>  \u0415\u0449\u0451 \u043e\u043d \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Rust \u0432 Postgres, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. <\/p>\n<p>  <b><a href=\"http:\/\/rhaas.blogspot.com\/2022\/01\/who-contributed-to-postgresql.html\">Who Contributed to PostgreSQL Development in 2020 and 2021?<\/a><\/b><\/p>\n<p>  <i>\u0420\u043e\u0431\u0435\u0440\u0442 \u0425\u0430\u0430\u0441<\/i> (Robert Haas) \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0440\u0430\u0437\u0432\u043b\u0435\u043a\u0430\u043b \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0438\u0441\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430\u043c\u0438 \u0441\u0430\u043c\u044b\u0445 \u044f\u0440\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u0442\u043e\u0440\u043e\u0432. \u0412\u043e\u0442 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441: 6 \u0441\u043f\u0438\u0441\u043a\u043e\u0432. \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e <i>\u0422\u043e\u043c \u041b\u044d\u0439\u043d<\/i> (Tom Lane) \u043b\u0438\u0434\u0435\u0440 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0432\u0435\u0437\u0434\u0435. \u041d\u043e \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u0430\u0445 \u0432 Postgres \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u043a\u0440\u0430\u0451\u0432. \u0421\u043b\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u0442\u0430\u0432\u043a\u0438. \u0412 \u0441\u043f\u0438\u0441\u043a\u0438 \u0432\u043e\u0448\u043b\u0438:<br \/>  <i>\u041d\u0438\u043a\u0438\u0442\u0430 \u0413\u043b\u0443\u0445\u043e\u0432, \u0410\u043d\u0430\u0441\u0442\u0430\u0441\u0438\u044f \u041b\u0443\u0431\u0435\u043d\u043d\u0438\u043a\u043e\u0432\u0430, \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u041a\u043e\u0440\u043e\u0442\u043a\u043e\u0432, \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0414\u043e\u043b\u0433\u043e\u0432, \u0410\u043d\u0434\u0440\u0435\u0439 \u0411\u043e\u0440\u043e\u0434\u0438\u043d<\/i>.<\/p>\n<h2>FDW: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c?<\/h2>\n<p>  <b><a href=\"https:\/\/www.dolthub.com\/blog\/2022-01-26-creating-a-postgres-foreign-data-wrapper\/\">Creating a Postgres Foreign Data Wrapper<\/a><\/b><\/p>\n<p>  \u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/github.com\/dolthub\/dolt\">Dolt<\/a> (SQL-\u0431\u0430\u0437\u0430 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u043e\u0434\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0439 Git), \u0434\u0430\u0432\u0435\u0447\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c FDW \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0431\u0430\u0437\u044b, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c. \u0418 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e: \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043e\u043b\u0432\u0430\u043d\u043a\u0443 \u0441 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0430\u043c\u0438, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043b\u0438 \u043e\u043d\u0430, \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0435\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c, \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u043a\u0430\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438. <\/p>\n<p>  \u041d\u043e \u0435\u0441\u043b\u0438 \u0441\u0430\u043c\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c FDW \u043d\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u044f, \u0442\u043e \u0432\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0441\u0435\u0440\u0438\u044f 1.1.0 FDW \u043e\u0442 Toshiba Software Engineering &amp; Technology Center \u0438\u0437 3 FDW \u2014 \u0434\u043b\u044f DynamoDB, Parquet \u0438 JDBC. FDW \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u0443\u043c\u0435\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 PostgreSQL 13 \u0438 14:<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/dynamodb_fdw\">DynamoDB FDW 1.1.0<\/a><\/b><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 SELECT, INSERT, UPDATE, DELETE; SELECT \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0435\u0440\u0435\u0432\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 (nested attribute object), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b JSONB <code>-><\/code> \u0438 <code>->><\/code>; \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f WHERE; \u043f\u0443\u0448-\u0434\u0430\u0443\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0438 SIZE \u0432 DynamoDB. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043d\u0430 <a href=\"https:\/\/github.com\/pgspider\/dynamodb_fdw\">\u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/parquet_s3_fdw\">Parquet S3 FDW 0.2.1<\/a><\/b><\/p>\n<p>  \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Foreign Data Wrapper \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u043a Parquet-\u0444\u0430\u0439\u043b\u0443 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u043b\u0438 \u043d\u0430 Amazon S3. \u041f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 PostgreSQL \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u043b\u0435\u0436\u0430\u0442. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043d\u0430 <a href=\"https:\/\/github.com\/pgspider\/parquet_s3_fdw\">\u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/pgspider\/jdbc_fdw\">JDBC FDW 0.1.0<\/a><\/b><\/p>\n<p>  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 C \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 JDK. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442: SELECT, INSERT, UPDATE, DELETE; \u043f\u0443\u0448-\u0434\u0430\u0443\u043d \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 WHERE \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/github.com\/pgspider\/jdbc_fdw\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0432 JDBC \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u0434\u044b\u0440 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 (\u044d\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0438, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f): <br \/>  <b><a href=\"https:\/\/github.com\/advisories\/GHSA-v7wg-cpwc-24m4\">PostgreSQL JDBC 42.3.2\/42.2.25 Security updates<\/a><\/b><\/p>\n<h2>pgpool-II 4.3, \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435<\/h2>\n<p>  4.3 <a href=\"https:\/\/www.pgpool.net\/docs\/43\/en\/html\/release-4-3-0.html\">\u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f<\/a> \u0432 \u043a\u043e\u043d\u0446\u0435 \u044f\u043d\u0432\u0430\u0440\u044f. \u0412 \u043d\u0451\u043c \u043d\u0435\u043c\u0430\u043b\u043e \u043d\u043e\u0432\u043e\u0433\u043e. \u041f\u0443\u043d\u043a\u0442\u043e\u043c #1 \u0438\u0434\u0451\u0442: \u0432 Watchdog \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043a\u0432\u043e\u0440\u0443\u043c\u0430\/VIP, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f Watchdog-\u0443\u0437\u043b\u043e\u0432. \u041f\u0443\u043d\u043a\u0442 #10: \u0438\u043c\u043f\u043e\u0440\u0442 SQL-\u043f\u0430\u0440\u0441\u0435\u0440\u0430. \u0412\u0441\u0435\u0433\u043e 13 \u043f\u0443\u043d\u043a\u0442\u043e\u0432. \u0412\u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0448\u043b\u0451\u043c\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f pgpool-II <i>\u0422\u0430\u0446\u0443\u043e \u0418\u0448\u0438\u0438<\/i> (Tatsuo Ishii) \u0432 \u043f\u043e\u043c\u043e\u0449\u044c \u0438\u0437\u0443\u0447\u0430\u044e\u0449\u0438\u043c pgpool-II 4.3:<\/p>\n<p>  <b><a href=\"https:\/\/pgsqlpgpool.blogspot.com\/2022\/01\/whats-new-in-pgpool-ii-43.html\">Playing with PostgreSQL and Pgpool. What&#8217;s new in Pgpool-II 4.3? (\u0447\u0430\u0441\u0442\u044c I)<\/a><\/b><\/p>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0447\u0442\u0438 \u0432 \u043d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u044e\u044e \u043d\u043e\u0447\u044c \u2014 31-\u0433\u043e. \u0412 \u043d\u0435\u0439 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>show pool_nodes<\/code> \u0438 <code>pcp_node_info<\/code>, <code>pcp_proc_info<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c:<br \/>  <code>backend connection time,<\/code><br \/>  <code>client connection time,<\/code><br \/>  <code>client idle duration,<\/code><br \/>  <code>client disconnection time.<\/code><\/p>\n<p>  \u041d\u043e \u0441\u0430\u043c\u043e\u0435, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u2014 \u043d\u043e\u0432\u0443\u044e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0443\u0437\u043b\u043e\u0432 \u0434\u043b\u044f \u043a\u0432\u043e\u0440\u0443\u043c\u0430 (membership) \u2014 \u043f\u0440\u0438\u0431\u0435\u0440\u0435\u0433\u043b\u0438 \u043d\u0430 2-\u044e \u0447\u0430\u0441\u0442\u044c:<\/p>\n<p>  <b><a href=\"https:\/\/pgsqlpgpool.blogspot.com\/search\/label\/Pgpool-II%204.3\">Playing with PostgreSQL and Pgpool. What&#8217;s new in Pgpool-II 4.3? (\u0447\u0430\u0441\u0442\u044c II)<\/a><\/b><\/p>\n<p>  \u0438 \u0441\u043d\u0430\u0431\u0434\u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438.<br \/>  <img decoding=\"async\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/webt\/hb\/hd\/dk\/hbhddklfgmh1o3hx8i-eidw8ylg.png\"\/><\/p>\n<p>  \u041d\u043e 2-\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f, \u0431\u0443\u0434\u0443\u0442 \u0435\u0449\u0451.<\/p>\n<h2>\u0413\u0440\u0430\u0444\u043e\u0432\u044b\u0435-\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435<\/h2>\n<p>  <b><a href=\"https:\/\/github.com\/bitnine-oss\/agensgraph\/releases\/tag\/v2.5.0\">AgensGraph 2.5<\/a><\/b><\/p>\n<p>  AgensGraph \u2014 \u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0433\u043e\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0421\u0423\u0411\u0414. \u0415\u0451 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u0447\u0438\u043a \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Bitnine. AgensGraph \u2014 \u0444\u043e\u0440\u043a PostgreSQL 10, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 ANSI-SQL \u0438 <a href=\"http:\/\/www.opencypher.org\">openCypher<\/a>, \u0432 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0432 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 SQL \u0438 Cypher. \u041e \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0435\u0441\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f <a href=\"https:\/\/bitnine.net\/blog-agens-solution\/blog-agensgraph\/announcing-agensgraph-2-5\/\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041e \u0441\u0430\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/ru.bmstu.wiki\/AgensGraph\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/github.com\/apache\/incubator-age\/releases\/tag\/v0.6.0\">AGE(incubating) 0.6.0<\/a><\/b><\/p>\n<p>  Apache AGE(\u0432 \u0441\u0442\u0430\u0434\u0438\u0438 <a href=\"https:\/\/age.incubator.apache.org\/\">\u0438\u043d\u043a\u0443\u0431\u0430\u0446\u0438\u0438<\/a>) \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 PostgreSQL (AGE = A Graph Extension), \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u043b\u0430 \u0431\u0430\u0437\u0430 AgensGraph. \u0412 AGE \u0435\u0434\u0438\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043d\u0430 ANSI SQL, \u0438 \u043d\u0430 <a href=\"http:\/\/www.opencypher.org\">openCypher<\/a>, \u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 Graph. \u041e \u043d\u043e\u0432\u043e\u043c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c <a href=\"https:\/\/github.com\/apache\/incubator-age\/releases\/tag\/v0.6.0\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<h2>\u0414\u0435\u043f\u0435\u0448 \u0436\u0434\u0451\u0442 15-\u0433\u043e<\/h2>\n<p>  \u0421\u0435\u0440\u0438\u044f <i>\u0425\u0443\u0431\u0435\u0440\u0442\u0430 \u041b\u044e\u0431\u0430\u0448\u0435\u0432\u0441\u043a\u043e\u0433\u043e<\/i> (depesz) <a href=\"https:\/\/www.depesz.com\/tag\/pg15\/\">Waiting for PostgreSQL 15<\/a> \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443: 5 \u0437\u0430\u043c\u0435\u0442\u043e\u043a.<\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2022\/01\/28\/waiting-for-postgresql-15-add-header-support-to-copy-text-format\/\">Add HEADER support to COPY text format<\/a><\/b><\/p>\n<p>  \u041c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435, \u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0443\u043c\u0435\u043b\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 COPY CSV, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b. \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0438 CSV, \u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2022\/01\/17\/waiting-for-postgresql-15-introduce-log_destinationjsonlog\/\">Waiting for PostgreSQL 15 \u2013 Introduce log_destination=jsonlog<\/a><\/b><\/p>\n<p>  \u0420\u0430\u043d\u044c\u0448\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 <code>stderr<\/code> \u0438\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043a\u0430\u043a <code>csvlog<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043a\u0430\u043a JSON-\u0444\u0430\u0439\u043b. <\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2021\/11\/26\/waiting-for-postgresql-15-add-assorted-new-regexp_xxx-sql-functions\/\">Add assorted new regexp_xxx SQL functions<\/a><\/b><\/p>\n<p>  \u041d\u043e\u0432\u044b\u0435 4 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<br \/>  <code>regexp_count()<\/code>,<br \/>  <code>regexp_instr()<\/code>,<br \/>  <code>regexp_like()<\/code>,<br \/>  <code>regexp_substr()<\/code>,<br \/>  \u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>regexp_replace()<\/code> \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b. \u042d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 Oracle \u0438 DB2, \u043d\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0441\u0430\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 PostgreSQL \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u041a\u0441\u0442\u0430\u0442\u0438, \u043e\u0431 \u044d\u0442\u043e\u043c \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c <i>\u0421\u0435\u043b\u0432\u0430\u043a\u0443\u043c\u0430\u0440 \u0410\u0440\u0443\u043c\u0438\u0433\u0430\u043c<\/i> (Selvakumar Arumugam) \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 <b><a href=\"#regexp\">How to use regular expression group quantifiers in PostgreSQL<\/a><\/b>.<\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2021\/11\/16\/waiting-for-postgresql-15-allow-publishing-the-tables-of-schema\/\">Allow publishing the tables of schema<\/a><\/b><\/p>\n<p>  \u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u043e\u0432\u0430\u044f \u043e\u043f\u0446\u0438\u044f <b>FOR ALL TABLES IN SCHEMA<\/b> \u0432 Create\/Alter Publication. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0438 \u0432\u0441\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438\u043b\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445.<\/p>\n<p>  <b><a href=\"https:\/\/www.depesz.com\/2021\/09\/10\/waiting-for-postgresql-15-revoke-public-create-from-public-schema-now-owned-by-pg_database_owner\/\">Revoke PUBLIC CREATE from public schema, now owned by pg_database_owner<\/a><\/b><\/p>\n<p>  \u0420\u0430\u043d\u044c\u0448\u0435 \u043d\u0435 \u0441\u0443\u043f\u0435\u0440\u044e\u0437\u0435\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043c\u043e\u0433 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u0445\u0435\u043c\u0435 public \u0432 \u0431\u0430\u0437\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u043b. \u0412 15-\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442.<\/p>\n<h2>\u0413\u043b\u0443\u0431\u043e\u043a\u043e \u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043f\u043e\u0434 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f?<\/h2>\n<p>  <b><a href=\"https:\/\/www.brianlikespostgres.com\/postgres-query-progress-bar.html\">Query Progress Bar<\/a><\/b><\/p>\n<p>  <i>\u0411\u0440\u0430\u0439\u0430\u043d<\/i> \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438 <i><a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/572782\/\">Likes Postgres<\/a><\/i> \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0442\u0440\u044e\u043a\u0438: \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0438\u0437 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 + <code>next_val<\/code> \u0438 RETURNING, \u0430 \u0434\u043b\u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044e\u0449\u0435\u0439 <code>\\watch<\/code>. \u042d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u041d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e.<\/p>\n<p>  \u0415\u0449\u0451 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u0435\u0439, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u043b \u043d\u0435 \u043d\u0430 \u0448\u0443\u0442\u043a\u0443 <i>\u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0421\u0430\u043c\u043e\u0445\u0432\u0430\u043b\u043e\u0432<\/i>, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0441\u0432\u043e\u044e \u0441\u0442\u0430\u0442\u044c\u044e, \u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u043e\u0431\u043d\u0430\u0436\u0438\u0432 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0411\u0440\u0430\u0439\u0430\u043d\u0430 \u041b\u0430\u0439\u043a\u0441\u0430 \u041f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0430 \u2014 \u0435\u0433\u043e, \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0437\u043e\u0432\u0443\u0442 <i>\u0411\u0440\u0430\u0439\u0430\u043d \u0414\u044d\u0432\u0438\u0441<\/i>. \u0418\u0442\u0430\u043a, \u0441\u0442\u0430\u0442\u044c\u044f:<\/p>\n<p>  <b><a href=\"https:\/\/postgres.ai\/blog\/20220114-progress-bar-for-postgres-queries-lets-dive-deeper\">Progress bar for Postgres queries \u2013 let&#8217;s dive deeper<\/a><\/b><\/p>\n<p>  \u0412 \u043d\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0430\u0441\u0442\u0443\u0445\u043e\u0432 \u043e\u0442 \u043a\u043e\u0440\u043e\u0432, \u043a\u043e\u0440\u043e\u0432 \u043e\u0442 \u043a\u043e\u0442\u043b\u0435\u0442, \u0430 \u0442\u0435\u0445 \u0443\u0436\u0435 \u043e\u0442 \u043c\u0443\u0445: \u0437\u0430\u043f\u0440\u043e\u0441\u044b SELECT, \u0438 DDL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d \u0434\u0430\u0451\u0442 \u0441\u043e\u0432\u0435\u0442\u044b \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0438 \u0441 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u2014 \u0441 \u043c\u043d\u043e\u0433\u043e\u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u043d\u044b\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438 \u0438 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0435\u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 <b><a href=\"https:\/\/postgrespro.ru\/docs\/postgrespro\/14\/pg-query-state\">pg_query_state<\/a><\/b>. \u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u0432 Postgres Professional \u0438 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 Postgres Pro Standard\/Enterprise.<\/p>\n<p>  \u041d\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e: \u043f\u043e\u0434\u043e\u0441\u043f\u0435\u043b\u043e \u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435: <a href=\"https:\/\/github.com\/s-hironobu\/pg_plan_inspector\">pg_plan_inspector<\/a> (Hironobu Suzuki), \u0430\u0432\u0442\u043e\u0440\u0430 \u043a\u043d\u0438\u0436\u043a\u0438 <a href=\"https:\/\/www.interdb.jp\/pg\/\">The Internals of PostgreSQL<\/a>.<\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u2014 \u0442\u043e\u0436\u0435 2022 \u0433\u043e\u0434\u0430:<\/p>\n<p>  <b><a href=\"https:\/\/postgres.ai\/blog\/20220106-explain-analyze-needs-buffers-to-improve-the-postgres-query-optimization-process\">EXPLAIN (ANALYZE) needs BUFFERS to improve the Postgres query optimization process<\/a><\/b><\/p>\n<p>  \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0447\u0438\u043d, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 PostgreSQL \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0438\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0438 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0442 \u043d\u0430 \u043a\u0430\u043a\u043e\u0439: \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 EXPLAIN \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043e\u043f\u0446\u0438\u044f BUFFERS (\u0441\u0430\u043c \u043e\u043d \u0441\u0447\u0438\u0442\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c). \u0421\u0442\u0430\u0442\u044c\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u00ab\u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 BUFFERS\u00bb \u0438 \u0434\u0430\u0436\u0435 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u044d\u0442\u043e \u0438 \u0437\u0430\u0447\u0435\u043c. \u041b\u043e\u0433\u0438\u0447\u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 BUFFERS \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u0431\u0435\u0437 \u043d\u0438\u0445 \u043d\u0435 \u044f\u0441\u043d\u043e. \u0418 \u0430\u0432\u0442\u043e\u0440 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0438. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/14\/sql-cluster\">CLUSTER<\/a>. \u0417\u0430\u0442\u0435\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u0436\u0438\u0437\u043d\u044c \u0434\u043e\u043b\u0433\u0430\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f. \u0418 \u0434\u0430\u0436\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u0430 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0431\u0443\u0444\u0435\u0440\u0430\u0445 \u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0431\u0430\u0439\u0442\u044b. \u041d\u0443 \u0430 \u0431\u043b\u0438\u0436\u0435 \u043a \u043a\u043e\u043d\u0446\u0443 \u043a\u0430\u043a \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c <a href=\"https:\/\/postgres.ai\/docs\/questions-and-answers#what-is-thin-cloning-thin-vs-thick-clones\">\u0442\u043e\u043d\u043a\u0438\u0435 \u043a\u043b\u043e\u043d\u044b<\/a>? <\/p>\n<p>  \u0418 \u0435\u0449\u0451 \u043a\u0440\u043e\u0445\u043e\u0442\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u0447\u0435\u043a \u2014 \u043a\u043e\u0433\u0434\u0430 \u0430\u043d\u0430\u043b\u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u0435\u043d:<br \/>  \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0440\u0430\u0441\u043f\u0443\u0445\u0430\u043d\u0438\u0438 (high level of bloat) \u0442\u0430\u0431\u043b\u0438\u0446\/\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432,<br \/>  \u043e\u0447\u0435\u043d\u044c \u0448\u0438\u0440\u043e\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 (\u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 TOAST),<br \/>  \u043f\u0440\u0438 \u043e\u0446\u0435\u043d\u043a\u0435 HOT-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 vs. \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.<\/p>\n<p>  \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f\u0441\u044c \u043a progres bar: \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0447\u0438\u043c, \u0432 pgBadger (\u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 <i>\u0416\u0438\u043b\u044f \u0414\u0430\u0440\u043e\u043b\u044f<\/i>, Gilles Darold) \u2014 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442: \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0435\u0441-\u0431\u0430\u0440\u0430, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u044b\u0432\u043e\u0434 \u043d\u0435\u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c: <b><a href=\"https:\/\/github.com\/darold\/pgbadger\/releases\/tag\/v11.7\">pgBadger 11.7<\/a><\/b><\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u043e\u043f\u0446\u0438\u044f <code>--no-progressbar<\/code>. \u0415\u0449\u0451 \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u043f\u0446\u0438\u044f <code>--day-report<\/code> (\u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u044b).<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044f\u0442\u044b\u0435 \u0434\u0440\u0443\u0437\u044c\u044f: TOAST \u0438 JSONB<\/h2>\n<p>  \u041d\u0430 <a href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/profile\/\">\u0445\u0430\u0431\u0440-\u0445\u0430\u0431\u0435<\/a> \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u041e\u043d\u0442\u0438\u043a\u043e, \u0442\u043e \u0435\u0441\u0442\u044c \u0443 <i>\u041e\u043b\u0435\u0433\u0430 \u0411\u0443\u043d\u0438\u043d\u0430<\/i>, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 <a href=\"https:\/\/www.highload.ru\/foundation\/2022\">HighLoad++<\/a>, \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c 3 \u0441\u0442\u0430\u0442\u044c\u0438 <i>\u041e\u043b\u0435\u0433\u0430 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432\u0430<\/i> (\u0433\u0435\u043d\u0434\u0438\u0440 Postgres Professional), \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 (\u0432 \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a <i>\u041d\u0438\u043a\u0438\u0442\u0430 \u0413\u043b\u0443\u0445\u043e\u0432<\/i>) \u043c\u044b \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0438 \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/594209\/\">\u043f\u0440\u0435\u0434\u043d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435<\/a>: <br \/>  <a name=\"toast_s_maslom\"><\/a><br \/>  <b><a href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/597187\/\">\u041f\u0440\u043e\u043a\u043b\u044f\u0442\u044c\u0435 TOAST \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c \u043c\u0430\u0441\u043b\u043e\u043c \u0435\u0433\u043e \u0435\u0441\u0442 JSONB<\/a><\/b><\/p>\n<p>  \u0418 \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435:<\/p>\n<p>  <b><a href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/646987\/\">\u0411\u043e\u0440\u044c\u0431\u0430 \u0441 TOAST \u0438\u043b\u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 JSONB \u0432 PostgreSQL<\/a><\/b><\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0434\u0435\u0441\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u043a\u043e\u0433\u0434\u0430 id \u0432\u043d\u0435 JSON, \u0438 \u043a\u043e\u0433\u0434\u0430 \u0432\u043d\u0443\u0442\u0440\u0438. \u041d\u0435\u0431\u043e \u0438 \u0437\u0435\u043c\u043b\u044f. \u041e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434: id \u0432\u043d\u0443\u0442\u0440\u0438 JSON \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0447\u0435\u0433\u043e. \u041d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043f\u043e\u043c\u0443\u0447\u0438\u0442\u044c \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e Internet Movie Database. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\u043d\u0443\u0436\u043d\u0430 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u0430\u044f \u0434\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u0436\u0438\u043c\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0442 \u0447\u0430\u043d\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c;<\/li>\n<li>\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0447\u0430\u043d\u043a\u043e\u0432, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0442\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/li>\n<\/ul>\n<p>  \u042d\u0442\u043e \u0438 \u0431\u044b\u043b\u043e \u0443\u0447\u0442\u0435\u043d\u043e, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 TOAST \u0441\u0442\u0430\u043b\u043e \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c. \u0418 \u0434\u0430\u043b\u0435\u0435: \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043d\u0435\u0437\u0435\u043c\u043d\u043e\u0439 \u043a\u0440\u0430\u0441\u043e\u0442\u044b \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 (\u0433\u0432\u043e\u0437\u0434\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 Shared TOAST).<\/p>\n<p>  <b><a href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/646981\/\">\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0442\u0440\u0438\u043c \u0432 Postgres?<\/a><\/b><\/p>\n<p>  \u0422\u0435\u043c\u0430 \u0432 Postgres-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f. \u041d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0442\u0440\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e, \u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u2014 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u044b <a href=\"#toast_s_maslom\">TOAST \u0441 \u043c\u0430\u0441\u043b\u043e\u043c<\/a>.<\/p>\n<p>  <i>\u0427\u0442\u043e\u0431\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u0442\u0440\u0438\u043c\u0438\u0442\u044c, \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f TOAST, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 <code>TOAST pointer<\/code> \u0438 <code>inline<\/code>-\u0431\u0443\u0444\u0435\u0440\u0430. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0438 <code>||<\/code> \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 deTOAST, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u044d\u0442\u043e\u0442 <code>inline<\/code>-\u0431\u0443\u0444\u0435\u0440. \u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440 <code>inline<\/code> \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 2KB, \u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 TOAST, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0447\u0430\u043d\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439<\/i>.<\/p>\n<p>  \u0412\u0438\u0434\u0435\u043e \u043d\u0430 \u044d\u0442\u0438 \u0442\u0435\u043c\u044b:<\/p>\n<p>  <b><a href=\"https:\/\/www.youtube.com\/watch?v=CPoNZRpcHf4\">SQL\/JSON \u0432 PostgreSQL: \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \/ \u041e\u043b\u0435\u0433 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432 (Postgres Professional)<\/a><\/b><\/p>\n<p>  <b><a href=\"https:\/\/www.youtube.com\/watch?v=VjryXJYATWk\">Json or not Json. \u041f\u043b\u044e\u0441\u044b \u0438 \u043c\u0438\u043d\u0443\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Json \u0432 PostgreSQL \/ \u041e\u043b\u0435\u0433 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432, \u041d\u0438\u043a\u0438\u0442\u0430 \u0413\u043b\u0443\u0445\u043e\u0432<\/a><\/b><\/p>\n<p>  <b><a href=\"https:\/\/www.youtube.com\/watch?v=CPoNZRpcHf4\">SQL\/JSON \u0432 PostgreSQL: \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \/ \u041e\u043b\u0435\u0433 \u0411\u0430\u0440\u0442\u0443\u043d\u043e\u0432 (Postgres Professional)<\/a><\/b><\/p>\n<p>  \u0438 \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0441\u043f\u0440\u0438\u043d\u0442-\u0434\u043e\u043a\u043b\u0430\u0434 <b><a href=\"http:\/\/www.sai.msu.su\/~megera\/postgres\/talks\/bytea-pgconfonline-2021.pdf\">Appendable bytea TOAST<\/a><\/b> \u043d\u0430 <a href=\"https:\/\/pgconf.ru\/2021\">PGConf.Online 2021<\/a><\/p>\n<h2>\u0415\u0449\u0451 \u0441\u0442\u0430\u0442\u044c\u0438<\/h2>\n<p>  <a name=\"regexp\"><\/a><b><a href=\"https:\/\/www.endpointdev.com\/blog\/2022\/01\/regex-group-quantifiers-postgresql\/\">How to use regular expression group quantifiers in PostgreSQL<\/a><\/b><\/p>\n<p>  \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043b\u0443\u043a\u0430\u0432\u0438\u0442: \u0432 \u043d\u0435\u0439 \u043d\u0435\u0442 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0445 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 PostgreSQL. \u0422\u0430\u043c \u043e\u043f\u0438\u0441\u0430\u043d \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0438\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438\u0445 \u043a\u0430\u0440\u0442 <a href=\"https:\/\/www.hl7.org\/about\/\">HL7<\/a>. \u041d\u043e \u044d\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0439 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439. \u041e\u043d \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 <b>grep<\/b>, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 PodtgreSQL \u0441 <code>regexp_matches<\/code> \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u041f\u0438\u0448\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 <b>PL\/Perl<\/b> \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0435\u0433\u043e \u0442\u0430\u043c \u2014 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0410 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u043e \u0434\u0430\u0432\u0430\u043b\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u0430\u043a \u0432 grep \u0438 Perl.<\/p>\n<p>  <b><a href=\"https:\/\/www.cybertec-postgresql.com\/en\/automatic-partition-creation-in-postgresql\/\">Automatic Partition Creation In PostgreSQL<\/a><\/b><\/p>\n<p>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 <i>\u041b\u043e\u0440\u0435\u043d\u0446\u0430 \u0410\u043b\u044c\u0431\u0435<\/i> (Laurenz Albe, Cybertec) \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0435\u043a\u0446\u0438\u0439 (\u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439) \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f:<\/p>\n<ul>\n<li>\u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0441\u0435\u043a\u0446\u0438\u0438 \u043d\u0430\u0440\u0435\u0437\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u042b\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c (time-triggered partitioning \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043c\u0435\u0441\u044f\u0446, \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439) \u0438<\/li>\n<li>\u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0438 \u0432 \u043e\u0434\u043d\u0443 \u0438\u0437 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u043a\u0446\u0438\u0439 (on-demand partitioning).<\/li>\n<\/ul>\n<p>  \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u044e\u0442 3 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430:<\/p>\n<ul>\n<li><b>cron<\/b> \u0438\u0437 \u041e\u0421;<\/li>\n<li><b><a href=\"https:\/\/github.com\/citusdata\/pg_cron\">pg_cron<\/a><\/b>;<\/li>\n<li><b><a href=\"https:\/\/github.com\/pgpartman\/pg_partman\">pg_partman<\/a><\/b>.<\/li>\n<\/ul>\n<p>  \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u0430\u044f: \u043d\u043e\u0432\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f, \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f INSERT, \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u043d\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0441\u0430\u043c\u043e\u0433\u043e INSERT \u0441\u0435\u043a\u0446\u0438\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430. \u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u0434\u043e\u043a\u0441\u0430 \u0410\u043b\u044c\u0431\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u0443\u044e \u0441\u0435\u043a\u0446\u0438\u044e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 NOTIFY.<\/p>\n<p>  <b><a href=\"https:\/\/dev.to\/franckpachot\/delete-column-statistics-in-postgresql-or-yugabytedb-37i3\">Delete column statistics in PostgreSQL or YugabyteDB<\/a><\/b><\/p>\n<p>  <i>\u0424\u0440\u044d\u043d\u043a \u041f\u0430\u0448\u043e<\/i> (Franck Pachot) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0443\u0431\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0432\u043b\u0438\u044f\u043b\u0430 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u043f\u043b\u0430\u043d\u0430. \u041e\u043d\u0430 \u0432\u0438\u0434\u043d\u0430 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/14\/view-pg-stats\">pg_stats<\/a>, \u0430 \u0432\u044b\u0447\u0438\u0449\u0430\u0442\u044c \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/14\/view-pg-stats\">pg_statistic<\/a>. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0446\u0435\u043b\u044c \u0435\u0433\u043e \u2014 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 YugabyteDB \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043d\u0435\u043b\u044c\u0437\u044f, \u043d\u0430\u0434\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043a\u0430\u0437\u0430\u0442\u044c <code>set yb_non_ddl_txn_for_sys_tables_allowed=on;<\/code><\/p>\n<p>  \u041a\u0430\u043a \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u043a\u043e\u043b\u043b\u0435\u0433\u0430 \u041b\u0443\u0437\u0430\u043d\u043e\u0432, \u0432 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u043c PostgreSQL \u0432\u0437\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u043e\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f: \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 <br \/>  <code>allow_system_table_mods<\/code> \u0432\u043a\u043b\u044e\u0447\u0451\u043d. \u041e\u043d (\u0433\u043e\u0432\u043e\u0440\u0438\u0442 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/14\/runtime-config-developer\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a>)<br \/>  <i>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043c\u043e\u0433\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u043f\u0435\u0440\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438. \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0451\u043d, \u044d\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0434\u0430\u0436\u0435 \u0441\u0443\u043f\u0435\u0440\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c.<\/i> <\/p>\n<p>  <b><a href=\"https:\/\/dataegret.com\/2022\/01\/accelerating-vacuum-in-postgres\/\">Accelerating VACUUM in Postgres<\/a><\/b><\/p>\n<p>  <i>\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041a\u043e\u0437\u043b\u043e\u0432<\/i> \u0438\u0437 Data Egret \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 VACUUM (autovacuum) \u0431\u043e\u043b\u0435\u0435 \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0430\u0432\u0442\u043e\u0432\u0430\u043a\u0443\u0443\u043c\u0430 <code>autovacuum_max_workers<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432\u0442\u0440\u043e\u0451\u043c, \u0434\u043e 10 (\u043a\u0441\u0442\u0430\u0442\u0438, \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/588180\/\">\u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0439 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438\u0445 \u0431\u044b\u043b\u043e \u0430\u0436 50, \u0438 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438).<\/p>\n<p>  \u041d\u043e \u0435\u0449\u0451 \u0434\u044e\u0436\u0438\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u0430\u043a\u0443\u0443\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 <a href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/14\/runtime-config-autovacuum\">autovacuum_max_workers<\/a>, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0431\u0435\u0437 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430.<\/p>\n<h2>\u0415\u0449\u0451 \u0440\u0435\u043b\u0438\u0437\u044b<\/h2>\n<p>  <b><a href=\"https:\/\/www.convert-in.com\/ord2pgs.htm\">OraDump-to-PostgreSQL v5.1<\/a><\/b><\/p>\n<p>  \u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (SDO_GEOMETRY);<\/li>\n<li>\u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 SSL-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441 PostgreSQL-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c;<\/li>\n<li>\u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PostgreSQL \u043d\u0430 Azure.<\/li>\n<\/ul>\n<p>  <b><a href=\"https:\/\/www.pgadmin.org\/docs\/pgadmin4\/6.4\/release_notes_6_4.html\">pgAdmin 4 v6.4<\/a><\/b><\/p>\n<p>  \u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430\/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0438\u0445 \u0433\u0440\u0443\u043f\u043f. \u041e\u043d\u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 JSON-\u0444\u0430\u0439\u043b \u0438 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 (\u0438\u043b\u0438 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435). \u0420\u0430\u043d\u044c\u0448\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c <code>setup.py<\/code> \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 Import\/Export \u0432 Servers Wizard.<\/p>\n<p>  \u041d\u0430 <a href=\"https:\/\/www.pgadmin.org\/download\/\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435<\/a> \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 \u0434\u043b\u044f Windows \u0438 macOS, \u043f\u0430\u043a\u0435\u0442\u044b Python Wheel, Docker, RPM, DEB, \u0442\u0430\u0440\u0431\u043e\u043b\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<p>  <b><a href=\"https:\/\/agroal.github.io\/pgagroal\/release\/announcement\/2022\/01\/11\/pgagroal-1.4.0.html\">pgagroal 1.4.0<\/a><\/b><\/p>\n<p>  \u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0443\u043b\u0435\u0440\u0430:<\/p>\n<ul>\n<li>\u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043b\u044f TLS-\u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 pgagroal \u0438 PostgreSQL;<\/li>\n<li>\u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 log_mode;<\/li>\n<li>Tracker: \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u043a\u0435\u0442\u043e\u0432;<\/li>\n<li>Flush: \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 <a href=\"https:\/\/github.com\/agroal\/pgagroal\">\u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/a>. \u0412\u043e\u0442 <a href=\"https:\/\/github.com\/agroal\/pgagroal\/releases\/download\/1.4.0\/pgagroal-1.4.0.tar.gz\">\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438<\/a>, <a href=\"https:\/\/yum.postgresql.org\/\">RPM<\/a> \u0434\u043b\u044f Fedora 34\/35, RHEL 8.x, CentOS 8.x \u0438 SEL 12, <a href=\"https:\/\/software.opensuse.org\/download.html?project=server:database:postgresql&amp;package=pgagroal\">OpenSUSE 15<\/a><\/p>\n<p>  <b><a href=\"https:\/\/github.com\/michelp\/pgsodium\">pgsodium 2.0.0<\/a><\/b><\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440\u044b \u0441\u043e\u043e\u0431\u0449\u0430\u044e\u0442, \u0447\u0442\u043e \u0432 pgsodium 2.0.0 (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 PostgreSQL, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <a href=\"https:\/\/doc.libsodium.org\/\">libsodium<\/a>) \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e:<\/p>\n<ul>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f XChaCha20-SIV;<\/li>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438 SignCryption Sign &amp; Encrypt;<\/li>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043b\u044e\u0447\u0430 id HMACSHA 512\/256, generichash, \u0438 shorthash;<\/li>\n<li>\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430 XChaCha20;<\/li>\n<li>in-memory-\u043a\u043b\u044e\u0447 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0449\u0438\u0449\u0451\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>sodium_malloc<\/code>.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/github.com\/michelp\/pgsodium\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/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\/company\/postgrespro\/blog\/646119\/\"> https:\/\/habr.com\/ru\/company\/postgrespro\/blog\/646119\/<\/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_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/n0\/x_\/ki\/n0x_kibvjyuji8uvnd3znkblpus.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/n0\/x_\/ki\/n0x_kibvjyuji8uvnd3znkblpus.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  <\/p>\n<h2>\u042d\u043a\u0441\u0442\u0440\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: PGConf.Russia \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0442\u0441\u044f!<\/h2>\n<p>  <i>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u0412\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 <b><a href=\"https:\/\/pgconf.ru\">PGConf.Russia 2022<\/a><\/b>, \u043f\u043e\u043f\u0430\u043b\u0430 \u043f\u043e\u0434 \u043f\u0440\u0438\u043a\u0430\u0437 \u043e \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0445 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0443 \u0438 \u0438\u043d\u044b\u0435 \u0434\u0430\u0442\u044b \u2014 \u043a\u043e\u043d\u0435\u0446 \u043c\u0430\u0440\u0442\u0430 \u0438\u043b\u0438 \u043d\u0430\u0447\u0430\u043b\u043e \u0430\u043f\u0440\u0435\u043b\u044f. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b PGConf.Russia 2022 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.<\/i><\/p>\n<p>  \u041d\u043e \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0440\u0430\u0441\u0442\u043e\u0440\u043e\u043f\u043d\u044b\u0445: <i><b>\u043f\u0440\u0438\u0435\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432<\/b> \u043f\u0440\u043e\u0434\u043b\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e 20 \u0444\u0435\u0432\u0440\u0430\u043b\u044f.<\/i><\/p>\n<p>  \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u043e\u0444\u0444\u043b\u0430\u0439\u043d \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 45 \u0438\u043b\u0438 22 \u043c\u0438\u043d\u0443\u0442\u044b \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 90 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0436\u0438\u0432\u044b\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0439 (Live coding).<\/p>\n<p>  \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/pgconf.ru\/2022\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u043c\u044b:<\/p>\n<ul>\n<li>PostgreSQL \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u043d\u0435\u043c \u043a\u0440\u0430\u0435: \u0432\u044b\u0441\u043e\u043a\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0411\u0414, \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c;<\/li>\n<li>\u043d\u043e\u0432\u043e\u0435 \u0432 PostgreSQL \u0438 \u0432\u043e\u043a\u0440\u0443\u0433: \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 PostgreSQL \u0438 \u0435\u0433\u043e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b;<\/li>\n<li>PostgreSQL \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f, \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f;<\/li>\n<li>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 PostgreSQL \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 1\u0421;<\/li>\n<li>PostgreSQL \u0432 \u0433\u0435\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 (GIS).<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>\u0414\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438<\/h2>\n<p>  <b><a href=\"https:\/\/www.highload.ru\/foundation\/2022\">HighLoad++<\/a><\/b><\/p>\n<p>  \u0414\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u043e\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/www.highload.ru\/foundation\/2022\/location\">\u041a\u0440\u043e\u043a\u0443\u0441-\u042d\u043a\u0441\u043f\u043e<\/a> 17-18 \u043c\u0430\u0440\u0442\u0430. \u0412\u043e\u0442 <a href=\"https:\/\/www.highload.ru\/foundation\/2022\/schedule\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/a>.<\/p>\n<p>  <b><a href=\"https:\/\/www.postgresql.eu\/events\/pgdayparis2022\/\">pgDay Paris 2022<\/a><\/b>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-329251","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329251","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=329251"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329251\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=329251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=329251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=329251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}