{"id":443126,"date":"2024-12-26T05:21:53","date_gmt":"2024-12-26T05:21:53","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=443126"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=443126","title":{"rendered":"<span>\u041a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c PostgreSQL \u0438 \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435: \u043c\u0435\u0442\u043e\u0434 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u044f<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u042f \u0422\u0438\u043c\u0443\u0440 \u041d\u0438\u0437\u0430\u043c\u0443\u0442\u0434\u0438\u043d\u043e\u0432, DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/flant.ru\/?utm_source=web&amp;utm_medium=habr&amp;utm_campaign=postgres_171224\"><u>\u00ab\u0424\u043b\u0430\u043d\u0442\u00bb<\/u><\/a>. \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 20 000 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0438 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u0434\u043e 16 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u043c. \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u044d\u0442\u043e \u0440\u0435\u0448\u0430\u043b\u043e \u0438 \u0440\u044f\u0434 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/41e\/9c2\/770\/41e9c277090115e8209476f66ebf49eb.png\" width=\"1600\" height=\"920\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/41e\/9c2\/770\/41e9c277090115e8209476f66ebf49eb.png\"\/><\/figure>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0442\u0430\u0440\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0441\u0442\u0430\u043b\u0438 \u0443\u0437\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c. \u0418\u0445 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0451\u043c\u0430\u043c\u0438 \u0434\u0438\u0441\u043a\u043e\u0432. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0410 \u0435\u0449\u0451 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0432\u0435\u0436\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e PostgreSQL \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043a\u043e\u043d\u0446\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0433\u043e\u0434\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b PostgreSQL \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0441 \u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 PostgreSQL \u0447\u0435\u0440\u0435\u0437 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0440\u043e\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438<\/h3>\n<h4>\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f<\/h4>\n<p>\u042f \u0441\u0440\u0430\u0437\u0443 \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0431\u0430\u0437\u044b:<\/p>\n<pre><code class=\"bash\">1) \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0431\u0430\u0437\u0443 PostgreSQL \u0438 \u0441\u0445\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e\u0439 \u0431\u0430\u0437\u044b:  pg_dumpall --database=postgres --host=x.x.x.x --no-password --globals-only --no-privileges | psql pg_dump --dbname name_db --host=x.x.x.x --no-password --create --schema-only | psql 2) \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0431\u0430\u0437\u044b \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435: CREATE PUBLICATION name_pub FOR ALL TABLES; 3) C\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435: CREATE SUBSCRIPTION name_sub CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_pub; 4) \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435: select * from pg_catalog.pg_publication; 5) \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435: SELECT * FROM pg_stat_subscription;<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043e\u043a\u043e\u043b\u043e 1 \u0413\u0411 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443. \u041f\u0440\u0438 \u043e\u0431\u044a\u0451\u043c\u0435 \u0431\u0430\u0437\u044b \u0432 3,5 \u0422\u0411 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0437\u0430\u0439\u043c\u0451\u0442 2\u20133 \u0434\u043d\u044f \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041d\u043e \u043f\u043e\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043b\u0438\u0432 \u0431\u0430\u0437\u044b, \u0432\u0430\u043b\u044b (<abbr class=\"habraabbr\" title=\"Write-Ahead Logging \u2014 \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f WAL \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c.\" data-title=\"&lt;p&gt;Write-Ahead Logging \u2014 \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f WAL \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c.&lt;\/p&gt;\" data-abbr=\"WAL\">WAL<\/abbr>) \u0434\u043b\u044f \u0441\u043b\u043e\u0442\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0440\u0430\u0441\u0442\u0438 \u0434\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432, \u0447\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u0434 \u043d\u0438\u0445 \u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f, \u0438 \u043c\u0430\u0441\u0442\u0435\u0440 \u00ab\u0443\u043f\u0430\u0434\u0451\u0442\u00bb.\u00a0<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u044f \u0440\u0435\u0448\u0438\u043b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e\u0431 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435. \u0418 \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e.<\/p>\n<h4>\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/h4>\n<p>\u0427\u0435\u0440\u043d\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u044e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0416\u0434\u0443, \u043a\u043e\u0433\u0434\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0434\u043e\u0439\u0434\u0451\u0442 \u0434\u043e \u0442\u043e\u0447\u043a\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0436\u0443 \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0435\u0440\u0435\u0437 <code>pg_upgrade<\/code> \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e PostgreSQL \u0434\u043e 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 10\u00a0\u0413\u0411 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443, \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u043e\u0441\u0442\u0430 \u0432\u0430\u043b\u043e\u0432 \u0431\u044b\u043b\u0430 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439.<\/p>\n<p>\u041d\u043e \u043a\u0430\u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u043f\u043e\u0439\u043c\u0451\u0442, \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 <abbr class=\"habraabbr\" title=\"\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 PostgreSQL \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 WAL.\" data-title=\"&lt;p&gt;\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;&lt;p&gt;\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 PostgreSQL \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 WAL.&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;\" data-abbr=\"LSN\">LSN<\/abbr> \u0435\u0439 \u043d\u0430\u0434\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443? \u0412\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f LSN \u0434\u043b\u044f \u0441\u043b\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e:<\/p>\n<pre><code class=\"bash\">select pg_create_logical_replication_slot('logical_replica_slot', 'pgoutput'); select pg_replication_slot_advance('logical_replica_slot', '0\/2001260');<\/code><\/pre>\n<p>\u041a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 LSN \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043b\u043e\u0442\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438? \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 promote \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0443\u044e, \u0432 \u043b\u043e\u0433\u0430\u0445 PostgreSQL \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 <code>redo done at 0\/2001260<\/code>. \u041e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 LSN \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d <code>0\/2001260<\/code>. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0443.<\/p>\n<p>\u041f\u043e\u043d\u044f\u043b\u0438, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u043c \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043b\u0430\u043d\u0443:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0451 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0447\u0435\u0440\u0435\u0437 promote \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0430\u043f\u0434\u0435\u0439\u0442 \u043d\u0430 16 PostgreSQL.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 13-\u0439 \u043d\u0430 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0432\u0441\u0451 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e:<\/p>\n<pre><code class=\"bash\">postgres:~$ \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade --old-datadir=\/var\/lib\/postgresql\/13\/main --new-datadir=\/var\/lib\/postgresql\/16\/main  --old-bindir=\/usr\/lib\/postgresql\/13\/bin  --new-bindir=\/usr\/lib\/postgresql\/16\/bin  --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' --link Performing Consistency Checks Checking cluster versions                                     ok Checking database user is the install user                    ok Checking database connection settings                         ok Checking for prepared transactions                            ok Checking for system-defined composite types in user tables    ok Checking for reg* data types in user tables                   ok Checking for contrib\/isn with bigint-passing mismatch         ok Checking for incompatible \"aclitem\" data type in user tables  ok Checking for user-defined encoding conversions                ok Checking for user-defined postfix operators                   ok Checking for incompatible polymorphic functions               ok Creating dump of global objects                               ok Creating dump of database schemas                             ok Checking for presence of required libraries                   ok Checking database user is the install user                    ok Checking for prepared transactions                            ok Checking for new cluster tablespace directories               ok If pg_upgrade fails after this point, you must re-initdb the new cluster before continuing. Performing Upgrade Setting locale and encoding for new cluster                   ok Analyzing all rows in the new cluster                         ok Freezing all rows in the new cluster                          ok Deleting files from new pg_xact                               ok Copying old pg_xact to new server                             ok Setting oldest XID for new cluster                            ok Setting next transaction ID and epoch for new cluster         ok Deleting files from new pg_multixact\/offsets                  ok Copying old pg_multixact\/offsets to new server                ok Deleting files from new pg_multixact\/members                  ok Copying old pg_multixact\/members to new server                ok Setting next multixact ID and offset for new cluster          ok Resetting WAL archives                                        ok Setting frozenxid and minmxid counters in new cluster         ok Restoring global objects in the new cluster                   ok Restoring database schemas in the new cluster                                                               ok Adding \".old\" suffix to old global\/pg_control                 ok If you want to start the old cluster, you will need to remove the \".old\" suffix from \/var\/lib\/postgresql\/13\/main\/global\/pg_control.old. Because \"link\" mode was used, the old cluster cannot be safely started once the new cluster has been started. Linking user relation files                                                               ok Setting next OID for new cluster                              ok Sync data directory to disk                                   ok Creating script to delete old cluster                         ok Checking for extension updates                                notice Your installation contains extensions that should be updated with the ALTER EXTENSION command.  The file     update_extensions.sql when executed by psql by the database superuser will update these extensions. Upgrade Complete<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e:<\/p>\n<pre><code class=\"bash\">MASTER: \\c name_db 1) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u0441\u043b\u043e\u0442 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438: select pg_create_logical_replication_slot('logical_replica_slot', 'pgoutput'); 2) \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u0438 \u0435\u0433\u043e: select * from pg_replication_slots ;  MASTER: \\c name_db 3) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446: CREATE PUBLICATION name_db_pub FOR ALL TABLES;  REPLICA: \\c postgres 4) \u0421\u043d\u044f\u043b\u0438 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0440\u043e\u043b\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0435\u0451 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0439: SELECT pg_promote();  REPLICA: 5) \u041f\u043e\u0438\u0441\u043a LSN: cat \/var\/log\/postgresql\/postgresql-13-main.log | grep \"redo done at\" search lsn ~\"2B0C7\/5077C0\"  MASTER: \\c name_db 6) \u041f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u043b\u0438 \u0441\u043b\u043e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438: select pg_replication_slot_advance('logical_replica_slot', '2B0C7\/5077C0');  REPLICA: \\c name_db 7) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443: CREATE SUBSCRIPTION name_db_sub CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_db_pub WITH (copy_data=false, slot_name='logical_replica_slot', create_slot=false);<\/code><\/pre>\n<p>\u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u043d\u0430 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e:<\/p>\n<pre><code class=\"bash\">1) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438: apt install postgresql-16 postgresql-16-repack apt purge postgresql-16 postgresql-16-repack postgresql-16-repmgr 2) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: pg_lsclusters 3) \u0421\u0442\u043e\u043f PostgreSQL: systemctl stop postgresql (\u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430 \u0441\u043b\u043e\u0442\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f LSN \u0438 \u0441 \u044d\u0442\u043e\u0433\u043e LSN \u0441\u043b\u043e\u0442 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439) 4) \u041b\u043e\u0433\u0438\u043d \u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u043e\u043c PostgreSQL \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0443: su postgres 5) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f: \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade \\ --old-datadir=\/var\/lib\/postgresql\/13\/main \\ --new-datadir=\/var\/lib\/postgresql\/16\/main  \\ --old-bindir=\/usr\/lib\/postgresql\/13\/bin  \\ --new-bindir=\/usr\/lib\/postgresql\/16\/bin  \\ --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' \\ --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' \\ --check 5.1) \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: pg_dump -s pghero &gt; pghero.sql DROP EXTENSION pg_stat_statements cascade; DROP SCHEMA pghero cascade; DROP DATABASE pghero; DROP SCHEMA okmeter cascade; DROP SCHEMA repmgr cascade; \u0418\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0431\u0443\u0434\u0443\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e. pg_restore: creating VIEW \"pghero.pg_stat_activity\" pg_restore: while PROCESSING TOC: pg_restore: from TOC entry 203; 1259 19999367 VIEW pg_stat_activity postgres pg_restore: error: could not execute query: ERROR:  column reference \"backend_type\" is ambiguous LINE 34: \"pg_stat_activity\".\"backend_type\" 6) \u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u043f\u0443\u0442\u0451\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0436\u0451\u0441\u0442\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 inode \u0444\u0430\u0439\u043b\u043e\u0432: \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade \\ --old-datadir=\/var\/lib\/postgresql\/13\/main \\ --new-datadir=\/var\/lib\/postgresql\/16\/main  \\ --old-bindir=\/usr\/lib\/postgresql\/13\/bin  \\ --new-bindir=\/usr\/lib\/postgresql\/16\/bin  \\ --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' \\ --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' \\ --link 7) \u0412\u044b\u0445\u043e\u0434 \u0438\u0437-\u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u0430 PostgreSQL: exit 8) \u0421\u043c\u0435\u043d\u0430 \u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 PostgreSQL: nano \/etc\/postgresql\/16\/main\/postgresql.conf     port = 5433      # \u041c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 5432 nano \/etc\/postgresql\/13\/main\/postgresql.conf     port = 5432      # \u041c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 5433 \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \u043d\u043e\u0432\u043e\u0433\u043e PostgreSQL \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0435\u043f\u0440\u0435\u043a\u0435\u0439\u0442\u043d\u0443\u0442\u044b\u0445 \u043e\u043f\u0446\u0438\u0439. 9) \u0421\u0442\u0430\u0440\u0442 \u0441\u043b\u0443\u0436\u0431\u044b PostgreSQL: systemctl start postgresql 10) \u041b\u043e\u0433\u0438\u043d \u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u043e\u043c PostgreSQL: su postgres 11) \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Optimizer statistics, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0438\u0437 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: \/usr\/lib\/postgresql\/16\/bin\/vacuumdb --all --analyze-in-stages 12) \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: .\/delete_old_cluster.sh rm -rf \/etc\/postgresql\/13\/main 13) \u0412\u044b\u0445\u043e\u0434 \u0438\u0437-\u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u0430 PostgreSQL: exit 14) \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0431\u0430\u0437\u0443 \u043c\u0430\u0441\u0442\u0435\u0440\u0430, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u2014 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e. \u041f\u0420\u0418 \u042d\u0422\u041e\u041c \u0421\u0422\u0410\u0420\u0423\u042e \u2014 \u041d\u0415 \u0423\u0414\u0410\u041b\u042f\u0415\u041c, \u0438\u043d\u0430\u0447\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u0441\u044f \u0441\u043b\u043e\u0442 \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435: ALTER SUBSCRIPTION name_db_sub DISABLE; ALTER SUBSCRIPTION name_db_sub ENABLE; 15) \u041d\u043e\u0432\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0445\u0430 \u0432 14-\u043c \u043f\u0443\u043d\u043a\u0442\u0435: ALTER SUBSCRIPTION name_db_sub DISABLE; CREATE SUBSCRIPTION name_db_sub_2 CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_db_pub WITH (copy_data=false, slot_name='logical_replica_slot', create_slot=false); 16) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: \u043c\u0430\u0441\u0442\u0435\u0440: select usename,client_addr,state,replay_lag from pg_stat_replication; select slot_name,slot_type,active from pg_replication_slots; \u0440\u0435\u043f\u043b\u0438\u043a\u0430: SELECT * FROM pg_stat_subscription;<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043c\u0430\u0441\u0442\u0435\u0440\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u043d\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438\u0441\u044c, \u043f\u043e\u043a\u0430 \u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430\u043c\u0438 \u0438 \u0438\u0441\u043a\u0430\u043b \u0432\u0435\u0440\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<\/p>\n<p>\u042f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443, \u043d\u043e \u043d\u0435 \u0443\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c. \u0412 \u0438\u0442\u043e\u0433\u0435 \u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0440\u043e\u0439.<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u0440\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u0441\u044f, \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0435\u044f\u0441\u043d\u0430. \u0412 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0438 \u043b\u043e\u0433\u0430\u0445 \u0431\u044b\u043b\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0432\u043e\u0440\u043a\u0435\u0440 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c.<\/p>\n<p>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u0432\u0435\u0440\u0441\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 <code>pgoutput<\/code>, \u0447\u0442\u043e \u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442: \u0437\u0430\u0432\u043e\u0436\u0443 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443 \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e \u044d\u0442\u0430\u043f \u0441\u043c\u0435\u043d\u044b \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<h4>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u0438<\/h4>\n<p>\u041f\u043b\u0430\u043d:<\/p>\n<ol>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e LSN.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0438\u0433\u0430\u044e \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0442 \u043d\u0430 \u044d\u0442\u0443 LSN.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u044e \u0434\u043e 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u043e\u0436\u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 \u043d\u0430 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u043c\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"bash\">1) MASTER: \\c name_db select usename,client_addr,state,replay_lag from pg_stat_replication; select slot_name,slot_type,active from pg_replication_slots; 2) MASTER: \\c name_db select pg_create_logical_replication_slot('logical_replica_slot', 'pgoutput'); select * from pg_replication_slots; !!!check slot for database? 3) MASTER: \\c name_db CREATE PUBLICATION name_db_pub FOR ALL TABLES; 4) REPLICA: \\c postgres SELECT pg_promote(); 5) REPLICA: \u0411\u0435\u0440\u0435\u043c LSN \u0438\u0437 13-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 psql \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0435\u043c \u0441\u043b\u043e\u0442 \u0447\u0435\u0440\u0435\u0437 pg_replication_slot_advance: cat \/var\/log\/postgresql\/postgresql-13-main.log | grep \"redo done at\" 6) MASTER: \\c name_db select pg_replication_slot_advance('logical_replica_slot', '2BB97\/CF307EA0'); 7) MASTER: \u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043b\u043e\u0442 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438: select pg_drop_replication_slot('repmgr_slot_5'); 8) REPLICA: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438: apt-get install -y postgresql-16 postgresql-16-repack postgresql-16-repmgr postgresql-client-16 9) REPLICA: \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: pg_lsclusters 10) REPLICA \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: psql -U postgres -p 5432 &lt;&lt; EOF drop database pghero; \\connect name_db drop extension pg_repack cascade; drop extension pg_stat_statements cascade; drop schema pghero cascade; drop schema repack cascade; drop schema okmeter cascade; drop schema repmgr cascade; \\connect postgres drop extension pg_repack cascade; drop extension pg_stat_statements cascade; drop schema pghero cascade; drop schema repack cascade; drop schema okmeter cascade; drop schema repmgr cascade; EOF \u0418\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0431\u0443\u0434\u0443\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e. pg_restore: creating VIEW \"pghero.pg_stat_activity\" pg_restore: while PROCESSING TOC: pg_restore: from TOC entry 203; 1259 19999367 VIEW pg_stat_activity postgres pg_restore: error: could not execute query: ERROR:  column reference \"backend_type\" is ambiguous LINE 34:     \"pg_stat_activity\".\"backend_type\" 11) REPLICA: \u0421\u0442\u043e\u043f PostgreSQL: systemctl stop postgresql 12) REPLICA: \u041b\u043e\u0433\u0438\u043d \u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u043e\u043c PostgreSQL \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0443: su postgres 13) REPLICA: \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f: \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade \\ --old-datadir=\/var\/lib\/postgresql\/13\/main \\ --new-datadir=\/var\/lib\/postgresql\/16\/main  \\ --old-bindir=\/usr\/lib\/postgresql\/13\/bin  \\ --new-bindir=\/usr\/lib\/postgresql\/16\/bin  \\ --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' \\ --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' \\ --check 14) REPLICA: \u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u043f\u0443\u0442\u0451\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0436\u0451\u0441\u0442\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 inode \u0444\u0430\u0439\u043b\u043e\u0432: \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade \\ --old-datadir=\/var\/lib\/postgresql\/13\/main \\ --new-datadir=\/var\/lib\/postgresql\/16\/main  \\ --old-bindir=\/usr\/lib\/postgresql\/13\/bin  \\ --new-bindir=\/usr\/lib\/postgresql\/16\/bin  \\ --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' \\ --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' \\ --link 15) REPLICA: \u0412\u044b\u0445\u043e\u0434 \u0438\u0437-\u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u0430 PostgreSQL: exit 16) REPLICA: \u041f\u0440\u0430\u0432\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u043c\u0435\u043d\u0430 \u043f\u043e\u0440\u0442\u043e\u0432: rsync -av \/etc\/postgresql\/13\/main\/ \/etc\/postgresql\/16\/main\/ sed -i '\/stats_temp_directory\/d' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i '\/vacuum_defer_cleanup_age\/d' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/pg_stat_statements,pg_repack\/pg_stat_statements\/' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/\\\/13\\\/\/\\\/16\\\/\/' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/5433\/5432\/' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/13-main\/16-main\/' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/13\\\/main\/16\\\/main\/' \/etc\/postgresql\/16\/main\/postgresql.conf sed -i 's\/5432\/5433\/' \/etc\/postgresql\/13\/main\/postgresql.conf 17) REPLICA: \u0421\u0442\u0430\u0440\u0442 \u0441\u043b\u0443\u0436\u0431\u044b PostgreSQL: systemctl start postgresql 18) REPLICA: \u041b\u043e\u0433\u0438\u043d \u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u043e\u043c PostgreSQL: su postgres 19) REPLICA: \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Optimizer statistics, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0438\u0437 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: \/usr\/lib\/postgresql\/16\/bin\/vacuumdb --all --analyze-in-stages 20) REPLICA: \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: .\/delete_old_cluster.sh rm -rf \/etc\/postgresql\/13\/main 21) REPLICA: \u0412\u044b\u0445\u043e\u0434 \u0438\u0437-\u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u0430 PostgreSQL: exit 22) REPLICA: \\c name_db CREATE SUBSCRIPTION name_db_sub CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_db_pub WITH (copy_data=false, slot_name='logical_replica_slot', create_slot=false);<\/code><\/pre>\n<p>\u042f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443 \u0438 \u0434\u043e\u0436\u0434\u0430\u043b\u0441\u044f, \u043f\u043e\u043a\u0430 \u043e\u043d\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043b \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0442 \u0434\u043b\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043d\u0443\u0436\u043d\u043e\u0439 \u0431\u0430\u0437\u044b, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u0432\u044b\u0441\u0438\u043b \u0441\u0442\u0430\u0442\u0443\u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0442 \u043f\u043e LSN. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b \u0440\u0435\u043f\u043b\u0438\u043a\u0443, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e PostgreSQL \u0438 \u0441\u043e\u0437\u0434\u0430\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435.<\/p>\n<p>\u0418 \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430! \u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c PostgreSQL \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<h3>\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0440\u043e\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443<\/h3>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043b\u0430\u043d \u0431\u044b\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043a\u0430\u0441\u0430\u043b\u0441\u044f \u0441\u043c\u0435\u043d\u044b \u0440\u043e\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443:<\/p>\n<ol>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043b\u0430\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u043d\u043e\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 \u0434\u043b\u044f \u201c\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430\u201d \u043a\u044d\u0448\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u043c\u0430\u0441\u0442\u0435\u0440 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 <code>read_only<\/code> \u0438 \u0434\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0441\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u044f\u0435\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c PostgreSQL \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0441\u0442\u0435\u0440 \u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443 \u0441 \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 16.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043b\u0430\u043d \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u044b\u0439 PostgreSQL:<\/p>\n<pre><code class=\"bash\">0) REPLICA: vacuumdb --all --analyze-in-stages 1) MASTER: CHECKPOINT; ALTER SYSTEM SET default_transaction_read_only TO on; SELECT pg_reload_conf(); SHOW default_transaction_read_only;     1.1) replay_lag \u0434\u043e\u0432\u043e\u0434\u0438\u043c \u0434\u043e 0     MASTER:     select usename,client_addr,state,replay_lag from pg_stat_replication; 2) REPLICA: \\c name_db ALTER SUBSCRIPTION name_db_sub DISABLE; 3) CLUSTER: \u041f\u0440\u0430\u0432\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0442\u0435\u0440. 4) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 PostgreSQL \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u043e\u0440\u043e\u043d:     4.1) \u041e\u0422\u041a\u0410\u0422:         4.1.1) MASTER:         ALTER SYSTEM SET default_transaction_read_only TO off;         SELECT pg_reload_conf();         4.1.1) CLUSTER:         \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0439 \u043c\u0430\u0441\u0442\u0435\u0440:         4.1.2) REPLICA:         \\c name_db         ALTER SUBSCRIPTION name_db_sub ENABLE; 5) REPLICA: \\c name_db DROP SUBSCRIPTION name_db_sub; 6) MASTER: \\c name_db DROP PUBLICATION name_db_pub; \\c name_db select pg_drop_replication_slot('repmgr_slot_5'); select pg_drop_replication_slot('logical_replica_slot'); exit; sudo systemctl stop postgresql<\/code><\/pre>\n<p>\u041f\u043b\u0430\u043d \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b. \u0412\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u0432\u0441\u0435\u0433\u043e 10\u201315 \u0441\u0435\u043a\u0443\u043d\u0434, \u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0431\u044b\u043b \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u043a\u043f\u043e\u0438\u043d\u0442\u0430 \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<p>\u0412\u0430\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0442\u0430\u043a\u0436\u0435 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u043b\u043e\u0442, \u0447\u0442\u043e\u0431\u044b \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0442\u043a\u0430\u0442.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c <code>SEQUENCE<\/code>:<\/p>\n<pre><code class=\"bash\">ALTER SEQUENCE id_seq RESTART WITH 1698070;<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0447\u0435\u0433\u043e \u044d\u0442\u043e? \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 (primary key) \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 UUID v4. \u041d\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u2014 \u044d\u0442\u043e <abbr class=\"habraabbr\" title=\"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u0431\u0430\u0437\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.\" data-title=\"&lt;p&gt;\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u0431\u0430\u0437\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.&lt;\/p&gt;\" data-abbr=\"autoincrement\">autoincrement<\/abbr>, \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0439 \u043e\u0442 <code>SEQUENCE<\/code>. \u0412 \u044d\u0442\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>SEQUENCE<\/code> \u043d\u0435 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d.<\/p>\n<h3>\u0418\u0442\u043e\u0433\u0438<\/h3>\n<p>\u041c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 PostgreSQL \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u0434\u043e 16 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u043c \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c\u044e. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 LSN \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430\u043c\u0438, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c. \u042d\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e \u044d\u0442\u0430\u043f\u0430 \u0441\u043c\u0435\u043d\u044b \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<p>\u041e\u0442\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 PostgreSQL \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c, \u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0433. \u042f \u0443\u0447\u0451\u043b \u0440\u043e\u0441\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0431\u044b \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043a\u043e\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0442\u0430\u0440\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<h3>P. S.<\/h3>\n<p>\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/goo.su\/840568o\"><u>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b switchover \u0432 Patroni. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0438\u0437 SRE-\u0431\u0443\u0434\u043d\u0435\u0439. \u0427\u0430\u0441\u0442\u044c 8<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/goo.su\/678046o\"><u>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u0435\u0442\u0440\u0438\u043a \u0432 Prometheus \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 PostgreSQL \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Vector<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/goo.su\/842742o\"><u>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f Deckhouse Kubernetes Platform 1.61-1.64: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 Grafana 10, \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u0441 Fencing, CLI \u0434\u043b\u044f Windows<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/866250\/\"> https:\/\/habr.com\/ru\/articles\/866250\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u042f \u0422\u0438\u043c\u0443\u0440 \u041d\u0438\u0437\u0430\u043c\u0443\u0442\u0434\u0438\u043d\u043e\u0432, DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/flant.ru\/?utm_source=web&amp;utm_medium=habr&amp;utm_campaign=postgres_171224\"><u>\u00ab\u0424\u043b\u0430\u043d\u0442\u00bb<\/u><\/a>. \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 20 000 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0438 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u0434\u043e 16 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u043c. \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u044d\u0442\u043e \u0440\u0435\u0448\u0430\u043b\u043e \u0438 \u0440\u044f\u0434 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0442\u0430\u0440\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0441\u0442\u0430\u043b\u0438 \u0443\u0437\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c. \u0418\u0445 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0451\u043c\u0430\u043c\u0438 \u0434\u0438\u0441\u043a\u043e\u0432. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0410 \u0435\u0449\u0451 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0432\u0435\u0436\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e PostgreSQL \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043a\u043e\u043d\u0446\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0433\u043e\u0434\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b PostgreSQL \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0441 \u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 PostgreSQL \u0447\u0435\u0440\u0435\u0437 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0440\u043e\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438<\/h3>\n<h4>\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f<\/h4>\n<p>\u042f \u0441\u0440\u0430\u0437\u0443 \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0431\u0430\u0437\u044b:<\/p>\n<pre><code class=\"bash\">1) \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0431\u0430\u0437\u0443 PostgreSQL \u0438 \u0441\u0445\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e\u0439 \u0431\u0430\u0437\u044b:  pg_dumpall --database=postgres --host=x.x.x.x --no-password --globals-only --no-privileges | psql pg_dump --dbname name_db --host=x.x.x.x --no-password --create --schema-only | psql 2) \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0431\u0430\u0437\u044b \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435: CREATE PUBLICATION name_pub FOR ALL TABLES; 3) C\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435: CREATE SUBSCRIPTION name_sub CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_pub; 4) \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0435: select * from pg_catalog.pg_publication; 5) \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0435: SELECT * FROM pg_stat_subscription;<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043e\u043a\u043e\u043b\u043e 1 \u0413\u0411 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443. \u041f\u0440\u0438 \u043e\u0431\u044a\u0451\u043c\u0435 \u0431\u0430\u0437\u044b \u0432 3,5 \u0422\u0411 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0437\u0430\u0439\u043c\u0451\u0442 2\u20133 \u0434\u043d\u044f \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041d\u043e \u043f\u043e\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043b\u0438\u0432 \u0431\u0430\u0437\u044b, \u0432\u0430\u043b\u044b (<abbr class=\"habraabbr\" title=\"Write-Ahead Logging \u2014 \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f WAL \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c.\" data-title=\"&lt;p&gt;Write-Ahead Logging \u2014 \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 PostgreSQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f WAL \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c.&lt;\/p&gt;\" data-abbr=\"WAL\">\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f WAL \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c&lt;\/p&gt;&#187; data-abbr=&#187;WAL&#187;>WAL<\/abbr>) \u0434\u043b\u044f \u0441\u043b\u043e\u0442\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0440\u0430\u0441\u0442\u0438 \u0434\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432, \u0447\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u0434 \u043d\u0438\u0445 \u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f, \u0438 \u043c\u0430\u0441\u0442\u0435\u0440 \u00ab\u0443\u043f\u0430\u0434\u0451\u0442\u00bb.\u00a0<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u044f \u0440\u0435\u0448\u0438\u043b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e\u0431 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435. \u0418 \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e.<\/p>\n<h4>\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/h4>\n<p>\u0427\u0435\u0440\u043d\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u044e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0416\u0434\u0443, \u043a\u043e\u0433\u0434\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0434\u043e\u0439\u0434\u0451\u0442 \u0434\u043e \u0442\u043e\u0447\u043a\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0436\u0443 \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0435\u0440\u0435\u0437 <code>pg_upgrade<\/code> \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e PostgreSQL \u0434\u043e 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 10\u00a0\u0413\u0411 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443, \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u043e\u0441\u0442\u0430 \u0432\u0430\u043b\u043e\u0432 \u0431\u044b\u043b\u0430 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439.<\/p>\n<p>\u041d\u043e \u043a\u0430\u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u043f\u043e\u0439\u043c\u0451\u0442, \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 <abbr class=\"habraabbr\" title=\"\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 PostgreSQL \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 WAL.\" data-title=\"&lt;p&gt;\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;&lt;p&gt;\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 PostgreSQL \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 WAL.&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;\" data-abbr=\"LSN\">\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 PostgreSQL \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 WAL.&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;&#187; data-abbr=&#187;LSN&#187;>LSN<\/abbr> \u0435\u0439 \u043d\u0430\u0434\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443? \u0412\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f LSN \u0434\u043b\u044f \u0441\u043b\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e:<\/p>\n<pre><code class=\"bash\">select pg_create_logical_replication_slot('logical_replica_slot', 'pgoutput'); select pg_replication_slot_advance('logical_replica_slot', '0\/2001260');<\/code><\/pre>\n<p>\u041a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 LSN \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043b\u043e\u0442\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438? \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 promote \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0443\u044e, \u0432 \u043b\u043e\u0433\u0430\u0445 PostgreSQL \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 <code>redo done at 0\/2001260<\/code>. \u041e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 LSN \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d <code>0\/2001260<\/code>. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0443.<\/p>\n<p>\u041f\u043e\u043d\u044f\u043b\u0438, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u043c \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043b\u0430\u043d\u0443:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0451 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0447\u0435\u0440\u0435\u0437 promote \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0430\u043f\u0434\u0435\u0439\u0442 \u043d\u0430 16 PostgreSQL.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 13-\u0439 \u043d\u0430 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0432\u0441\u0451 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e:<\/p>\n<pre><code class=\"bash\">postgres:~$ \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade --old-datadir=\/var\/lib\/postgresql\/13\/main --new-datadir=\/var\/lib\/postgresql\/16\/main  --old-bindir=\/usr\/lib\/postgresql\/13\/bin  --new-bindir=\/usr\/lib\/postgresql\/16\/bin  --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' --link Performing Consistency Checks Checking cluster versions                                     ok Checking database user is the install user                    ok Checking database connection settings                         ok Checking for prepared transactions                            ok Checking for system-defined composite types in user tables    ok Checking for reg* data types in user tables                   ok Checking for contrib\/isn with bigint-passing mismatch         ok Checking for incompatible \"aclitem\" data type in user tables  ok Checking for user-defined encoding conversions                ok Checking for user-defined postfix operators                   ok Checking for incompatible polymorphic functions               ok Creating dump of global objects                               ok Creating dump of database schemas                             ok Checking for presence of required libraries                   ok Checking database user is the install user                    ok Checking for prepared transactions                            ok Checking for new cluster tablespace directories               ok If pg_upgrade fails after this point, you must re-initdb the new cluster before continuing. Performing Upgrade Setting locale and encoding for new cluster                   ok Analyzing all rows in the new cluster                         ok Freezing all rows in the new cluster                          ok Deleting files from new pg_xact                               ok Copying old pg_xact to new server                             ok Setting oldest XID for new cluster                            ok Setting next transaction ID and epoch for new cluster         ok Deleting files from new pg_multixact\/offsets                  ok Copying old pg_multixact\/offsets to new server                ok Deleting files from new pg_multixact\/members                  ok Copying old pg_multixact\/members to new server                ok Setting next multixact ID and offset for new cluster          ok Resetting WAL archives                                        ok Setting frozenxid and minmxid counters in new cluster         ok Restoring global objects in the new cluster                   ok Restoring database schemas in the new cluster                                                               ok Adding \".old\" suffix to old global\/pg_control                 ok If you want to start the old cluster, you will need to remove the \".old\" suffix from \/var\/lib\/postgresql\/13\/main\/global\/pg_control.old. Because \"link\" mode was used, the old cluster cannot be safely started once the new cluster has been started. Linking user relation files                                                               ok Setting next OID for new cluster                              ok Sync data directory to disk                                   ok Creating script to delete old cluster                         ok Checking for extension updates                                notice Your installation contains extensions that should be updated with the ALTER EXTENSION command.  The file     update_extensions.sql when executed by psql by the database superuser will update these extensions. Upgrade Complete<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e:<\/p>\n<pre><code class=\"bash\">MASTER: \\c name_db 1) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u0441\u043b\u043e\u0442 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438: select pg_create_logical_replication_slot('logical_replica_slot', 'pgoutput'); 2) \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u0438 \u0435\u0433\u043e: select * from pg_replication_slots ;  MASTER: \\c name_db 3) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446: CREATE PUBLICATION name_db_pub FOR ALL TABLES;  REPLICA: \\c postgres 4) \u0421\u043d\u044f\u043b\u0438 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0440\u043e\u043b\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0435\u0451 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0439: SELECT pg_promote();  REPLICA: 5) \u041f\u043e\u0438\u0441\u043a LSN: cat \/var\/log\/postgresql\/postgresql-13-main.log | grep \"redo done at\" search lsn ~\"2B0C7\/5077C0\"  MASTER: \\c name_db 6) \u041f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u043b\u0438 \u0441\u043b\u043e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438: select pg_replication_slot_advance('logical_replica_slot', '2B0C7\/5077C0');  REPLICA: \\c name_db 7) \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443: CREATE SUBSCRIPTION name_db_sub CONNECTION 'host=x.x.x.x dbname=name_db' PUBLICATION name_db_pub WITH (copy_data=false, slot_name='logical_replica_slot', create_slot=false);<\/code><\/pre>\n<p>\u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u043d\u0430 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e:<\/p>\n<pre><code class=\"bash\">1) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 16-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438: apt install postgresql-16 postgresql-16-repack apt purge postgresql-16 postgresql-16-repack postgresql-16-repmgr 2) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: pg_lsclusters 3) \u0421\u0442\u043e\u043f PostgreSQL: systemctl stop postgresql (\u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430 \u0441\u043b\u043e\u0442\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f LSN \u0438 \u0441 \u044d\u0442\u043e\u0433\u043e LSN \u0441\u043b\u043e\u0442 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439) 4) \u041b\u043e\u0433\u0438\u043d \u043f\u043e\u0434 \u044e\u0437\u0435\u0440\u043e\u043c PostgreSQL \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0443: su postgres 5) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f: \/usr\/lib\/postgresql\/16\/bin\/pg_upgrade \\ --old-datadir=\/var\/lib\/postgresql\/13\/main \\ --new-datadir=\/var\/lib\/postgresql\/16\/main  \\ --old-bindir=\/usr\/lib\/postgresql\/13\/bin  \\ --new-bindir=\/usr\/lib\/postgresql\/16\/bin  \\ --old-options '-c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf' \\ --new-options '-c config_file=\/etc\/postgresql\/16\/main\/postgresql.conf' \\ --check 5.1) \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430: pg_dump -s pghero &gt; pghero.sql DROP EXTENSION pg_stat_statements cascade; DROP SCHEMA pghero cascade; DROP DATABASE pghero; DROP SCHEMA okmeter cascade; DROP SCHEMA repmgr cascade; \u0418\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0431\u0443\u0434\u0443\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e. pg_restore: creating VIEW \"pghero.pg_stat_activity\" pg_restore:<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-443126","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/443126","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=443126"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/443126\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=443126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=443126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=443126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}