{"id":379596,"date":"2024-06-25T03:07:17","date_gmt":"2024-06-25T03:07:17","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=379596"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=379596","title":{"rendered":"<span>\u041a\u0430\u043a \u043c\u044b \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0438\u0437 Oracle \u0432 PostgreSQL<\/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, \u0425\u0430\u0431\u0440! \u042f <strong>\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440 \u0425\u0430\u0439\u043c\u0438\u043d<\/strong>, \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u0432 \u0412\u0422\u0411. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043b\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 ora2pg. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u0435\u0433\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0438\u0437\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0430\u0437\u0430\u0445 Oracle \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043f\u043e\u0434 1\u0422\u0431 \u0438 \u0432\u044b\u0448\u0435. \u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0442\u043e\u043b\u044c\u043a\u043e oracle_fdw, \u043b\u0438\u0431\u043e \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 ora2pg \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u0418\u0437 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432: \u043f\u043e\u043d\u044f\u0442\u0438\u0435 &#171;\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&#187; \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0441\u0443\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e &#8212; \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043d\u0430 \u0431\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d \u043e\u043f\u044b\u0442 \u043a\u043e\u043b\u043b\u0435\u0433 \u0438\u0437 FORS, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438. \u0418 \u0432 \u0446\u0435\u043b\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h2><\/h2>\n<h2>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<p><strong>       <\/strong><a href=\"#1\"><strong>\u041e\u0431\u0449\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong><\/a><\/p>\n<ol>\n<li>\n<p><a href=\"#2\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u0411\u0414?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3\">\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 Oracle \u0432 PostgreSQL<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4\">\u042d\u0442\u0430\u043f\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u0420\u041e\u041c \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0411\u0414 Ora2Pg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6\">\u0422\u0438\u043f\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 Ora2Pg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#7\">\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 Oracle \u0432 PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SQL\/MED?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#8\">\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#9\">\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#10\">\u0411\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0411\u0414<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#11\">\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/a><\/p>\n<p><a href=\"#12\"><strong>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#13\">\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#14\">\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0438 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#15\">\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#16\">\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a + \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/p>\n<p><a href=\"#17\"><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#18\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#19\">\u041f\u0440\u0435\u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#20\">\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#21\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#22\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#23\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#24\">\u0418\u043c\u043f\u043e\u0440\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0445\u0435\u043c\u044b \u0438 \u043f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 <\/a><\/p>\n<p><a href=\"#25\"><strong>\u041f\u043b\u0430\u043d \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong> <\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#26\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1. \u0421\u0445\u0435\u043c\u044b \u0411\u0414 PostgreSQL \u043d\u0435\u0442, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0439 \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#27\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2. \u0421\u0445\u0435\u043c\u0430 \u0411\u0414 PostgreSQL \u0435\u0441\u0442\u044c, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043c\u0430\u043f\u0438\u0442\u044c \u0441 \u0442\u043e\u0439, \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#28\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430. \u041f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#29\">\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#30\">\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0432\u0441\u0442\u0430\u0432\u043e\u043a \u0438 \u0440\u043e\u0441\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0411\u0414 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 <\/a><\/p>\n<p><a href=\"#31\"><strong>\u0418\u0442\u043e\u0433\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/strong><\/a><\/p>\n<\/p>\n<\/li>\n<\/ol>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<h2>\u041e\u0431\u0449\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h2>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<h3>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u0411\u0414?<\/h3>\n<p>\u0422\u043e\u0447\u043d\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0411\u0414 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 5, 10, 15 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0441\u0447\u0438\u0442\u0430\u043b\u0438\u0441\u044c \u043a\u0440\u0443\u043f\u043d\u044b\u043c\u0438 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u0441\u0440\u0435\u0434\u043d\u0438\u0445 \u0438\u043b\u0438 \u043c\u0430\u043b\u044b\u0445.<\/p>\n<p>\u041a\u0440\u0443\u043f\u043d\u043e\u0439 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0435\u0435 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0435\u0439, \u0447\u0442\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>\u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0411\u0414 (\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044f, \u0432\u0430\u043a\u0443\u0443\u043c).<\/p>\n<\/li>\n<\/ul>\n<p>\u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f \u0432 \u0446\u0435\u043b\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u044f \u0411\u0414 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438\u043b\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u041a\u043e\u0433\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0430\u043c\u0438, \u0430 \u0442\u043e \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u043c\u0438 \u0447\u0430\u0441\u043e\u0432 \u0438\u043b\u0438 \u0441\u0443\u0442\u043e\u043a.<\/p>\n<p>\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435\u0439 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043b\u044f PostgreSQL \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0411\u0414 \u043e\u0442 1\u0422\u0431 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e 12\u0422\u0431. \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 \u0411\u0414 \u0441\u0432\u0435\u0440\u0445\u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432, \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043e\u0434\u043d\u0430\u043a\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435. \u0428\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043a\u0430\u043a \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u043c, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0411\u0414.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<h3>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 Oracle \u0432 PostgreSQL<\/h3>\n<p>\u041e\u0431\u0449\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u044d\u0442\u0430\u043f\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u0438 \u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p><strong>\u041e\u0446\u0435\u043d\u043a\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/strong> \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0445\u043e\u0440\u043e\u0448\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 Oracle \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0435\u0442. \u041e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u043f\u0440\u043e\u0441\u043d\u0438\u043a \u043f\u043e \u0442\u043e\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0411\u0414 Oracle \u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0432 PostgreSQL \u0432\u0432\u0438\u0434\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043b\u0438\u0431\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 PostgreSQL. \u041e\u043f\u0440\u043e\u0441\u043d\u0438\u043a \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435, \u0447\u0435\u043c 100 \u043f\u0443\u043d\u043a\u0442\u043e\u0432. \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c \u0411\u0414, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c LOB, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 Oracle \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 PostgreSQL, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0434 Java, \u043f\u0430\u043a\u0435\u0442\u044b \u0432\u0440\u043e\u0434\u0435 DMBS, UTL \u0438 \u0442.\u0434. \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u044d\u0442\u043e \u0432 PostgreSQL \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0432\u043e\u0432\u0441\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u043d\u0435\u0433\u043e, \u0432\u044b\u043d\u0435\u0441\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430<\/strong> \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0435\u0439 Oracle \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0443, \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 PostgreSQL;<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0431\u043e\u0440 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/strong> \u042d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043a\u0430\u043a \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0432\u0440\u043e\u0434\u0435 Diasoft Migrator, Ispirer \u0438\u043b\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043a\u0430\u043a Ora2pg. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0411\u0414 \u043c\u043e\u0436\u043d\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 DBeaver;<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f.<\/strong> \u041e\u0446\u0435\u043d\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u0447\u0430\u0441\u0442\u0438 DDL \u0434\u043e \u0442\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u044b\u043b \u0431\u044b \u0434\u043b\u044f \u043d\u0430\u0441, \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0411\u0414 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 Oracle \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0430\u0447\u0435, \u0447\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 PostgreSQL. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0443 \u043d\u0430\u0441 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0411\u0414 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u0446\u0435\u043d\u043a\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 100 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0438 \u0432\u0435\u043d\u0434\u043e\u0440, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0438\u043c\u0435\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/81d\/a3a\/fd9\/81da3afd904302462879c2a360c94dea.png\" width=\"642\" height=\"396\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/81d\/a3a\/fd9\/81da3afd904302462879c2a360c94dea.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"4\" id=\"4\"><\/a><\/p>\n<h3>\u042d\u0442\u0430\u043f\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u0420\u041e\u041c \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<ol>\n<li>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0411\u0414, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0447\u0430\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439 \u0431\u043e\u043b\u0435\u0435 90% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u044f. \u0427\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043c\u044b \u043c\u0438\u0433\u0440\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0411\u0414 PostgreSQL;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0435\u0446 \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/358\/42b\/380\/35842b380c11b1a1bd4f98b9bc801378.png\" alt=\"\u0422\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438    \" title=\"\u0422\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438    \" width=\"642\" height=\"262\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/358\/42b\/380\/35842b380c11b1a1bd4f98b9bc801378.png\"\/><\/p>\n<div><figcaption><em>\u0422\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 <\/em>   <\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"5\" id=\"5\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0411\u0414 Ora2Pg<\/h3>\n<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445, \u0442\u0430\u043a \u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u0418 \u0442\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0431\u0449\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u0441\u0435\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u2013 \u044d\u0442\u043e \u043d\u0438\u0437\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438\u0447\u0435\u043c ora2pg \u0438\u043c\u0435\u0435\u0442 \u0441\u0430\u043c\u0443\u044e \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u0430\u043a \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u043c\u043d\u043e\u0433\u0438\u0435, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u0435\u0442 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e LOB \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445, \u0438 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0436\u043d\u0435\u0435 \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u043e\u043b\u044f\u0445 bytea, text \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0434\u043e 1 GB, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e 1000 \u0441\u0442\u0440\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0443\u0436\u0435 1 \u0422\u0412 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0443\u0434\u0438\u0442\u044c \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0435 \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0432\u0435\u0440\u043d\u043e, \u0432\u0430\u0436\u043d\u0435\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445.<\/p>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0432 \u0446\u0435\u043b\u043e\u043c \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0435\u043c\u0438, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043c\u044b.<\/p>\n<p><a class=\"anchor\" name=\"6\" id=\"6\"><\/a><\/p>\n<h3>\u0422\u0438\u043f\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 Ora2Pg<\/h3>\n<p><strong>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c.<\/strong><\/p>\n<p>\u0412\u044b\u0433\u0440\u0443\u0437\u043a\u0430:<br \/><code>nohup ora2pg -j 2 -J 12 -t INSERT -o data.sql -b .\/data -c .\/config\/ora2pg.conf<\/code><br \/>Oracle \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 12 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0434\u0435\u0442 \u0432 \u0434\u0432\u0430, \u0435\u0449\u0435 \u0434\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 ora2pg.<\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430:<br \/><code>nohup \/postgres\/ora2pg\/client\/import_all.sh -d client -o postgres -U postgres -a -y -I -P 8<\/code><br \/>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430 \u0432 \u0440\u0430\u0437\u044b, \u043d\u043e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u0432\u0441\u0435 \u0435\u0449\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<p>\u041f\u0435\u0440\u0435\u043b\u0438\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0411\u0414 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0432 \u0411\u0414 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 oracle_fdw \u0432 ora2pg:<br \/><code>FDW_SERVER\u00a0\u00a0\u00a0\u00a0\u00a0 orcl<br \/>$ ora2pg -t COPY -c config\/ora2pg.conf<br \/>[========================>] 7\/7 tables (100.0%) end of scanning.\u00a0 <br \/>[========================>] 7\/7 tables (100.0%) end of table export<br \/>NOTICE:\u00a0 schema \"ora2pg_fdw_import\" does not exist, skipping<br \/>[========================>] 215\/215 rows (100.0%) on total estimated data (2 sec., avg: 107 recs\/sec)<\/code><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 2,5 \u0440\u0430\u0437\u0430. \u041d\u043e \u043f\u043e\u043a\u0430 \u0434\u0430\u043c\u043f \u0435\u0449\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<p><a class=\"anchor\" name=\"7\" id=\"7\"><\/a><\/p>\n<h3>\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 Oracle \u0432 PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SQL\/MED?<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fd4\/c66\/ad2\/fd4c66ad258797edbe9c5820dc7bf846.png\" width=\"642\" height=\"352\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fd4\/c66\/ad2\/fd4c66ad258797edbe9c5820dc7bf846.png\"\/><\/figure>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0434\u0430\u043c\u043f\u0430, \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0411\u0414 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 oracle_fdw.<br \/>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<br \/>oracle-instantclient19.10-sqlplus-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-tools-19.10.0.0.0-1.x86_64<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 oracle_fdw \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0411\u0414 \u2013 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443 Oracle:<\/p>\n<pre><code class=\"sql\">CREATE EXTENSION oracle_fdw;CREATE SERVER k3test_oracle FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '\/\/oracle.host:1521\/k3test');CREATE USER MAPPING FOR postgres SERVER k3test_oracle OPTIONS (user 'or2pgmigration', password '*******');<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a pm \u0438 \u0441\u0445\u0435\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a pm_fdw:<br \/>create schema pm;<br \/>create schema pm_fdw;<\/p>\n<p>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0445\u0435\u043c\u0443 PM \u0432 \u0431\u0430\u0437\u0435 Oracle \u0432 \u0441\u0445\u0435\u043c\u0443 pm_fdw \u0432 \u0431\u0430\u0437\u0435 PostgreSQL:<\/p>\n<pre><code class=\"sql\">IMPORT FOREIGN SCHEMA \"PM\" FROM SERVER k3test_oracle INTO pm_fdw;<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0445\u0435\u043c\u0430 pm_fdw \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle.<\/p>\n<h4>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f DDL \u0441\u0445\u0435\u043c\u044b<\/h4>\n<p><strong>\u0414\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code class=\"sql\">create table pm.table1 as   select * from   pm_fdw.table1  where false;<\/code><\/pre>\n<p><strong>\u0414\u043b\u044f \u0441\u0445\u0435\u043c\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0441 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430\u043c\u0438):<\/strong><\/p>\n<pre><code class=\"sql\">do $$        declare              schema_from varchar = 'pm_fdw';              schema_to varchar = 'pm';              r record; begin        for r in select table_name from information_schema.\"tables\" where table_schema = schema_from        loop          EXECUTE 'create table '||schema_to||'.'||r.table_name||' as select * from '||schema_from||'.'||r.table_name||'where false';        end loop; end $$<\/code><\/pre>\n<h4>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p><strong>\u0414\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code class=\"sql\">insert into table pm.table1 as   select * from pm_fdw.table1;<\/code><\/pre>\n<p><strong>\u0414\u043b\u044f \u0441\u0445\u0435\u043c\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c:<\/strong><\/p>\n<pre><code class=\"sql\">do $$        declare              schema_from varchar = 'pm_fdw';              schema_to varchar = 'pm';              r record; begin        for r in select table_name from information_schema.\"tables\" where table_schema = schema_from        loop          EXECUTE 'insert into '||schema_to||'.'||r.table_name||' select * from '||schema_from||'.'||r.table_name;        end loop; end $$<\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: 1\u0413\u0431 \u0437\u0430 1 \u043c\u0438\u043d 45 \u0441\u0435\u043a \u043f\u0440\u043e\u0442\u0438\u0432 44 \u043c\u0438\u043d\u0443\u0442 \u0432 ora2pg \u0431\u0435\u0437 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p><a class=\"anchor\" name=\"8\" id=\"8\"><\/a><\/p>\n<h3>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c<\/h3>\n<p>\u041e\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u043e \u0438 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0442\u0438\u043f\u0443 number, \u0433\u0434\u0435 \u0434\u043b\u044f \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0438 \u0442\u0438\u043f int8, \u0447\u0442\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 float \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p><strong>Oracle:<\/strong><\/p>\n<pre><code class=\"sql\">CREATE TABLE \"PM\".\"EVENTSNAPSHOT\"    (\"ID\" VARCHAR2(36 CHAR) NOT NULL ENABLE, \"CITIZENID\" NUMBER NOT NULL ENABLE,   \"DTC\" TIMESTAMP (6) DEFAULT systimestamp NOT NULL ENABLE, \"DTM\" TIMESTAMP (6) DEFAULT systimestamp NOT NULL ENABLE, \"BODYTYPE\" VARCHAR2(200 CHAR) NOT NULL ENABLE, \"BODY\" CLOB, \"EXTENDEDDATA\" BLOB, \"PARTITION_DATE\" DATE DEFAULT trunc(systimestamp) NOT NULL ENABLE    )<\/code><\/pre>\n<p><strong>PostgreSQL:<\/strong><\/p>\n<pre><code class=\"sql\">CREATE TABLE pm_fdw.eventsnapshot ( id varchar(36) NOT NULL, citizenid numeric NULL, dtc timestamp NOT NULL, dtm timestamp NOT NULL, bodytype varchar(200) NOT NULL, body text NULL, extendeddata bytea NULL, partition_date timestamp(0) NOT NULL )<\/code><\/pre>\n<p><strong>\u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e:<\/strong><\/p>\n<p><code>\"ID\" VARCHAR2(36 CHAR) -> id varchar(36)<br \/>\"CITIZENID\" NUMBER -> citizenid numeric NULL<br \/>\"BODY\" CLOB -> body text<br \/>\"EXTENDEDDATA\" BLOB -> extendeddata bytea<\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0438\u043f, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u044b, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435. \u0422\u0430\u043a\u0436\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u044d\u0442\u043e \u0445\u043e\u0442\u044f \u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0433\u0438\u0431\u043a\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 SQL.<\/p>\n<p><a class=\"anchor\" name=\"9\" id=\"9\"><\/a><\/p>\n<h3>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0438\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 Ora2Pg.<\/p>\n<p><strong>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u0435\u043d\u0434\u043e\u0440 \u0443\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0411\u0414 PostgreSQL.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0442, \u0442\u043e:<\/strong><\/p>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 oracle_fdw);<\/p>\n<\/li>\n<li>\n<p>\u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 ora2pg);<\/p>\n<\/li>\n<li>\n<p>\u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 ora2pg);<\/p>\n<\/li>\n<li>\n<p>\u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432, \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 ora2pg).<\/p>\n<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"10\" id=\"10\"><\/a><\/p>\n<h3>\u0411\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0411\u0414<\/h3>\n<p>\u0415\u0441\u043b\u0438 oracle_fdw \u0445\u043e\u0440\u043e\u0448 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u0435\u0433\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445?<\/p>\n<p>ora_migrator \u2013 \u044d\u0442\u043e \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Cybertech \u0434\u043b\u044f oracle_fdw. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u2014 \u0442\u043e\u0442 \u0436\u0435 \u0430\u0432\u0442\u043e\u0440, \u0447\u0442\u043e \u0438 oracle_fdw.<\/p>\n<p><strong>\u0428\u0430\u0433\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 ora_migrator:<\/strong><\/p>\n<ul>\n<li>\n<p>oracle_migrate_mkforeign: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0441\u0445\u0435\u043c \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>oracle_migrate_tables: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>oracle_migrate_functions: \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440<\/p>\n<\/li>\n<li>\n<p>oracle_migrate_triggers: \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>oracle_migrate_views: \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 <\/p>\n<\/li>\n<li>\n<p>oracle_migrate_constraints: \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0434\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u043f\u0443\u0442\u0435\u043c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u043c \u0432 \u0411\u0414 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p><a class=\"anchor\" name=\"11\" id=\"11\"><\/a><\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw \u2014 \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 Oracle. \u041f\u0440\u0438\u0447\u0435\u043c \u044d\u0442\u043e \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u0438\u0437 Oracle \u2192 PostgreSQL, \u0442\u0430\u043a \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 PostgreSQL \u2192 Oracle.<\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0447\u0430\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0442\u0430\u0431\u043b\u0438\u0446, \u043d\u043e \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n<p>Oracle_fdw \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 ora2pg \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u2014 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432, \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u043e \u0441\u0430\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 oracle_fdw.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u043e ora2pg \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 ora_migrator.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p><a class=\"anchor\" name=\"12\" id=\"12\"><\/a><\/p>\n<h2>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>\u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0431\u0449\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<p>https:\/\/postgrespro.ru\/docs\/postgresql\/14\/performance-tips<\/p>\n<p><strong>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0411\u0414 (postgresql.conf):<br \/><\/strong><code>wal_buffers = '16MB\u2018<br \/>min_wal_size = '1GB'<br \/>effective_cache_size = '12GB'<br \/>maintenance_work_mem = '1GB'<br \/>work_mem = '1GB\u2018<br \/>bgwriter_lru_maxpages = 0<br \/>max_wal_senders =0<br \/>wal_level=minimal<br \/>fsync=off<br \/>max_wal_size=16GB<br \/>archive_mode=off<\/code><\/p>\n<p><strong>\u0422\u0430\u0431\u043b\u0438\u0446\u044b:<br \/><\/strong><code>alter table \u2026 set unlogged;<br \/>\u0441reate table test(id integer, bigtext text compression<br \/>pglz\/lz4)<br \/>With (fillfactor=100, toast_tuple_target=2040);<br \/>alter table test alter column bigtext set storage plain|<br \/>external|extended|main;<\/code><\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u043c\u0438 \u044d\u0442\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0434\u0430\u0432\u0430\u043b\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 +\/- 1\u20132%. \u0427\u0442\u043e \u0436\u0435 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445? \u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b.<\/p>\n<p><a class=\"anchor\" name=\"13\" id=\"13\"><\/a><\/p>\n<h3>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430<\/h3>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u2014\u044d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u044b \u043b\u043e\u0433\u043e\u0432, \u0447\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430:<\/p>\n<p>archive_command: \/bin\/true<br \/>\u0438\u043b\u0438<br \/>archive_mode: false<\/p>\n<p>\u041f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e.<br \/>archive_command: test ! -f \/pg_walarchive\/%f &amp;&amp; cp %p \/pg_walarchive\/%f<br \/>\u0438\u043b\u0438<br \/>archive_mode: true<\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 archive_command \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0411\u0414, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 archive_mode = on\/off \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.<\/p>\n<p><a class=\"anchor\" name=\"14\" id=\"14\"><\/a><\/p>\n<h3>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0438 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f, \u0442\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0435 \u0442\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435, \u043a\u0430\u043a \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u0417\u0434\u0435\u0441\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u0435\u043c, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u0430\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u0432 \u0446\u0435\u043b\u043e\u043c \u043d\u0430 \u043e\u0431\u0449\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0411\u0414. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u043b\u0438 \u0447\u0438\u0441\u043b\u043e \u0441\u0442\u0440\u043e\u043a \u043e\u0442 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0438 \u0432\u044b\u0448\u0435, \u0430 \u0447\u0438\u0441\u043b\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u043a\u043e\u043b\u043e 1 \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u0438 \u0432\u044b\u0448\u0435, \u0442\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u0441\u043e\u0442\u043d\u0438 \u0440\u0430\u0437. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0445 \u0438\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0430\u0445 \u043a \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0433\u0434\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438.<\/p>\n<p>\u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0447\u0438\u0441\u0442\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043b\u0438\u0442\u044c 1 000 000 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0437\u0430 40 \u0441\u0435\u043a\u0443\u043d\u0434, \u043d\u043e \u0435\u0441\u043b\u0438 \u044d\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u043a\u043e\u043b\u043e 500 000 000 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043e\u043a\u043e\u043b\u043e 10 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u0442\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u043e\u0433\u043e \u0436\u0435 1 000 000 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0442 20 \u0434\u043e 40 \u043c\u0438\u043d. \u041f\u0440\u0438\u043c\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0438\u0436\u0435.<\/p>\n<p><strong>\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code class=\"sql\">CREATE TABLE sbp.fp ( id_fp bigserial NOT NULL, id_cfp int8 NOT NULL, direction varchar(16) NULL, status int2 NOT NULL DEFAULT 0, out_guid varchar(64) NULL, in_guid varchar(64) NULL, qr_code varchar(32) NULL, date_create timestamp(0) NOT NULL DEFAULT now(), date_frombank timestamp(0) NULL, date_tobank timestamp(0) NULL, date_fps timestamp NULL, sender_id varchar(64) NULL, sender_bank_id varchar(64) NULL, sender_fio varchar(512) NULL, sender_address varchar(512) NULL, sender_inn varchar(12) NULL, sender_account varchar(20) NULL, sender_money_kat varchar(64) NULL, fps_id varchar(64) NULL, receiver_bank_id varchar(64) NULL, tsp_name varchar(2000) NULL, tsp_full_name varchar(2000) NULL, tsp_id varchar(64) NULL, operation_id varchar(64) NULL, code_answer varchar(64) NULL, account varchar(25) NULL, memo varchar(2000) NULL, summa numeric(15,2) NULL, receiver_inn varchar(12) NULL, state_fps varchar(64) NULL, scheme_fps varchar(64) NULL, opertype_fps varchar(64) NULL, messagetype_fps varchar(64) NULL, sendertype_id varchar(64) NULL, receivertype_id varchar(64) NULL, sender_bik varchar(9) NULL, receiver_bik varchar(9) NULL, date_oper timestamp(0) NULL, date_operation_fps timestamp NULL, date_value_fps timestamp(0) NULL, sign varchar(2000) NULL, black_payment_id varchar(2000) NULL, category_amount varchar(64) NULL, id_fil int8 NULL, id_doc int8 NULL, branch_doc varchar(256) NULL, message text NULL, sender_guid varchar(64) NULL, receiver_fio varchar(512) NULL, receiver_address varchar(512) NULL, receiver_id varchar(64) NULL, receiver_doc_id varchar(64) NULL, receiver_type_doc varchar(64) NULL, receiver_ram varchar(512) NULL, control_value varchar(2000) NULL, sbp_refer_id varchar(64) NULL, sender_black_payment_id varchar(64) NULL, legal_id varchar(32) NULL, merchant_id varchar(32) NULL, kind_income varchar(32) NULL, visa_spm varchar(512) NULL, tax_amount numeric(15,2) NULL, CONSTRAINT pk_fp PRIMARY KEY (id_fp, date_create) ) PARTITION BY RANGE (date_create); CREATE INDEX client_fp_i ON ONLY sbp.fp USING btree (id_cfp); CREATE INDEX dcst_fp ON ONLY sbp.fp USING btree (date_create, status); CREATE INDEX fp_id_doc_i ON ONLY sbp.fp USING btree (id_doc); CREATE INDEX fp_sbp_id ON ONLY sbp.fp USING btree (sbp_refer_id); CREATE INDEX \"i$fp$1\" ON ONLY sbp.fp USING btree (operation_id, messagetype_fps, code_answer); CREATE INDEX \"i$fp$3\" ON ONLY sbp.fp USING btree (messagetype_fps, date_create); CREATE INDEX \"i$fp$4\" ON ONLY sbp.fp USING btree (messagetype_fps, status, code_answer, date_create); CREATE INDEX \"i$fp$6\" ON ONLY sbp.fp USING btree (messagetype_fps, code_answer, status, date_create); CREATE INDEX inguid_fp ON ONLY sbp.fp USING btree (in_guid); CREATE INDEX operid_fp ON ONLY sbp.fp USING btree (operation_id); CREATE INDEX outguid_fp ON ONLY sbp.fp USING btree (out_guid); CREATE INDEX qrcode_fp ON ONLY sbp.fp USING btree (qr_code); CREATE INDEX rb_fp ON ONLY sbp.fp USING btree (id_doc, branch_doc); CREATE INDEX sender_guid_fp ON ONLY sbp.fp USING btree (sender_guid);<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0443\u0441\u0442\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b Oracle:<\/p>\n<pre><code class=\"sql\">create table sbp.fp_tmp as select * from sbp_fdw.fp where false;<\/code><\/pre>\n<p>\u0418 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre><code class=\"bash\"> time psql -h `hostname` sbp -c 'insert into sbp.fp_tmp select* from sbp_fdw.fp limit 1000000;' INSERT 0 1000000<\/code><\/pre>\n<p>real\u00a0\u00a0\u00a0 <strong>0m44.588s<br \/><\/strong>user\u00a0\u00a0\u00a0 0m0.031s<br \/>sys\u00a0\u00a0\u00a0\u00a0 0m0.016s<\/p>\n<p>\u0422\u043e \u043e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430 40 \u0441\u0435\u043a.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u043a\u043e\u043b\u043e \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438 \u0432\u0441\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432\u044b\u0448\u0435, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430 20 \u043c\u0438\u043d.<\/p>\n<pre><code class=\"bash\">time psql -h `hostname` sbp -c 'insert into sbp.fp select* from sbp_fdw.fp limit 1000000;' INSERT 0 1000000<\/code><\/pre>\n<p>real\u00a0\u00a0\u00a0 <strong>21m14.462s<br \/><\/strong>user\u00a0\u00a0\u00a0 0m0.021s<br \/>sys\u00a0\u00a0\u00a0\u00a0 0m0.016s<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0431\u044b \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u043e \u0441 \u043f\u0443\u0441\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043c\u0435\u043d\u0435\u0435 1 \u043c\u0438\u043d. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0442.\u043a. \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\/\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043a\u043b\u044e\u0447\u0430\u043c.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 (\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043e\u0442 1 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0441\u0442\u0440\u043e\u043a \u0438 \u0432\u044b\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438 shared_buffers) \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u044c\u0441\u044f \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0432\u0441\u0435. \u041d\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u0445 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0438\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c. \u0422\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0438\u0432\u043a\u0438 \u043e\u0431\u044a\u0435\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0438\u0436\u0435 \u0442\u0435\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p><a class=\"anchor\" name=\"15\" id=\"15\"><\/a><\/p>\n<h3>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n<p>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a \u043a\u0440\u0443\u043f\u043d\u044b\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c. \u0421\u0443\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043d\u0430 \u0447\u0430\u0441\u0442\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u0442\u0447\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u043e \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 10 \u043c\u0438\u043d. \u0412 \u0446\u0435\u043b\u043e\u043c, \u0447\u0435\u043c \u0432\u044b\u0448\u0435 \u0434\u0440\u043e\u0431\u043b\u0435\u043d\u0438\u0435, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u043e\u0447\u0435\u043a \u043e\u0442\u043a\u0430\u0442\u0430 \u043f\u0440\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445. \u0418 \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0447\u0430\u0441\u0442\u044f\u043c\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430\u0445 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u043a\u0446\u0438\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0411\u0414 Oracle, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0441 \u0442\u0435\u043c \u0447\u0442\u043e\u0431\u044b \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u0435\u0435.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0438 \u0441\u0435\u043a\u0446\u0438\u0438 \u0441\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c LIMIT + OFFSET \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0447\u0435\u0440\u0435\u0437 Oracle_fdw, \u0442\u043e \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0431\u0430\u0442\u0447\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435. \u042d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 FULL SCAN \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Oracle.<\/p>\n<p>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u043a\u0446\u0438\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Oracle \u043f\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 \u0438\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0431\u0430\u0442\u0447 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Oracle \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e.<\/p>\n<h4>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/h4>\n<ol>\n<li>\n<p>\u0412 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \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 Oracle, \u0434\u0430\u0442\u044b \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 1\u201310 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a. \u0413\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u0430\u0442\u0447 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043b\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0437\u0430 10-20 \u043c\u0438\u043d\u0443\u0442. \u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u2013 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430: <strong>ORA-04030: out of process memory when trying to allocate 232 bytes (session heap,lob ctl struct).<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Oracle \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f 4,5 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0431\u0430\u0442\u0447\u0430 10 \u043c\u043b\u043d \u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u0441\u0435\u043a\u0446\u0438\u0439 450. \u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c MIN(ID) \u0438 MAX(ID), \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0432\u0445\u043e\u0434\u0438\u043b\u0438 \u0432 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u043e \u0431\u0430\u0442\u0447\u0430\u043c. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 MIN(ID) = 12001 MAX(ID) = 4 513 765 003. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0435\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 10 000 000 \u0441\u0442\u0440\u043e\u043a \u043e\u0442 0 \u0434\u043e 450. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u043e \u0434\u0430\u0442\u0430\u043c \u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 102 (\u0434\u043b\u044f n-\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 102 \u0438 \u0432 \u043d\u043e\u043c\u0435\u0440\u0435 \u0441\u0435\u043a\u0446\u0438\u0438 \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0442\u0431\u043e\u0440\u0430 WHERE \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 n):<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"sql\">create foreign table expch_fdw.journal_record_102 ( id numeric(19) not null, journal_id numeric(19) not null, level_code int8 not null, created timestamp null, ref_code varchar(68) null, source_code varchar(64) null, subj_id numeric(19) null, description text null, group_id numeric(19) null, properties text null, error_code int8 null ) server ltexad_db5212xp_oracle options (table '( select ID, JOURNAL_ID, LEVEL_CODE, CREATED, REF_CODE, SOURCE_CODE, SUBJ_ID, DESCRIPTION, GROUP_ID, TO_CLOB(PROPERTIES), ERROR_CODE from JOURNAL_RECORD where ID >= 102 * 10000000 and ID &lt; 102 * 10000000 + 10000000);<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u043a\u0446\u0438\u0439 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0411\u0414. \u0418 \u043e\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u043c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f 64 \u044f\u0434\u0435\u0440 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0437\u0430\u043b\u0438\u0432\u043a\u0443 \u043d\u0430 55 \u043f\u043e\u0442\u043e\u043a\u043e\u0432.<\/p>\n<p>\u00a0\u0412\u0441\u0435 \u0431\u0430\u0442\u0447\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u044f\u043c\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b:<\/p>\n<pre><code class=\"sql\">insert into expch.journal_record select * from expch_fdw.journal_record_0 on conflict do nothing; insert into expch.journal_record select * from expch_fdw.journal_record_1 on conflict do nothing; \u2026 insert into expch.journal_record select * from expch_fdw.journal_record_450 on conflict do nothing;<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f &#8230;on conflict do nothing \u043d\u0443\u0436\u043d\u0430, \u0435\u0441\u043b\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u043b\u0438\u0432\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0432 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n<p>\u041f\u0440\u0438 55 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 8 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u0432 \u043f\u043e 10 \u043c\u043b\u043d. \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<br \/>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 10 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439:<\/p>\n<pre><code class=\"bash\">$ time psql -p 6432 creo -c \"insert into expch_test.journal_record select * from expch_fdw.journal_record limit 10 000 000;\" INSERT 0 10000000<\/code><\/pre>\n<p>real <strong>11m36.091s<\/strong><\/p>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430 88 \u043c\u0438\u043d \u043f\u0440\u043e\u0442\u0438\u0432 90 \u0447\u0430\u0441\u043e\u0432(!) \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u043c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043a\u0432\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0438 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p><a class=\"anchor\" name=\"16\" id=\"16\"><\/a><\/p>\n<h3>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a + \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0445 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434 \u0441 \u043a\u0432\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043b\u0438\u043c\u0438\u0442\u043e\u0432. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u0431\u043d\u044b\u0445 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f\u0445. \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u2014 \u043e\u0442\u0441\u0442\u0430\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043b\u0430\u0433\u0430. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439 SyncRep \u0435\u0441\u043b\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u043c.<\/p>\n<p><a class=\"anchor\" name=\"17\" id=\"17\"><\/a><\/p>\n<h2>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043f\u043e\u0434\u043e\u0439\u0442\u0438 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 Oracle \u0432 PostgreSQL, \u0438 \u043a\u0430\u043a\u0438\u0435 \u043d\u044e\u0430\u043d\u0441\u044b \u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u0448\u0430\u0433\u043e\u0432.<\/p>\n<p><a class=\"anchor\" name=\"18\" id=\"18\"><\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/h3>\n<p>\u0414\u0430\u043d\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441 \u0441\u0430\u0439\u0442\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.<\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0411\u0414 PostgreSQL. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f 14 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 oracle_fdw \u0432\u0435\u0440\u0441\u0438\u0438 2.4, \u0430 \u0434\u043b\u044f 15 \u2014 oracle_fdw \u0432\u0435\u0440\u0441\u0438\u0438 2.6. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.<\/p>\n<p><a class=\"anchor\" name=\"19\" id=\"19\"><\/a><\/p>\n<h3>\u041f\u0440\u0435\u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/h3>\n<p><strong>\u0414\u043b\u044f ASTRA linux:<br \/><\/strong>\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b:<\/p>\n<p><u>1.1. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:<\/u><\/p>\n<ul>\n<li>\n<p>Oracleclient<\/p>\n<\/li>\n<li>\n<p>postgresql (\u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438)<\/p>\n<\/li>\n<\/ul>\n<p><u>1.2. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u044b:<br \/><\/u>Devel \u043f\u0430\u043a\u0435\u0442 PostgreSQL \u0442\u043e\u0439 \u0436\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435:<br \/>postgresql-server-dev-15<\/p>\n<p><strong>\u041a\u043b\u0438\u0435\u043d\u0442 Oracle:<br \/><\/strong>oracle-instantclient19.3-basic_19.3.0.0.0-2_amd64.deb<br \/>oracle-instantclient19.3-tools_19.3.0.0.0-2_amd64.deb<br \/>oracle-instantclient19.3-sqlplus_19.3.0.0.0-2_amd64.deb<br \/>oracle-instantclient19.3-devel_19.3.0.0.0-2_amd64.deb<\/p>\n<p><strong>\u041f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438:<br \/><\/strong>gcc<br \/>make<br \/>libpq-dev<\/p>\n<p><u>1.3. \u041f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438:<br \/><\/u>chown -R postgres:postgres \/usr\/lib\/postgresql\/15\/lib\/<br \/>chown -R postgres:postgres \/usr\/share\/postgresql\/15\/extension\/<br \/>mkdir \/usr\/share\/doc\/postgresql-doc-15\/<br \/>chown postgres:postgres \/usr\/share\/doc\/postgresql-doc-15<\/p>\n<p><a class=\"anchor\" name=\"20\" id=\"20\"><\/a><\/p>\n<h3>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f oracle_fdw<\/h3>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c oracle_fdw-master.zip<br \/>\u0418\u0437 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e:<br \/>#cd oracle_fdw-master<\/p>\n<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f ORACLE_HOME. \u0415\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0430\u043a:<br \/>cat \/etc\/ld.so.conf.d\/oracle-instantclient.conf<br \/>\/usr\/lib\/oracle<br \/>\/usr\/lib\/oracle\/19.10<br \/>\/usr\/lib\/oracle\/19.10\/client64<br \/>\/usr\/lib\/oracle\/19.10\/client64\/bin<br \/>\/usr\/lib\/oracle\/19.10\/client64\/bin\/adrci<br \/>&#8230;<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439:<br \/>export ORACLE_HOME=\/usr\/lib\/oracle\/19.10\/client64\/<br \/>echo $ORACLE_HOME<br \/>export ORACLE_HOME=\/usr\/lib\/oracle\/19.3\/client64\/<\/p>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430:<br \/>make<br \/>make install<\/p>\n<p><a class=\"anchor\" name=\"21\" id=\"21\"><\/a><\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 oracle_fdw<\/h3>\n<p><a class=\"anchor\" name=\"22\" id=\"22\"><\/a><\/p>\n<h4>1. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/h4>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0411\u0414 PostgreSQL:<br \/>postgres=# \\c egg_774201<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 oracle_fdw \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 Oracle:<br \/>egg_774201=# CREATE EXTENSION oracle_fdw;<br \/>egg_774201=# \\dx<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">Name    <\/p>\n<\/td>\n<td>\n<p align=\"left\">Version   <\/p>\n<\/td>\n<td>\n<p align=\"left\">Schema   <\/p>\n<\/td>\n<td>\n<p align=\"left\">Description   <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">oracle_fdw    <\/p>\n<\/td>\n<td>\n<p align=\"left\">1.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">kitit   <\/p>\n<\/td>\n<td>\n<p align=\"left\">foreign data wrapper for Oracle access<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>plpgsql<br \/>(2 rows)<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">pg_catalog<\/p>\n<\/td>\n<td>\n<p align=\"left\">PL\/pgSQL procedural language<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>egg_774201=# select kitit.oracle_diag();\u00a0<br \/>                                                               oracle_diag\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014<br \/>oracle_fdw 2.6.0, PostgreSQL 15.3 (Debian 15.3-1.pgdg100+1), Oracle client 19.3.0.0.0<\/p>\n<p>\u0418 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0442 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0443 \u0411\u0414 PostgreSQL:<br \/><strong>GRANT<\/strong> <strong>USAGE<\/strong> <strong>ON<\/strong> <strong>foreign<\/strong> <strong>SERVER<\/strong> ifegga_or5001ln_oracle_2 <strong>TO<\/strong> egg_774201_admin;<\/p>\n<h4>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0411\u0414 Oracle<\/h4>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 Oracle, \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u0443\u044e \u0434\u043b\u044f sqlplus. \u0415\u0441\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 PostgreSQL \u043a Oracle \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0439 \u0432\u0445\u043e\u0434 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443:<\/p>\n<p><strong>sqlplus kitit\/kitit@rregga-or5001lv.test.ru:1521\/rregg<\/strong><\/p>\n<p>SQL*Plus: Release 19.0.0.0.0 &#8212; Production on Wed Apr 10 17:34:22 2024<br \/>Version 19.3.0.0.0<\/p>\n<p>Copyright (c) 1982, 2019, Oracle.\u00a0 All rights reserved.<\/p>\n<p>Last Successful login time: Wed Apr 10 2024 17:24:37 +03:00<\/p>\n<p>Connected to:<br \/>Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 &#8212; Production<br \/>Version 19.11.0.0.0<\/p>\n<p>SQL>exit<\/p>\n<p>\u041d\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c, \u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c \u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 Oracle \u043e\u0431\u0441\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<p><code>sqlplus DMG\/dia@'(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = k3-mgds-app401l.ru)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = K3SDC)))'<\/code><\/p>\n<p>\u0422\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0411\u0414 Oracle.<\/p>\n<p><a class=\"anchor\" name=\"23\" id=\"23\"><\/a><\/p>\n<h4>2. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/h4>\n<p>\u041f\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u043d\u0435\u0435 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440:<\/p>\n<pre><code class=\"sql\">CREATE SERVER ifegga_or5001ln_oracle_2 FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '\/\/rregga-or5001lv.test.ru:1521\/rregg');<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0438 oracle_fdw \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 serializable, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0447\u0438\u0442\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle, \u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0418 \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0430\u0441 \u0434\u0430\u043d\u043d\u044b\u0435. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043e\u043f\u0446\u0438\u044e:<\/p>\n<pre><code class=\"sql\">CREATE SERVER ifegga_or5001ln_oracle_2 FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '\/\/rregga-or5001lv.test.ru:1521\/rregg', isolation_level 'read_committed');<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439:<\/p>\n<pre><code class=\"sql\">CREATE USER MAPPING FOR postgres SERVER ifegga_or5001ln_oracle_2 OPTIONS (user 'kitit', password 'kitit'); CREATE USER MAPPING FOR egg_774201_admin SERVER ifegga_or5001ln_oracle_2 OPTIONS (user 'kitit', password 'kitit');<\/code><\/pre>\n<p>\u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0445\u0435\u043c \u0438 \u043f\u0440\u0430\u0432 \u043a \u043d\u0438\u043c:<\/p>\n<pre><code class=\"sql\">create schema kitit; ALTER SCHEMA kitit owner TO egg_774201_admin; create schema kitit_fdw; ALTER SCHEMA kitit_fdw owner TO egg_774201_admin;<\/code><\/pre>\n<p><a class=\"anchor\" name=\"24\" id=\"24\"><\/a><\/p>\n<h4>3. \u0418\u043c\u043f\u043e\u0440\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0445\u0435\u043c\u044b \u0438 \u043f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0438\u043c\u043f\u043e\u0440\u0442 \u0441\u0445\u0435\u043c\u044b Oracle \u0432 PostgreSQL. \u041a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0445\u0435\u043c\u044b \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u2014 \u043d\u0443\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0438\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0445\u0435\u043c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043d\u0443\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e.<\/p>\n<pre><code class=\"sql\">IMPORT FOREIGN SCHEMA \"KITIT\" FROM SERVER ifegga_or5001ln_oracle_2 INTO kitit_fdw;<\/code><\/pre>\n<p>\u042d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432\u0430\u043c\u0438 \u0441\u0445\u0435\u043c\u0435 kitit, \u043d\u043e \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 (View) Oracle \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<\/p>\n<pre><code class=\"sql\">CREATE FOREIGN TABLE kitit_fdw.egg_arm_et ( datecreate timestamp NULL, testcaseid varchar(50) NULL, processid varchar(255) NULL ) SERVER ifegga_or5001ln_oracle_2 OPTIONS (schema 'KITIT', table 'EGG_ARM_ET');<\/code><\/pre>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:<\/p>\n<pre><code class=\"sql\">GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA kitit_fdw TO egg_774201_admin;<\/code><\/pre>\n<h4>\u0427\u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438?<\/h4>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0441\u0445\u0435\u043c\u044b \u0432 PostgreSQL kitit \u2014 \u0446\u0435\u043b\u0435\u0432\u0430\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430, \u043a\u0443\u0434\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 Oracle \u2014 \u043e\u0442\u043a\u0443\u0434\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0443\u0435\u043c kitit_fdw.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0443\u0441\u0442\u0443\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/p>\n<pre><code class=\"sql\">create table kitit.EGG_ARM_MESSAGEID as select * from kitit_fdw.EGG_ARM_MESSAGEID where false;<\/code><\/pre>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043f\u0440\u043e\u0431\u043d\u0443\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e 1000 \u0441\u0442\u0440\u043e\u043a:   <\/p>\n<pre><code class=\"sql\">insert into kitit.EGG_ARM_MESSAGEID select * from kitit_fdw.EGG_ARM_MESSAGEID limit 1000;<\/code><\/pre>\n<p>\u041e\u0447\u0438\u0441\u0442\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443:<\/p>\n<pre><code class=\"sql\">truncate kitit.EGG_ARM_MESSAGEID;<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u2014 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043f\u043b\u0430\u043d\u0443 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p><a class=\"anchor\" name=\"25\" id=\"25\"><\/a><\/p>\n<h2>\u041f\u043b\u0430\u043d \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h2>\n<p>\u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u0443 \u0432\u0430\u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u043f\u043b\u0430\u043d\u0443 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043b\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446, \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438, \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u043d\u0435\u0441\u0442\u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446. \u041e\u0431\u0449\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u0437 \u0441\u0445\u0435\u043c\u044b Oracle \u0441 \u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0448\u0430\u0433\u0430\u0445.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043b\u0438\u0441\u0442 \u043f\u043b\u0430\u043d\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>no.<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\"><strong>TABNAME<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>SIZE,MB<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\"><strong>COUNT<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>BLOB<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>CLOB<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>NCLOB<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>BATCH<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\"><strong>SALARYREESTROCROWSTATEHISTORY<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">120 922<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">796 415 919<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PRODUCT_REQ_HST<\/p>\n<\/td>\n<td>\n<p align=\"left\">120 570<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">348 654 327<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">REGISTRY_ORGVISIT_CRT_ROW_FLG<\/p>\n<\/td>\n<td>\n<p align=\"left\">61 513<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">230 681 315<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYBANKCARDSHIPHISTORY<\/p>\n<\/td>\n<td>\n<p align=\"left\">48 098<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">214 586 084<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\"><strong>SALARYFILE<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">448 079<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">207 860 019<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">1 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYREGISTRYFILE<\/p>\n<\/td>\n<td>\n<p align=\"left\">46 094<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">186 692 547<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">REGISTRY_ORGVISIT_ROW_HST<\/p>\n<\/td>\n<td>\n<p align=\"left\">41 436<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">180 497 163<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">REGISTRY_ORGVISIT_CRT_ROW_HST<\/p>\n<\/td>\n<td>\n<p align=\"left\">33 365<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">126 122 897<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYBLACKLISTSCHECKLOG<\/p>\n<\/td>\n<td>\n<p align=\"left\">25 507<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">99 659 075<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYOBJECTACTIVITY<\/p>\n<\/td>\n<td>\n<p align=\"left\">25 471<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">88 773 362<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYACTIONREGISTRY<\/p>\n<\/td>\n<td>\n<p align=\"left\">23 320<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">87 264 557<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYPERSONPHONE<\/p>\n<\/td>\n<td>\n<p align=\"left\">17 045<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">64 905 258<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 000 000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYPERSONDUL<\/p>\n<\/td>\n<td>\n<p align=\"left\">15 263<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">31 519 351<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">14<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYREESTROCROWBANKCARD<\/p>\n<\/td>\n<td>\n<p align=\"left\">14 926<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">28 628 341<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">15<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">CARD_DELIVERY_POINT_HST<\/p>\n<\/td>\n<td>\n<p align=\"left\">14 501<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">24 954 214<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">16<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARY_OCR_F_VALIDPERSONERROR<\/p>\n<\/td>\n<td>\n<p align=\"left\">12 074<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">23 773 224<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">17<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">SALARYPERSON<\/p>\n<\/td>\n<td>\n<p align=\"left\">8 579<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">21 690 065<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">18<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">RELATION_ORG_PERSON<\/p>\n<\/td>\n<td>\n<p align=\"left\">7 119<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">21 658 692<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">19<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\"><strong>REGISTRY_KAFKA_MESSAGE<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3 439<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">5 038 067<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">20<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">REGISTRY_OC_ROW_MDMID_REPLACE<\/p>\n<\/td>\n<td>\n<p align=\"left\">2 230<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 939 239<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">21<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSON_INFO<\/p>\n<\/td>\n<td>\n<p align=\"left\">1 927<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 848 472<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">22<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSON_INFO_DOC<\/p>\n<\/td>\n<td>\n<p align=\"left\">1 883<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 639 772<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">23<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSON_INFO_ADDRESS<\/p>\n<\/td>\n<td>\n<p align=\"left\">1 361<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 520 347<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">24<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSONIFIED_INFO<\/p>\n<\/td>\n<td>\n<p align=\"left\">1 230<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 502 885<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">25<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">REGISTRY_ORGVISIT_ROW_PHOTO<\/p>\n<\/td>\n<td>\n<p align=\"left\">791<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 496 631<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">26<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSON_INFO_PRODUCT_PKG<\/p>\n<\/td>\n<td>\n<p align=\"left\">668<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">1 079 323<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">27<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">COMMONTYPEOSPOSITION<\/p>\n<\/td>\n<td>\n<p align=\"left\">293<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">317 218<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">28<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PRODUCT_REQ_PKG<\/p>\n<\/td>\n<td>\n<p align=\"left\">252<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">226 965<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">29<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">PERSON_UNLOAD_HST<\/p>\n<\/td>\n<td>\n<p align=\"left\">235<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">180 702<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">30<\/p>\n<\/td>\n<td data-colwidth=\"118\" width=\"118\">\n<p align=\"left\">DOC_ISSUE_CONFIDANT_ROW_FLG<\/p>\n<\/td>\n<td>\n<p align=\"left\">173<\/p>\n<\/td>\n<td data-colwidth=\"105\" width=\"105\">\n<p align=\"left\">130 440<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0447\u0438\u0441\u043b\u0443 \u0441\u0442\u0440\u043e\u043a, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 <strong>no. <\/strong>\u2014 \u043d\u043e\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043e\u043d \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u0430\u043b\u0438\u0430\u0441, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e.<\/p>\n<p><strong>TABNAME<\/strong> \u2013 \u0438\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b;<br \/><strong>SIZE,MB<\/strong> \u2014 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u041c\u0412;<br \/><strong>COUNT<\/strong> \u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0442\u0440\u043e\u043a;<br \/><strong>BLOB<\/strong> \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 BLOB;<br \/><strong>CLOB <\/strong>\u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 CLOB;<br \/><strong>NCLOB<\/strong> \u2014 \u0435\u0441\u0442\u044c \u043b\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 NCLOB. \u0414\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f orcale_fdw, \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 fdw \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0447\u0435\u0440\u0435\u0437 \u043e\u0440\u0430\u043a\u043b\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e TO_LOB(\u0438\u043c\u044f_\u043f\u043e\u043b\u044f);<br \/><strong>BATCH<\/strong> \u2014 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b \u043d\u0435 \u0434\u043e\u043b\u044c\u0448\u0435 5\u201310 \u043c\u0438\u043d. \u041a\u0430\u043a \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n<p><a class=\"anchor\" name=\"26\" id=\"26\"><\/a><\/p>\n<h4>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1. \u0421\u0445\u0435\u043c\u044b \u0411\u0414 PostgreSQL \u043d\u0435\u0442, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0439 \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/h4>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0437 foreign tables, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0441\u0445\u0435\u043c\u0435 _fdw. \u041d\u043e \u0442\u0430\u043a \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0441\u0445\u0435\u043c\u044b \u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u041a\u0430\u043a \u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u2014 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0445\u0435\u043c\u044b \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"sql\">create table kitit.EGG_ARM_MESSAGEID as select * from kitit_fdw.EGG_ARM_MESSAGEID where false;<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u0441\u0445\u0435\u043c\u0443, \u0442\u043e:<br \/><em>&#8212; \u0418\u043c\u043f\u043e\u0440\u0442 \u0441\u0445\u0435\u043c\u044b \u0431\u0435\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/em><\/p>\n<pre><code class=\"sql\">do $$ declare   schema_from varchar = 'kitit_fdw';   schema_to varchar = 'kitit';   r record; begin for r in select table_name from information_schema.\"tables\" where table_schema = schema_from loop execute 'create table ' || schema_to || '.' || r.table_name || ' as select * from ' || schema_from || '.' || r.table_name ||' where false'; end loop; end $$<\/code><\/pre>\n<p>\u041d\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432\u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u0432 _fdw \u0441\u0445\u0435\u043c\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0422\u043e \u0435\u0441\u0442\u044c \u043b\u0443\u0447\u0448\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445.<\/p>\n<p>\u0418\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437 ora2pg \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0435\u0441\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b.<\/p>\n<p>\u0412 ora2pg \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<br \/>$ls projects\\kitit\\schema\\tables<br \/>CONSTRAINTS_table.sql<br \/>FKEYS_table.sql<br \/>INDEXES_table.sql<br \/>table.sql<\/p>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442\u044b CONSTRAINTS_table.sql FKEYS_table.sql INDEXES_table.sql \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b \u043d\u0430 \u0431\u043e\u043b\u0435\u0435, \u0447\u0435\u043c 90% \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u042d\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u0435\u043c (\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 + \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432) \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0438, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0432 \u0441\u043e\u0442\u043d\u0438 \u0440\u0430\u0437. \u041d\u043e \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0440\u0430\u043d\u0435\u0435. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0432 \u044d\u0442\u043e\u043c \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p><a class=\"anchor\" name=\"27\" id=\"27\"><\/a><\/p>\n<h4>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2. \u0421\u0445\u0435\u043c\u0430 \u0411\u0414 PostgreSQL \u0435\u0441\u0442\u044c, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043c\u0430\u043f\u0438\u0442\u044c \u0441 \u0442\u043e\u0439, \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/h4>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432 PostgreSQL \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430, \u0442\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u043d\u0435\u0442. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u0440\u0430\u0437\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435 Oracle \u0438 PostgreSQL \u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432. \u042d\u0442\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432, \u0430 \u0442\u043e \u0438 \u0441\u043e\u0442\u0435\u043d.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043d\u044b\u0439 \u0442\u0438\u043f\u044b \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435 Oracle \u0438 PostgreSQL. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u043e\u043b\u0431\u0435\u0446 ID \u0432 Oracle \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0438\u043f\u0430 varchar, \u0430 \u0432 PostgreSQL int8. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043d\u044b\u0435 \u0434\u043b\u0438\u043d\u044b \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435 Oracle \u0438 PostgreSQL. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 Oracle varchar (1000), \u0430 \u0432 PostgreSQL varchar (32), \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 32 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043e\u0431\u0440\u0435\u0437\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0418\u043b\u0438 \u0436\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043f\u043e\u043b\u044f \u0432 PostgreSQL.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 oracle_fdw. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0438\u043f NCLOB, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 TO_LOB(\u2018nclob_value\u2019) \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Oracle. \u041d\u043e \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0442\u0438\u043f\u0430 NCLOB \u0432 Oracle.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0442\u044c. \u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u0441\u0445\u0435\u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f. \u041d\u043e \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0430 \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445. \u0418\u043b\u0438 \u0435\u0441\u043b\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0422\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0432\u044f\u0437\u0435\u0439 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a.<\/p>\n<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"28\" id=\"28\"><\/a><\/p>\n<h3>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430. \u041f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430<\/h3>\n<p>\u041a\u0430\u043a \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0440\u0430\u043d\u0435\u0435, \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b \u043d\u0435 \u0434\u043e\u043b\u044c\u0448\u0435 5\u201310 \u043c\u0438\u043d. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u043d\u044b\u043c\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446.<\/p>\n<p>\u041e\u0441\u043e\u0431\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0441 \u0447\u0438\u0441\u043b\u043e\u043c \u0441\u0442\u0440\u043e\u043a \u043e\u0442 1 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430. \u0425\u043e\u0442\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438 \u0441 \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0441\u0442\u0440\u043e\u043a. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442 \u0441\u043d\u0438\u0437\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043b\u0430\u043d\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>NUM<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\"><strong>TABNAME<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\"><strong>COUNT<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>COMMENT<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>TIME<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>BLOB<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>CLOB<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\"><strong>NCLOB<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>BATCHES<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_REESTR<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">99 663 975<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">33 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">99<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_MESSAGEID<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">94 691 233<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>DATECREATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">38 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">94<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_FSSP<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">32 999 998<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>REQUEST_DATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">11 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">32<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_FSSP_REQUESTS<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">14 540 019<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>INPUT_DATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">8 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">14<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_ZKH<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">11 141 814<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>DATECREATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">11 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">yes<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_FK<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">8 401 526<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>DATECREATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">10 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_FSSP_AD<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">1 480 676<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">5 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_SMEV3_CONTEXT<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">497 182<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>LAST_UPDATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">10 min<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">FK_SMEV3<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">2 113<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_DEL_DELIVERY<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">823<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SGD_VERSION<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">120<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">ZKH_SMEV3<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">112<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_RESTRICTION_TEMP<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">38<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\"><strong>LAST_UPDATE 01.01.2024<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">14<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">ARMQ_QUEUE_PAIR<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">22<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">15<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">ARMQ_CONNECTOR<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">20<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">16<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_INQUIRY_TEMP<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">16<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">17<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_FSSP_NOT_ADOPTED<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">18<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">IA_ROUTING<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">19<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_PROPERTIES<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">20<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">DEL_DELIVERY<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">21<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_FK_CERTIFICATE<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">22<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_ARM_COMMAND<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">23<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_RESTRICTION_SEND<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">24<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">EGG_TASKS<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">25<\/p>\n<\/td>\n<td data-colwidth=\"91\" width=\"91\">\n<p align=\"left\">SMEV3_INQUIRY_SEND<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td data-colwidth=\"108\" width=\"108\">\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043d\u0435 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0422\u0430\u043a\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u0441\u0430\u043c\u0438\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f\u0445 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a:<\/p>\n<pre><code class=\"sql\">CREATE FOREIGN TABLE kitit_fdw.egg_arm_messageid ( processid varchar(50) NULL, groupid varchar(50) NULL, messageid varchar(36) NULL, logid varchar(36) NULL, datecreate timestamp NOT NULL, \"type\" varchar(1) NULL ) SERVER ifegga_or5001ln_oracle_2 OPTIONS (table '(SELECT * FROM KITIT.EGG_ARM_MESSAGEID WHERE DATECREATE >= to_date('01.01.2024 00:00:00', 'dd.mm.yyyy hh24:mi:ss'))');<\/code><\/pre>\n<p>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0435\u0439 \u0438\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438:<\/p>\n<pre><code class=\"sql\">insert into kitit.EGG_ARM_MESSAGEID select * from kitit_fdw.EGG_ARM_MESSAGEID on conflict do nothing; -- 38 min insert into kitit.EGG_ARM_FSSP select * from kitit_fdw.EGG_ARM_FSSP on conflict do nothing; -- 11 min insert into kitit.EGG_ARM_FSSP_REQUESTS select * from kitit_fdw.EGG_ARM_FSSP_REQUESTS on conflict do nothing; -- 8 min insert into kitit.EGG_ARM_ZKH select * from kitit_fdw.EGG_ARM_ZKH on conflict do nothing; -- 11 min insert into kitit.EGG_ARM_FK select processid, supplierbildid, paymentdate, amount, bic_swift, ks, rs, inn, kpp, kbk, okato, eip, errorcode, datecreate, systemid, statuscode, gisgpm_errorcode, datechange, uip_type, member_id, additional_id, sys_paymentdate, payment_id, systemidentifier, payername, payeraccount, pack_processid, pack_response_processid, component from kitit_fdw.EGG_ARM_FK on conflict do nothing; -- 10 min insert into kitit.EGG_FSSP_AD select * from kitit_fdw.EGG_FSSP_AD on conflict do nothing; -- 5 min insert into kitit.EGG_SMEV3_CONTEXT select * from kitit_fdw.EGG_SMEV3_CONTEXT on conflict do nothing; -- 10 min insert into kitit.FK_SMEV3 select * from kitit_fdw.FK_SMEV3 on conflict do nothing; -- 667 ms insert into kitit.SMEV3_DEL_DELIVERY select * from kitit_fdw.SMEV3_DEL_DELIVERY on conflict do nothing; -- 265 ms insert into kitit.SGD_VERSION select * from kitit_fdw.SGD_VERSION on conflict do nothing; -- 15 ms insert into kitit.ZKH_SMEV3 select * from kitit_fdw.ZKH_SMEV3 on conflict do nothing; --145 ms insert into kitit.SMEV3_RESTRICTION_TEMP select * from kitit_fdw.SMEV3_RESTRICTION_TEMP on conflict do nothing; --67 ms insert into kitit.ARMQ_QUEUE_PAIR select * from kitit_fdw.ARMQ_QUEUE_PAIR on conflict do nothing; -- 17 ms insert into kitit.ARMQ_CONNECTOR select * from kitit_fdw.ARMQ_CONNECTOR on conflict do nothing; --17 ms insert into kitit.SMEV3_INQUIRY_TEMP select * from kitit_fdw.SMEV3_INQUIRY_TEMP on conflict do nothing; -- 52 ms insert into kitit.EGG_ARM_FSSP_NOT_ADOPTED select * from kitit_fdw.EGG_ARM_FSSP_NOT_ADOPTED on conflict do nothing; -- 16 ms insert into kitit.IA_ROUTING select * from kitit_fdw.IA_ROUTING on conflict do nothing; -- 14 ms insert into kitit.EGG_PROPERTIES select * from kitit_fdw.EGG_PROPERTIES on conflict do nothing; -- 51 ms insert into kitit.DEL_DELIVERY select * from kitit_fdw.DEL_DELIVERY on conflict do nothing; -- 322 ms insert into kitit.EGG_ARM_FK_CERTIFICATE select * from kitit_fdw.EGG_ARM_FK_CERTIFICATE on conflict do nothing; -- 10 ms<\/code><\/pre>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u044b EGG_ARM_FK, \u0438\u043c\u0435\u044e\u0449\u0435\u0439 8 \u043c\u043b\u043d \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0431\u043d\u044b\u0445 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0447\u0435\u0440\u0435\u0437 truncate.<\/p>\n<p><a class=\"anchor\" name=\"29\" id=\"29\"><\/a><\/p>\n<h3>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c<\/h3>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u043b\u0438 \u0431\u0430\u0442\u0447\u0430 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0438.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 55 \u043f\u043e\u0442\u043e\u043a\u043e\u0432:<br \/>#!\/bin\/sh<\/p>\n<p> echo Start JORNAL RECORDS import<br \/> date<br \/> echo THREAD 1<br \/> .\/start_1.sh &amp;<br \/> echo THREAD 2<br \/> .\/start_2.sh &amp;<br \/> \u2026.<br \/> .\/start_52.sh &amp;<br \/> echo THREAD 53<br \/> .\/start_53.sh &amp;<br \/> echo THREAD 54<br \/> .\/start_54.sh &amp;<br \/> echo THREAD 55<br \/> .\/start_55.sh &amp;<\/p>\n<p> echo &#8230;. To inspect of the import data records progress, see pg_stat_activity<br \/> date <\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u043e\u0432:<\/p>\n<p>\u00a0<code>date >> .\/journal_record.6.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_225 on conflict do nothing;\" >> .\/journal_record.6.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.6.log<br \/> date >> .\/journal_record.55.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_329 on conflict do nothing;\" >> .\/journal_record.55.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.55.log<br \/> date >> .\/journal_record.15.log; psql -p 6432 creo -c \"insert into expch.client_payment select * from expch_fdw.client_payment_40 on conflict do nothing;\" >> .\/journal_record.15.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.15.log<br \/> date >> .\/journal_record.53.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_327 on conflict do nothing;\" >> .\/journal_record.53.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.53.log<br \/> date >> .\/journal_record.6.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_390 on conflict do nothing;\" >> .\/journal_record.6.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.6.log<br \/> date >> .\/journal_record.13.log; psql -p 6432 creo -c \"insert into expch.client_payment select * from expch_fdw.client_payment_42 on conflict do nothing;\" >> .\/journal_record.13.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.13.log<br \/> date >> .\/journal_record.55.log; psql -p 6432 creo -c \"insert into expch.trade select id,subject_id,member_code,...,off_balance_amt,state_support,state_support_info,guarantee_volume_sum from expch_fdw.trade_0 on conflict do nothing;\" >> .\/journal_record.55.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.55.log<br \/> date >> .\/journal_record.5.log; psql -p 6432 creo -c \"insert into expch.TRADE_COLLATERAL_LAYERS select * from expch_fdw.TRADE_COLLATERAL_LAYERS on conflict do nothing;\" >> .\/journal_record.5.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.5.log<br \/> date >> .\/journal_record.35.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_144 on conflict do nothing;\" >> .\/journal_record.35.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.35.log<br \/> date >> .\/journal_record.25.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_409 on conflict do nothing;\" >> .\/journal_record.25.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.25.log<br \/> date >> .\/journal_record.9.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_173 on conflict do nothing;\" >> .\/journal_record.9.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.9.log<br \/> date >> .\/journal_record.35.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_34 on conflict do nothing;\" >> .\/journal_record.35.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.35.log<br \/> date >> .\/journal_record.14.log; psql -p 6432 creo -c \"insert into expch.PAYMENT_FREQ select * from expch_fdw.PAYMENT_FREQ on conflict do nothing;\" >> .\/journal_record.14.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.14.log<br \/> date >> .\/journal_record.37.log; psql -p 6432 creo -c \"insert into expch.trade_details select * from expch_fdw.trade_details_201 on conflict do nothing;\" >> .\/journal_record.37.log 2>&amp;1 ; date >>\u00a0 .\/journal_record.37.log<\/code><\/p>\n<p>\u0412 \u043b\u043e\u0433\u0438 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0442\u0430\u0432\u043e\u043a \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445, \u0442\u0430\u043a \u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0431\u0430\u0442\u0447\u0430.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c start_all.sh. \u0412 pg_activity \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c:<\/p>\n<p>PostgreSQL 15.3 &#8212; <strong>ltc-pg5001lp.test.ru<\/strong> &#8212; <a href=\"mailto:postgres@ltcrer-pg5001lp.test.vtb.ru:5432\/postgres\">postgres@ltc-pg5001lp.test.ru:5432\/postgres<\/a> &#8212; Ref.: 2s<br \/>Size: 3.90T &#8212; 20.18M\/s \u22c5 TPS: 8 \u22c5 Active connections: 59 \u22c5 Duration mode: query<br \/>Mem.: 28.7% &#8212; 26.24G\/1007.52G\u00a0\u00a0\u00a0 IO Max: 13586\/s<br \/>Swap: 31.7% &#8212; 603.54M\/1.86G\u00a0\u00a0\u00a0\u00a0\u00a0 Read:\u00a0\u00a0 13.16M\/s &#8212; 3367\/s<br \/>Load: 11.48 10.89 11.75\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Write:\u00a0 39.92M\/s &#8212; 10219\/s<\/p>\n<p><u>RUNNING QUERIES<\/u><\/p>\n<p><code>PID\u00a0\u00a0\u00a0 DATABASE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 APP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CLIENT CPU%\u00a0\u00a0 MEM% READ\/s\u00a0\u00a0 WRITE\/s\u00a0 \u00a0\u00a0\u00a0\u00a0TIME+ \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Waiting IOW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 state Query<br \/>12413 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 49.3\u00a0\u00a0 8.2\u00a0 243.44K\u00a0 4.58M\u00a0\u00a0\u00a0 912:55.77 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.EVENTS select * from expch_fdw.EVENTS on conflict do nothing;<br \/>17174 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ltcrer-pg5002lp \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0repluser 10.221.23.120\/32 28.0\u00a0\u00a0 0.0\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 905:24.64 \u00a0\u00a0\u00a0WalSenderMain N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active START_REPLICATION SLOT \"ltcrer_pg5002lp\" 6130\/BD000000 TIMELINE 6<br \/>24195 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.5\u00a0\u00a0 18.6 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 213.23K\u00a0 162:24.42 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_321 on conflict do nothing;<br \/>25666 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.1\u00a0\u00a0 17.9 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 557.95K\u00a0 159:39.50 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_318 on conflict do nothing;<br \/>29970 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.9\u00a0\u00a0 19.5 31.98K\u00a0\u00a0 629.03K\u00a0 149:17.46 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_354 on conflict do nothing;<br \/>33975 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.8\u00a0\u00a0 20.9 24.88K\u00a0\u00a0 501.09K\u00a0 139:49.81 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_288 on conflict do nothing;<br \/>34261 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 18.2 7.11K\u00a0\u00a0\u00a0 536.63K\u00a0 138:47.16 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_320 on conflict do nothing;<br \/>35490 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.4\u00a0\u00a0 20.8 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 554.40K\u00a0 136:33.11 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_289 on conflict do nothing;<br \/>39535 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 15.4 31.98K\u00a0\u00a0 341.17K\u00a0 129:17.10 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_324 on conflict do nothing;<br \/>42067 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.0\u00a0\u00a0 19.7 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 273.65K\u00a0 122:51.41 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_336 on conflict do nothing;<br \/>46055 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.1\u00a0\u00a0 10.8 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 220.34K\u00a0 114:25.79 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_322 on conflict do nothing;<br \/>46587 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 17.7 10.66K\u00a0\u00a0 820.94K\u00a0 112:23.94 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_290 on conflict do nothing;<br \/>50153 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 19.1\u00a0\u00a0 18.8 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.51M\u00a0\u00a0\u00a0 104:45.06 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_351 on conflict do nothing;<br \/>52349 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.4\u00a0\u00a0 5.0\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 241.66K\u00a0 \u00a099:52.58 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_358 on conflict do nothing;<br \/>54305 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.5\u00a0\u00a0 19.8 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 515.31K\u00a0 \u00a095:28.38 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_294 on conflict do nothing;<br \/>54647 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.8\u00a0\u00a0 16.9 14.22K\u00a0\u00a0 1.27M\u00a0\u00a0\u00a0 \u00a094:08.78 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_356 on conflict do nothing;<br \/>54860 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.4\u00a0\u00a0 10.3 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 216.78K\u00a0 \u00a093:32.76 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_349 on conflict do nothing;<br \/>58661 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 14.4 17.77K\u00a0\u00a0 486.88K\u00a0 \u00a084:38.07 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_307 on conflict do nothing;<br \/>60696 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.9\u00a0\u00a0 17.2 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 497.54K\u00a0 \u00a079:46.31 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_302 on conflict do nothing;<br \/>62637 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.4\u00a0\u00a0 11.4 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 248.77K\u00a0 \u00a075:20.59 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_337 on conflict do nothing;<br \/>62929 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 16.1 10.66K\u00a0\u00a0 650.35K\u00a0 \u00a074:16.67 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_300 on conflict do nothing;<br \/>769\u00a0\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.0\u00a0\u00a0 9.4\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 462.00K\u00a0 \u00a069:59.01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_360 on conflict do nothing;<br \/>794\u00a0\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.8\u00a0\u00a0 17.9 14.22K\u00a0\u00a0 540.18K\u00a0 \u00a069:53.14 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_306 on conflict do nothing;<br \/>2598\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.5\u00a0\u00a0 3.5\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 245.21K\u00a0 \u00a066:18.63 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_339 on conflict do nothing;<br \/>6076\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 16.8\u00a0\u00a0 3.1\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 216.78K\u00a0 \u00a057:44.43 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_340 on conflict do nothing;<br \/>6130\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.7\u00a0\u00a0 14.0 3.55K\u00a0\u00a0\u00a0 447.78K\u00a0 \u00a057:38.65 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_357 on conflict do nothing;<br \/>7399\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 29.7\u00a0\u00a0 15.6 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.69M\u00a0\u00a0\u00a0 \u00a055:52.47 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_368 on conflict do nothing;<br \/>7994\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.3\u00a0\u00a0 15.3 3.55K\u00a0\u00a0\u00a0 597.04K\u00a0 \u00a053:43.93 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_332 on conflict do nothing;<br \/>9695\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 18.2\u00a0\u00a0 14.2 3.55K\u00a0\u00a0\u00a0 497.54K\u00a0 \u00a049:49.45 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_328 on conflict do nothing;<br \/>9781\u00a0 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 19.0\u00a0\u00a0 13.6 7.11K\u00a0\u00a0\u00a0 2.17M\u00a0\u00a0\u00a0 \u00a049:25.45 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_333 on conflict do nothing;<br \/>12410 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 18.2\u00a0\u00a0 11.2 3.55K\u00a0\u00a0\u00a0 557.95K\u00a0 \u00a043:44.34 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_303 on conflict do nothing;<br \/>13890 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 18.2\u00a0\u00a0 13.2 10.66K\u00a0\u00a0 689.44K\u00a0 \u00a040:47.61 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_304 on conflict do nothing;<br \/>14261 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.7\u00a0\u00a0 13.6 17.77K\u00a0\u00a0 593.49K\u00a0 \u00a039:21.06 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_301 on conflict do nothing;<br \/>14454 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 21.2\u00a0\u00a0 13.2 3.55K\u00a0\u00a0\u00a0 838.70K\u00a0 \u00a038:48.18 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_367 on conflict do nothing;<br \/>14815 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 15.5\u00a0\u00a0 2.1\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 799.61K\u00a0 \u00a037:16.11 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_338 on conflict do nothing;<br \/>18165 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 18.1\u00a0\u00a0 11.8 21.32K\u00a0\u00a0 966.64K\u00a0 \u00a030:39.23 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_350 on conflict do nothing;<br \/>18331 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 19.0\u00a0\u00a0 9.4\u00a0 10.66K\u00a0\u00a0 447.78K\u00a0 \u00a029:49.12 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_364 on conflict do nothing;<br \/>19112 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 50.0\u00a0\u00a0 12.2 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5.29M\u00a0\u00a0\u00a0 \u00a027:03.16 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_394 on conflict do nothing;<br \/>21651 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 18.6\u00a0\u00a0 9.8\u00a0 7.11K\u00a0\u00a0\u00a0 1.27M\u00a0\u00a0\u00a0 \u00a021:54.82 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_305 on conflict do nothing;<br \/>26875 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 48.2\u00a0\u00a0 0.8\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.99M\u00a0\u00a0\u00a0 \u00a011:42.52 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALInsert N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.client_payment select * from expch_fdw.client_payment_109 on conflict do nothing;<br \/>27170 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 24.8\u00a0\u00a0 5.5\u00a0 31.98K\u00a0\u00a0 2.03M\u00a0\u00a0\u00a0 \u00a011:38.50 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_366 on conflict do nothing;<br \/>27780 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 50.8\u00a0\u00a0 8.0\u00a0 39.09K\u00a0\u00a0 2.25M\u00a0\u00a0\u00a0 \u00a010:23.48 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WALWrite N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_393 on conflict do nothing;<br \/>29374 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0psql \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0postgres \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 17.7\u00a0\u00a0 2.9\u00a0 39.09K\u00a0\u00a0 845.81K\u00a0 \u00a006:44.00 \u00a0\u00a0\u00a0BufferContent N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active insert into expch.trade_details select * from expch_fdw.trade_details_334 on conflict do nothing;<br \/>29583 \u00a0creo\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0None \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0local 72.9\u00a0\u00a0 0.2\u00a0 12.56M\u00a0\u00a0 0B\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a005:58.52 \u00a0\u00a0\u00a0\u00a0\u00a0VacuumDelay N\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0active autovacuum: VACUUM expch.trade_details<\/code><\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0438\u043c:<\/p>\n<p><strong>cat -n journal_record.47.log<br \/><\/strong>1\u00a0 Mon 20 Nov 2023 08:15:01 PM MSK<br \/>2\u00a0 INSERT 0 10000000<br \/>3\u00a0 Mon 20 Nov 2023 10:15:07 PM MSK<br \/>4\u00a0 Mon 20 Nov 2023 10:15:07 PM MSK<br \/>5\u00a0 INSERT 0 10000000<br \/>6\u00a0 Mon 20 Nov 2023 11:33:51 PM MSK<br \/>7\u00a0 Mon 20 Nov 2023 11:33:51 PM MSK<br \/>8\u00a0 INSERT 0 10000000<br \/>9\u00a0 Tue 21 Nov 2023 12:08:12 AM MSK<br \/>10\u00a0 Tue 21 Nov 2023 12:08:12 AM MSK<br \/>11\u00a0 INSERT 0 10000000<br \/>12\u00a0 Tue 21 Nov 2023 01:02:32 AM MSK<br \/>13\u00a0 Tue 21 Nov 2023 01:02:32 AM MSK<br \/>14\u00a0 INSERT 0 10000000<br \/>15\u00a0 Tue 21 Nov 2023 02:15:27 AM MSK<br \/>16\u00a0 Tue 21 Nov 2023 02:15:27 AM MSK<br \/>17\u00a0 INSERT 0 10000000<br \/>18\u00a0 Tue 21 Nov 2023 03:19:27 AM MSK<br \/>19\u00a0 Tue 21 Nov 2023 03:19:27 AM MSK<br \/>20\u00a0 INSERT 0 9992000<br \/>21\u00a0 Tue 21 Nov 2023 03:56:46 AM MSK<br \/>22\u00a0 Tue 21 Nov 2023 03:56:46 AM MSK<br \/>23\u00a0 ERROR:\u00a0 invalid byte sequence for encoding &#171;WIN1251&#187;: 0x00<br \/>24\u00a0 CONTEXT:\u00a0 converting column &#171;description&#187; for foreign table scan of &#171;journal_record_452&#187;, row 7784003<br \/>25\u00a0 Tue 21 Nov 2023 04:11:08 AM MSK<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u00ab\u0431\u0438\u0442\u044b\u043c\u00bb \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c WIN1251. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u0439\u0442 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 WIN1251.<\/p>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u043b\u0438\u043c\u0438\u0442\u043e\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0438\u043f\u043e\u0432 PostgreSQL  text \u0438 bytea 1\u0413\u0431. \u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 CLOB \u0438 BLOB \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 1\u0413\u0431. \u0422\u0430\u043a\u0438\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. \u041b\u0438\u0431\u043e \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle, \u043b\u0438\u0431\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u0435\u0437  \u043f\u043e\u043b\u0435\u0439 CLOB \u0438 BLOB \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435. \u0418\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u0447\u0430\u0441\u0442\u0438 \u0430 \u0442\u043e \u0438 \u0432\u043e\u0432\u0441\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0441\u043b\u0438 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c. \u0422\u0430\u043a\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>\u00a0\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c Oracle \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f:<br \/>25\u00a0 Tue 21 Nov 2023 07:57:47 PM MSK<br \/>26\u00a0 Tue 21 Nov 2023 07:57:47 PM MSK<br \/>27\u00a0 INSERT 0 9541960<br \/>28\u00a0 Tue 21 Nov 2023 08:52:37 PM MSK<br \/>29\u00a0 Tue 21 Nov 2023 08:52:37 PM MSK<br \/>30\u00a0 Tue 21 Nov 2023 04:33:22 PM MSK<br \/>31\u00a0 INSERT 0 773060<br \/>32\u00a0 Tue 21 Nov 2023 04:51:41 PM MSK<br \/>33\u00a0 Tue 21 Nov 2023 04:51:41 PM MSK<br \/>34\u00a0 ERROR:\u00a0 error fetching result: OCIStmtFetch2 failed to fetch next result rows<br \/>35\u00a0 DETAIL:\u00a0 ORA-04030: out of process memory when trying to allocate 232 bytes (session heap,lob ctl struct)<br \/>36\u00a0 Tue 21 Nov 2023 07:50:38 PM MSK<br \/>37\u00a0 Tue 21 Nov 2023 07:50:38 PM MSK<br \/>38\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_131&#187; cannot be established<br \/>39\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>40\u00a0 Tue 21 Nov 2023 07:51:21 PM MSK<br \/>41\u00a0 Tue 21 Nov 2023 07:51:21 PM MSK<br \/>42\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_186&#187; cannot be established<br \/>43\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>44\u00a0 Tue 21 Nov 2023 07:51:21 PM MSK<br \/>45\u00a0 Tue 21 Nov 2023 07:51:21 PM MSK<br \/>46\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_241&#187; cannot be established<br \/>47\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>48\u00a0 Tue 21 Nov 2023 07:51:22 PM MSK<br \/>49\u00a0 Tue 21 Nov 2023 07:51:22 PM MSK<br \/>50\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_296&#187; cannot be established<br \/>51\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>52\u00a0 Tue 21 Nov 2023 07:51:23 PM MSK<br \/>53\u00a0 Tue 21 Nov 2023 07:51:23 PM MSK<br \/>54\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_351&#187; cannot be established<br \/>55\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>56\u00a0 Tue 21 Nov 2023 07:51:23 PM MSK<br \/>57\u00a0 Tue 21 Nov 2023 07:51:23 PM MSK<br \/>58\u00a0 ERROR:\u00a0 connection for foreign table &#171;journal_record_detail_406&#187; cannot be established<br \/>59\u00a0 DETAIL:\u00a0 ORA-12518: TNS:listener could not hand off client connection<br \/>60\u00a0 Tue 21 Nov 2023 07:51:24 PM MSK<\/p>\n<p>\u00a0\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a Oracle \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0441\u0442\u0430\u043b \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, \u0438 \u0434\u043e 32 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043b\u0438\u043b\u0438\u0441\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0437\u0430\u043b\u0438\u0432\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b Oracle, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043b\u0438\u0432\u043a\u0430 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0441 \u043f\u0435\u0440\u043e\u0432\u043e\u0433\u043e \u0431\u0430\u0442\u0447\u0430, \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0411\u0414 Oracle \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0430, \u0438 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0445 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e: \u043b\u0438\u0431\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 Oracle, \u043b\u0438\u0431\u043e \u0438\u0445 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c.<\/p>\n<p><a class=\"anchor\" name=\"30\" id=\"30\"><\/a><\/p>\n<h3>\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0432\u0441\u0442\u0430\u0432\u043e\u043a \u0438 \u0440\u043e\u0441\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0411\u0414 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h3>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0437\u0430\u043b\u0438\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u0441\u0442\u0430\u0432\u043a\u0430\u0445 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f\u0445 \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/997\/c37\/de8\/997c37de87b06012f89d434c20aa2804.png\" width=\"663\" height=\"360\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/997\/c37\/de8\/997c37de87b06012f89d434c20aa2804.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f09\/44c\/6eb\/f0944c6eb09ebaa12e136f17c7ac8485.png\" width=\"660\" height=\"375\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f09\/44c\/6eb\/f0944c6eb09ebaa12e136f17c7ac8485.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"31\" id=\"31\"><\/a><\/p>\n<h2>\u0418\u0442\u043e\u0433\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h2>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u043c \u0441\u00a0\u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437\u00a0Oracle \u0432\u00a0PostgreSQL. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0443\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b: \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439, \u043f\u0440\u043e\u0431\u043d\u044b\u0445 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439 \u2014 \u043d\u0430\u043c \u0432\u0441\u0435 \u0436\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c <strong>\u043e\u0431\u0449\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/strong> \u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0442\u0430\u043a\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c. \u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u043d \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446.<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u043a\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u043d\u043e \u0437\u0430\u0442\u0435\u043c \u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u043e \u0431\u0430\u0442\u0447\u0430\u043c \u0441 \u043b\u043e\u0433\u0430\u043c\u0438, \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0411\u0414, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c: \u043e\u0442 100\u0413\u0431 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e 10\u0422\u0431.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u0446\u0435\u043b\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0441\u0438\u0441\u0442\u0435\u043c \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0434\u0435\u043b\u043e. \u041d\u043e \u0432 \u043d\u0435\u043c \u043d\u0435 \u0443\u0447\u0442\u0435\u043d\u044b \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0411\u0414 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 Oracle, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u043b\u0438 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0438\u043b\u0443 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 Oracle \u0438 PostgreSQL.<\/p>\n<p>\u0412 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0435\u043d\u0434\u043e\u0440 \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0432\u043e\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 PostgreSQL, \u043d\u043e \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043d\u0435 \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0411\u0414 PostgreSQL.<\/p>\n<p>\u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b Oracle \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 PostgreSQL, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 orafce, \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445 postgres PRO \u0438\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445 Diasoft. \u0418 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e. \u041d\u043e \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0447\u0442\u043e \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e\u0439, \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b PostgreSQL \u043f\u043e\u0434\u0432\u0435\u0440\u0433\u0430\u0435\u0442\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u043c. \u0418\u043d\u0430\u0447\u0435 \u044d\u0442\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u044d\u0442\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043b\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 PostgreSQL.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/819133\/\"> https:\/\/habr.com\/ru\/articles\/819133\/<\/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, \u0425\u0430\u0431\u0440! \u042f <strong>\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440 \u0425\u0430\u0439\u043c\u0438\u043d<\/strong>, \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u0432 \u0412\u0422\u0411. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043b\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 ora2pg. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u0435\u0433\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0438\u0437\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0430\u0437\u0430\u0445 Oracle \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043f\u043e\u0434 1\u0422\u0431 \u0438 \u0432\u044b\u0448\u0435. \u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0442\u043e\u043b\u044c\u043a\u043e oracle_fdw, \u043b\u0438\u0431\u043e \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 ora2pg \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u0418\u0437 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432: \u043f\u043e\u043d\u044f\u0442\u0438\u0435 &#171;\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&#187; \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0441\u0443\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e &#8212; \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043d\u0430 \u0431\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d \u043e\u043f\u044b\u0442 \u043a\u043e\u043b\u043b\u0435\u0433 \u0438\u0437 FORS, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438. \u0418 \u0432 \u0446\u0435\u043b\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h2><\/h2>\n<h2>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<p><strong>       <\/strong><a href=\"#1\"><strong>\u041e\u0431\u0449\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong><\/a><\/p>\n<ol>\n<li>\n<p><a href=\"#2\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u0411\u0414?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3\">\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 Oracle \u0432 PostgreSQL<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4\">\u042d\u0442\u0430\u043f\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u0420\u041e\u041c \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0411\u0414 Ora2Pg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6\">\u0422\u0438\u043f\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 Ora2Pg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#7\">\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 Oracle \u0432 PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SQL\/MED?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#8\">\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#9\">\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#10\">\u0411\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0411\u0414<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#11\">\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/a><\/p>\n<p><a href=\"#12\"><strong>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#13\">\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#14\">\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0438 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#15\">\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#16\">\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a + \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/p>\n<p><a href=\"#17\"><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#18\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#19\">\u041f\u0440\u0435\u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#20\">\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#21\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 oracle_fdw<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#22\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#23\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#24\">\u0418\u043c\u043f\u043e\u0440\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0445\u0435\u043c\u044b \u0438 \u043f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 <\/a><\/p>\n<p><a href=\"#25\"><strong>\u041f\u043b\u0430\u043d \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/strong> <\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#26\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1. \u0421\u0445\u0435\u043c\u044b \u0411\u0414 PostgreSQL \u043d\u0435\u0442, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0439 \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#27\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2. \u0421\u0445\u0435\u043c\u0430 \u0411\u0414 PostgreSQL \u0435\u0441\u0442\u044c, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043c\u0430\u043f\u0438\u0442\u044c \u0441 \u0442\u043e\u0439, \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432 Oracle<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#28\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430. \u041f\u0440\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0442\u0447\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#29\">\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#30\">\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0432\u0441\u0442\u0430\u0432\u043e\u043a \u0438 \u0440\u043e\u0441\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0411\u0414 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 <\/a><\/p>\n<p><a href=\"#31\"><strong>\u0418\u0442\u043e\u0433\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/strong><\/a><\/p>\n<\/p>\n<\/li>\n<\/ol>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<h2>\u041e\u0431\u0449\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/h2>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<h3>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u0411\u0414?<\/h3>\n<p>\u0422\u043e\u0447\u043d\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0411\u0414 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 5, 10, 15 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0441\u0447\u0438\u0442\u0430\u043b\u0438\u0441\u044c \u043a\u0440\u0443\u043f\u043d\u044b\u043c\u0438 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u0441\u0440\u0435\u0434\u043d\u0438\u0445 \u0438\u043b\u0438 \u043c\u0430\u043b\u044b\u0445.<\/p>\n<p>\u041a\u0440\u0443\u043f\u043d\u043e\u0439 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0435\u0435 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0435\u0439, \u0447\u0442\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>\u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0411\u0414 (\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044f, \u0432\u0430\u043a\u0443\u0443\u043c).<\/p>\n<\/li>\n<\/ul>\n<p>\u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f \u0432 \u0446\u0435\u043b\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u044f \u0411\u0414 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438\u043b\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u041a\u043e\u0433\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0430\u043c\u0438, \u0430 \u0442\u043e \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u043c\u0438 \u0447\u0430\u0441\u043e\u0432 \u0438\u043b\u0438 \u0441\u0443\u0442\u043e\u043a.<\/p>\n<p>\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435\u0439 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043b\u044f PostgreSQL \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0411\u0414 \u043e\u0442 1\u0422\u0431 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e 12\u0422\u0431. \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 \u0411\u0414 \u0441\u0432\u0435\u0440\u0445\u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432, \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043e\u0434\u043d\u0430\u043a\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435. \u0428\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043a\u0430\u043a \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u043c, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0411\u0414.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<h3>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 Oracle \u0432 PostgreSQL<\/h3>\n<p>\u041e\u0431\u0449\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u044d\u0442\u0430\u043f\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u0438 \u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p><strong>\u041e\u0446\u0435\u043d\u043a\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/strong> \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0445\u043e\u0440\u043e\u0448\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 Oracle \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0435\u0442. \u041e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u043f\u0440\u043e\u0441\u043d\u0438\u043a \u043f\u043e \u0442\u043e\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0411\u0414 Oracle \u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0432 PostgreSQL \u0432\u0432\u0438\u0434\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043b\u0438\u0431\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 PostgreSQL. \u041e\u043f\u0440\u043e\u0441\u043d\u0438\u043a \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435, \u0447\u0435\u043c 100 \u043f\u0443\u043d\u043a\u0442\u043e\u0432. \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c \u0411\u0414, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c LOB, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 Oracle \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 PostgreSQL, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0434 Java, \u043f\u0430\u043a\u0435\u0442\u044b \u0432\u0440\u043e\u0434\u0435 DMBS, UTL \u0438 \u0442.\u0434. \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u044d\u0442\u043e \u0432 PostgreSQL \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0432\u043e\u0432\u0441\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u043d\u0435\u0433\u043e, \u0432\u044b\u043d\u0435\u0441\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430<\/strong> \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0435\u0439 Oracle \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0443, \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 PostgreSQL;<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0431\u043e\u0440 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/strong> \u042d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043a\u0430\u043a \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0432\u0440\u043e\u0434\u0435 Diasoft Migrator, Ispirer \u0438\u043b\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043a\u0430\u043a Ora2pg. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0411\u0414 \u043c\u043e\u0436\u043d\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 DBeaver;<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f.<\/strong> \u041e\u0446\u0435\u043d\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u0447\u0430\u0441\u0442\u0438 DDL \u0434\u043e \u0442\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u044b\u043b \u0431\u044b \u0434\u043b\u044f \u043d\u0430\u0441, \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0411\u0414 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 Oracle \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0430\u0447\u0435, \u0447\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 PostgreSQL. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0443 \u043d\u0430\u0441 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0411\u0414 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u0446\u0435\u043d\u043a\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 100 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0438 \u0432\u0435\u043d\u0434\u043e\u0440, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0438\u043c\u0435\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><a class=\"anchor\" name=\"4\" id=\"4\"><\/a><\/p>\n<h3>\u042d\u0442\u0430\u043f\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u0420\u041e\u041c \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<ol>\n<li>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0411\u0414 \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0411\u0414, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0447\u0430\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439 \u0431\u043e\u043b\u0435\u0435 90% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u044f. \u0427\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043c\u044b \u043c\u0438\u0433\u0440\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0411\u0414 PostgreSQL;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0435\u0446 \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\">\n<div><figcaption><em>\u0422\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 <\/em>   <\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"5\" id=\"5\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0411\u0414 Ora2Pg<\/h3>\n<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445, \u0442\u0430\u043a \u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u0418 \u0442\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0431\u0449\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u0441\u0435\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u2013 \u044d\u0442\u043e \u043d\u0438\u0437\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438\u0447\u0435\u043c ora2pg \u0438\u043c\u0435\u0435\u0442 \u0441\u0430\u043c\u0443\u044e \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u0430\u043a \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u043c\u043d\u043e\u0433\u0438\u0435, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u0435\u0442 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e LOB \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445, \u0438 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0436\u043d\u0435\u0435 \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u043e\u043b\u044f\u0445 bytea, text \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0434\u043e 1 GB, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e 1000 \u0441\u0442\u0440\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0443\u0436\u0435 1 \u0422\u0412 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0443\u0434\u0438\u0442\u044c \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0435 \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0432\u0435\u0440\u043d\u043e, \u0432\u0430\u0436\u043d\u0435\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445.<\/p>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0432 \u0446\u0435\u043b\u043e\u043c \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0435\u043c\u0438, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043c\u044b.<\/p>\n<p><a class=\"anchor\" name=\"6\" id=\"6\"><\/a><\/p>\n<h3>\u0422\u0438\u043f\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 Ora2Pg<\/h3>\n<p><strong>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c.<\/strong><\/p>\n<p>\u0412\u044b\u0433\u0440\u0443\u0437\u043a\u0430:<br \/><code>nohup ora2pg -j 2 -J 12 -t INSERT -o data.sql -b .\/data -c .\/config\/ora2pg.conf<\/code><br \/>Oracle \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 12 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0434\u0435\u0442 \u0432 \u0434\u0432\u0430, \u0435\u0449\u0435 \u0434\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 ora2pg.<\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430:<br \/><code>nohup \/postgres\/ora2pg\/client\/import_all.sh -d client -o postgres -U postgres -a -y -I -P 8<\/code><br \/>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430 \u0432 \u0440\u0430\u0437\u044b, \u043d\u043e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u0432\u0441\u0435 \u0435\u0449\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<p>\u041f\u0435\u0440\u0435\u043b\u0438\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0411\u0414 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0432 \u0411\u0414 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 oracle_fdw \u0432 ora2pg:<br \/><code>FDW_SERVER\u00a0\u00a0\u00a0\u00a0\u00a0 orcl<br \/>$ ora2pg -t COPY -c config\/ora2pg.conf<br \/>[========================>] 7\/7 tables (100.0%) end of scanning.\u00a0 <br \/>[========================>] 7\/7 tables (100.0%) end of table export<br \/>NOTICE:\u00a0 schema \"ora2pg_fdw_import\" does not exist, skipping<br \/>[========================>] 215\/215 rows (100.0%) on total estimated data (2 sec., avg: 107 recs\/sec)<\/code><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 2,5 \u0440\u0430\u0437\u0430. \u041d\u043e \u043f\u043e\u043a\u0430 \u0434\u0430\u043c\u043f \u0435\u0449\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<p><a class=\"anchor\" name=\"7\" id=\"7\"><\/a><\/p>\n<h3>\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 Oracle \u0432 PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SQL\/MED?<\/h3>\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0434\u0430\u043c\u043f\u0430, \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0411\u0414 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 oracle_fdw.<br \/>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<br \/>oracle-instantclient19.10-sqlplus-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64<br \/>oracle-instantclient19.10-tools-19.10.0.0.0-1.x86_64<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 oracle_fdw \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0411\u0414 \u2013 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443 Oracle:<\/p>\n<pre><code class=\"sql\">CREATE EXTENSION oracle_fdw;CREATE SERVER k3test_oracle FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '\/\/oracle.host:1521\/k3test');CREATE USER MAPPING FOR postgres SERVER k3test_oracle OPTIONS (user 'or2pgmigration', password '*******');<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a pm \u0438 \u0441\u0445\u0435\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a pm_fdw:<br \/>create schema pm;<br \/>create schema pm_fdw;<\/p>\n<p>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0445\u0435\u043c\u0443 PM \u0432 \u0431\u0430\u0437\u0435 Oracle \u0432 \u0441\u0445\u0435\u043c\u0443 pm_fdw \u0432 \u0431\u0430\u0437\u0435 PostgreSQL:<\/p>\n<pre><code class=\"sql\">IMPORT FOREIGN SCHEMA \"PM\" FROM SERVER k3test_oracle INTO pm_fdw;<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0445\u0435\u043c\u0430 pm_fdw \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0411\u0414 Oracle.<\/p>\n<h4>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f DDL \u0441\u0445\u0435\u043c\u044b<\/h4>\n<p><strong>\u0414\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code class=\"sql\">create table pm.table1 as   select * from   pm_fdw.table1  where false;<\/code><\/pre>\n<p><strong>\u0414\u043b\u044f \u0441\u0445\u0435\u043c\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0441 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430\u043c\u0438):<\/strong><\/p>\n<pre><code class=\"sql\">do $$        declare              schema_from varchar = 'pm_fdw';              schema_to varchar = 'pm';              r record; begin        for r in select table_name from information_schema.\"tables\" where table_schema = schema_from        loop          EXECUTE 'create table '||schema_to||'.'||r.table_name||' as select * from '||schema_from||'.'||r.table_name||'where false';        end loop; end $$<\/code><\/pre>\n<h4>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p><strong>\u0414\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code class=\"sql\">insert into table pm.table1 as   select * from pm_fdw.table1;<\/code><\/pre>\n<p><strong>\u0414\u043b\u044f \u0441\u0445\u0435\u043c\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c:<\/strong><\/p>\n<pre><code class=\"sql\">do $$        declare              schema_from varchar =<\/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-379596","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379596","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=379596"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379596\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=379596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=379596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=379596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}