{"id":260400,"date":"2015-06-30T12:32:02","date_gmt":"2015-06-30T08:32:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=260400"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=260400","title":{"rendered":"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Postgres-xl \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432"},"content":{"rendered":"<p>             \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0425\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0430\u043c\u0438 \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Postgres-xl \u0432 \u0432\u0438\u0434\u0435 \u043c\u0438\u043d\u0438-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u00ab\u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432\u00bb. \u0421\u0442\u0430\u0442\u0435\u0439 \u0438 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043d\u0430 \u0442\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 postgres-xl \u043d\u0435 \u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0418 \u0432 \u043d\u0438\u0445 \u0432\u0441\u0435\u0445 \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0443 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043d\u0430 \u0432\u0437\u0433\u043b\u044f\u0434 \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043a\u0430\u043a \u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0436\u0434\u0435 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0436\u0434\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u043b\u0438\u043d\u0443\u043a\u0441-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u0441\u044f\u0445. \u0412\u0441\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0445 \u0441 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435\u043c postgresql\/postgres-xl \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438. \u0414\u0430\u043b\u0435\u0435 \u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u043f\u0438\u0448\u0443 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u043e\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 postgres-xl \u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0434\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445\u00bb \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0438 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0442\u043e\u0436\u0435, \u044f \u043e\u043f\u0443\u0449\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e Postgres-xl, \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u0438\u0445 \u0442\u0438\u043f\u043e\u0432 (\u0440\u043e\u043b\u0435\u0439).<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u0414\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u0437 4 \u0443\u0437\u043b\u043e\u0432: GTM, GTM-Standby \u0438 2 \u043d\u043e\u0434\u0430 (GTM-proxy, Coordinator, Datanode):<\/p>\n<ul>\n<li> GTM1<br \/>  192.168.1.100<br \/>  GTM-Active: 6666\n<\/li>\n<li>GTM2<br \/>  192.168.1.101<br \/>  GTM-Stanby: 6666\n<\/li>\n<li>NODE1<br \/>  192.168.1.102<br \/>  GTM-Proxy1: 6666<br \/>  Coordinator1: 5432<br \/>  Datanode1: 15432\n<\/li>\n<li>NODE2<br \/>  192.168.1.103<br \/>  GTM-Proxy2: 6666<br \/>  Coordinator2: 5432<br \/>  Datanode2: 15432  <\/li>\n<\/ul>\n<p>  \u0412\u0441\u0435 \u0443\u0437\u043b\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043c\u0430\u0448\u0438\u043d\u0430\u043c\u0438 \u0441 1024 \u041c\u0431 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 2.1Ghz. \u0412 \u0432\u044b\u0431\u043e\u0440\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u041e\u0421 \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 CentOS 7.0, \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u044f \u0442\u043e\u0436\u0435 \u043e\u043f\u0443\u0449\u0443. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b Minimal \u0432\u0435\u0440\u0441\u0438\u044e.<\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h2>\n<p>  \u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c 4 \u0447\u0438\u0441\u0442\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c CentOS. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0441\u043a\u0430\u0447\u043a\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0438\u0437 sourceforge \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441\u0430\u043c\u0438\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<pre><code class=\"bash\"># yum install -y wget vim gcc make kernel-devel perl-ExtUtils-MakeMaker perl-ExtUtils-Embed readline-devel zlib-devel openssl-devel pam-devel libxml2-devel openldap-devel tcl-devel python-devel flex bison docbook-style-dsssl libxslt <\/code><\/pre>\n<p>  \u0422.\u043a. \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0447\u0438\u0441\u0442\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 CentOS, \u0442\u043e \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 wget \u2014 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0438 vim \u2014 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0435 \u043b\u0438\u0448\u043d\u0438\u043c \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\"># yum update -y  <\/code><\/pre>\n<p>  \u0414\u043e\u0436\u0434\u0430\u0432\u0448\u0438\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 3. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430<\/h2>\n<p>  \u0414\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"># wget http:\/\/sourceforge.net\/projects\/postgres-xl\/files\/latest\/download # mv download pgxl-9.2.src.tar.gz <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\"># wget http:\/\/sourceforge.net\/projects\/postgres-xl\/files\/latest\/download -O pgxl-9.2.src.tar.gz <\/code><\/pre>\n<p>  \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0432 \u043d\u0443\u0436\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\"># cp pgxl-9.2.src.tar.gz \/usr\/local\/src\/ # cd \/usr\/local\/src\/ # tar -xzvf pgxl-9.2.src.tar.gz <\/code><\/pre>\n<p>  \u0410\u0440\u0445\u0438\u0432 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 postgres-xl, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\"># ls <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0443\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 root \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"bash\"># useradd postgres # passwd postgres <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0432\u0432\u043e\u0434\u0438\u043c \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438:<\/p>\n<pre><code class=\"bash\"># chown -R postgres.postgres postgres-xl # cd postgres-xl <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e .\/configure \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0438\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u044d\u0442\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043e\u043f\u0446\u0438\u044f\u043c\u0438:<\/p>\n<pre><code class=\"bash\"># .\/configure --with-tcl --with-perl --with-python --with-pam --with-ldap --with-openssl --with-libxml  <\/code><\/pre>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u0438\u0445 \u043e\u043f\u0446\u0438\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, <a href=\"http:\/\/files.postgres-xl.org\/documentation\/install-procedure.html\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e \u043c\u043e\u0434\u0443\u043b\u044c, \u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:<\/p>\n<pre><code class=\"bash\"># .\/configure <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u043c\u0438 (\u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430), \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 &#8212;prefix \u0438 &#8212;disable-rpath. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\"># .\/configure --prefix=\/usr\/local\/pgsql --disable-rpath <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <b>&#8212;prefix<\/b> \u2014 \u044d\u0442\u043e \u043f\u0443\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043e\u043d \u0440\u0430\u0432\u0435\u043d &#8216;\/usr\/local\/pgsql&#8217; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<br \/>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <b>&#8212;disable-rpath<\/b> \u2014 \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u043c\u0438.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0430\u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0440\u0430\u043d\u0435\u0435:<\/p>\n<pre><code class=\"bash\"># su postgres $ gmake world <\/code><\/pre>\n<p>  \u043b\u0438\u0431\u043e<\/p>\n<pre><code class=\"bash\"># su postgres -c 'gmake world' <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0432 \u043b\u043e\u0433\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre> Postgres-XL, contrib and HTML documentation successfully made. Ready to install. <\/pre>\n<p>  \u0412\u0441\u0451! \u0412\u0441\u0451 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \/usr\/local\/src\/postgres-xl \u043d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0437\u043b\u044b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435:<\/p>\n<pre><code class=\"bash\"># gmake install-world <\/code><\/pre>\n<p>  \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u0430\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e.<\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 4. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442-\u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 environment \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/p>\n<pre><code class=\"bash\"># echo 'export PGUSER=postgres' &gt;&gt; \/etc\/profile # echo 'export PGHOME=\/usr\/local\/pgsql' &gt;&gt; \/etc\/profile # echo 'export PATH=$PATH:$PGHOME\/bin' &gt;&gt; \/etc\/profile # echo 'export LD_LIBRARY_PATH=$PGHOME\/lib' &gt;&gt; \/etc\/profile <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043b\u043e\u0433\u0438\u043d\u0438\u0442\u044c\u0441\u044f. \u041b\u043e\u0433\u0430\u0443\u0442 \u0434\u0435\u043b\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\"># exit <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0430\u043f\u043a\u0443 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0435\u0451 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0440\u043e\u043b\u044c\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  <b>GTM1\/GTM2<\/b>:<\/p>\n<pre><code class=\"bash\"># mkdir $PGHOME\/gtm_data # chown -R postgres.postgres $PGHOME\/gtm_data # su - postgres -c &quot;initgtm -Z gtm -D $PGHOME\/gtm_data&quot; <\/code><\/pre>\n<p>  <b>NODE1<\/b>:<\/p>\n<pre><code class=\"bash\"># mkdir -p $PGHOME\/data\/data_gtm_proxy1 # mkdir -p $PGHOME\/data\/data_coord1 # mkdir -p $PGHOME\/data\/data_datanode1 # chown -R postgres.postgres $PGHOME\/data\/  # su - postgres -c &quot;initdb -D $PGHOME\/data\/data_coord1\/ --nodename coord1&quot; # su - postgres -c &quot;initdb -D $PGHOME\/data\/data_datanode1\/ --nodename datanode1&quot; # su - postgres -c &quot;initgtm -D $PGHOME\/data\/data_gtm_proxy1\/ -Z gtm_proxy&quot; <\/code><\/pre>\n<p>  <b>NODE2<\/b>:<\/p>\n<pre><code class=\"bash\"># mkdir -p $PGHOME\/data\/data_gtm_proxy2 # mkdir -p $PGHOME\/data\/data_coord2 # mkdir -p $PGHOME\/data\/data_datanode2 # chown -R postgres.postgres $PGHOME\/data\/  # su - postgres -c &quot;initdb -D $PGHOME\/data\/data_coord2\/ --nodename coord2&quot; # su - postgres -c &quot;initdb -D $PGHOME\/data\/data_datanode2\/ --nodename datanode2&quot; # su - postgres -c &quot;initgtm -D $PGHOME\/data\/data_gtm_proxy2\/ -Z gtm_proxy&quot; <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u0443\u0437\u043b\u0430\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  <b>GTM1<\/b>:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">gtm.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/gtm_data\/gtm.conf nodename = 'gtm_master' listen_addresses = '*' port = 6666 startup = ACT  log_file = 'gtm.log' log_min_messages = WARNING <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>GTM2<\/b>:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">gtm.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/gtm_data\/gtm.conf  nodename = 'gtm_slave' listen_addresses = '*' port = 6666 startup = STANDBY  active_host = 'GTM1'       #\u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c IP \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e GTM \u0445\u043e\u0441\u0442\u0430, \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 '192.168.1.100' active_port = 6666  log_file = 'gtm.log' log_min_messages = WARNING <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>NODE1<\/b>:<\/p>\n<p>  GTM_PROXY:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">gtm_proxy.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_gtm_proxy1\/gtm_proxy.conf  nodename = 'gtm_proxy1' listen_addresses = '*' port = 6666  gtm_host = 'GTM1' gtm_port = 6666  log_file = 'gtm_proxy1.log' log_min_messages = WARNING <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  COORDINATOR1  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">postgresql.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_coord1\/postgresql.conf  listen_addresses = '*' port = 5432 pooler_port = 6667  gtm_host = 'localhost'               # \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0434\u0440\u0435\u0441\/\u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 gtm_proxy, \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 - \u044d\u0442\u043e localhost gtm_port = 6666 pgxc_node_name = 'coord1' <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pg_hba.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_coord1\/pg_hba.conf  host\tall\t\tall\t\t192.168.1.0\/24\t\ttrust <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  DATANODE1  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">postgresql.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_datanode1\/postgresql.conf  listen_addresses = '*' port = 15432 pooler_port = 6668  gtm_host = 'localhost' gtm_port = 6666 pgxc_node_name = 'datanode1' <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pg_hba.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_datanode1\/pg_hba.conf  host\tall\t\tall\t\t192.168.1.0\/24\t\ttrust <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>NODE2<\/b>:<\/p>\n<p>  GTM_PROXY:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">gtm_proxy.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_gtm_proxy2\/gtm_proxy.conf  nodename = 'gtm_proxy2' listen_addresses = '*' port = 6666  gtm_host = 'GTM1' gtm_port = 6666  log_file = 'gtm_proxy2.log' log_min_messages = WARNING <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  COORDINATOR2  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">postgresql.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_coord2\/postgresql.conf  listen_addresses = '*' port = 5432 pooler_port = 6667  gtm_host = 'localhost' gtm_port = 6666 pgxc_node_name = 'coord2' <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pg_hba.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_coord2\/pg_hba.conf  host\tall\t\tall\t\t192.168.1.0\/24\t\ttrust <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  DATANODE2  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">postgresql.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_datanode2\/postgresql.conf  listen_addresses = '*' port = 15432 pooler_port = 6668  gtm_host = 'localhost' gtm_port = 6666 pgxc_node_name = 'datanode2' <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pg_hba.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi $PGHOME\/data\/data_datanode2\/pg_hba.conf  host\tall\t\tall\t\t192.168.1.0\/24\t\ttrust <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u043c\u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u0435\u0440\u0432\u043e\u043b CentOS \u043d\u0430 \u0432\u0441\u0435\u0445 \u0445\u043e\u0441\u0442\u0430\u0445:<\/p>\n<pre><code class=\"bash\"># firewall-cmd --zone=public --add-port=5432\/tcp --permanent # firewall-cmd --zone=public --add-port=15432\/tcp --permanent # firewall-cmd --zone=public --add-port=6666\/tcp --permanent # firewall-cmd --zone=public --add-port=6667\/tcp --permanent # firewall-cmd --zone=public --add-port=6668\/tcp --permanent # firewall-cmd --reload <\/code><\/pre>\n<p>  \u0412\u043f\u0440\u043e\u0447\u0435\u043c \u0434\u043b\u044f GTM1\/GTM2 \u043c\u0430\u0448\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 6666 \u043f\u043e\u0440\u0442.<\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 5. \u0417\u0430\u043f\u0443\u0441\u043a \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0443\u0437\u043b\u044b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0443\u0437\u043b\u0430\u0445 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 postgres \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<pre><code class=\"bash\"># su - postgres $ gtm_ctl start -Z gtm -D $PGHOME\/{data_dir} $ gtm_ctl start -Z gtm_proxy -D $PGHOME\/{data_dir}  $ pg_ctl start -Z datanode -D $PGHOME\/{data_dir} $ pg_ctl start -Z coordinator -D $PGHOME\/{data_dir} <\/code><\/pre>\n<p>  \u0413\u0434\u0435 &#8216;<i>{data_dir}<\/i>&#8216; \u0438\u043c\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f GTM \u044d\u0442\u043e: &#8216;<i>data\/gtm_data<\/i>&#8216;, \u0434\u043b\u044f datanode1 \u044d\u0442\u043e: &#8216;<i>data\/data_datanode1\/<\/i>&#8216; \u0438 \u0442.\u0434.<\/p>\n<p>  \u041d\u043e \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439, \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c\/\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439\/\u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c.<br \/>  \u0412 \u043f\u0430\u043f\u043a\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438 \u0435\u0441\u0442\u044c SysV \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u00ab\u0438\u0437\u044f\u0449\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f\u00bb PostgreSQL. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u0443\u044e \u0440\u043e\u043b\u044c \u0443\u0437\u043b\u043e\u0432 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e \u0438\u0437 \u0441\u0435\u0431\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">src\/postgres-xl\/contrib\/start-scripts\/linux<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># cat \/usr\/local\/src\/postgres-xl\/contrib\/start-scripts\/linux  #! \/bin\/sh  # chkconfig: 2345 98 02 # description: PostgreSQL RDBMS  # This is an example of a start\/stop script for SysV-style init, such # as is used on Linux systems.  You should edit some of the variables # and maybe the 'echo' commands. # # Place this file at \/etc\/init.d\/postgresql (or # \/etc\/rc.d\/init.d\/postgresql) and make symlinks to #   \/etc\/rc.d\/rc0.d\/K02postgresql #   \/etc\/rc.d\/rc1.d\/K02postgresql #   \/etc\/rc.d\/rc2.d\/K02postgresql #   \/etc\/rc.d\/rc3.d\/S98postgresql #   \/etc\/rc.d\/rc4.d\/S98postgresql #   \/etc\/rc.d\/rc5.d\/S98postgresql # Or, if you have chkconfig, simply: # chkconfig --add postgresql # # Proper init scripts on Linux systems normally require setting lock # and pid files under \/var\/run as well as reacting to network # settings, so you should treat this with care.  # Original author:  Ryan Kirkpatrick &lt;pgsql@rkirkpat.net&gt;  # contrib\/start-scripts\/linux  ## EDIT FROM HERE  # Installation prefix prefix=\/usr\/local\/pgsql  # Data directory PGDATA=&quot;\/usr\/local\/pgsql\/data&quot;  # Who to run the postmaster as, usually &quot;postgres&quot;.  (NOT &quot;root&quot;) PGUSER=postgres  # Where to keep a log file PGLOG=&quot;$PGDATA\/serverlog&quot;  # It's often a good idea to protect the postmaster from being killed by the # OOM killer (which will tend to preferentially kill the postmaster because # of the way it accounts for shared memory).  Setting the OOM_SCORE_ADJ value # to -1000 will disable OOM kill altogether.  If you enable this, you probably # want to compile PostgreSQL with &quot;-DLINUX_OOM_SCORE_ADJ=0&quot;, so that # individual backends can still be killed by the OOM killer. #OOM_SCORE_ADJ=-1000 # Older Linux kernels may not have \/proc\/self\/oom_score_adj, but instead # \/proc\/self\/oom_adj, which works similarly except the disable value is -17. # For such a system, enable this and compile with &quot;-DLINUX_OOM_ADJ=0&quot;. #OOM_ADJ=-17  ## STOP EDITING HERE  # The path that is to be used for the script PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin  # What to use to start up the postmaster.  (If you want the script to wait # until the server has started, you could use &quot;pg_ctl start -w&quot; here. # But without -w, pg_ctl adds no value.) DAEMON=&quot;$prefix\/bin\/postmaster&quot;  # What to use to shut down the postmaster PGCTL=&quot;$prefix\/bin\/pg_ctl&quot;  set -e  # Only start if we can find the postmaster. test -x $DAEMON || { \techo &quot;$DAEMON not found&quot; \tif [ &quot;$1&quot; = &quot;stop&quot; ] \tthen exit 0 \telse exit 5 \tfi }   # Parse command line parameters. case $1 in   start) \techo -n &quot;Starting PostgreSQL: &quot; \ttest x&quot;$OOM_SCORE_ADJ&quot; != x && echo &quot;$OOM_SCORE_ADJ&quot; &gt; \/proc\/self\/oom_score_adj \ttest x&quot;$OOM_ADJ&quot; != x && echo &quot;$OOM_ADJ&quot; &gt; \/proc\/self\/oom_adj \tsu - $PGUSER -c &quot;$DAEMON -D '$PGDATA' &&quot; &gt;&gt;$PGLOG 2&gt;&1 \techo &quot;ok&quot; \t;;   stop) \techo -n &quot;Stopping PostgreSQL: &quot; \tsu - $PGUSER -c &quot;$PGCTL stop -D '$PGDATA' -s -m fast&quot; \techo &quot;ok&quot; \t;;   restart) \techo -n &quot;Restarting PostgreSQL: &quot; \tsu - $PGUSER -c &quot;$PGCTL stop -D '$PGDATA' -s -m fast -w&quot; \ttest x&quot;$OOM_SCORE_ADJ&quot; != x && echo &quot;$OOM_SCORE_ADJ&quot; &gt; \/proc\/self\/oom_score_adj \ttest x&quot;$OOM_ADJ&quot; != x && echo &quot;$OOM_ADJ&quot; &gt; \/proc\/self\/oom_adj \tsu - $PGUSER -c &quot;$DAEMON -D '$PGDATA' &&quot; &gt;&gt;$PGLOG 2&gt;&1 \techo &quot;ok&quot; \t;;   reload)         echo -n &quot;Reload PostgreSQL: &quot;         su - $PGUSER -c &quot;$PGCTL reload -D '$PGDATA' -s&quot;         echo &quot;ok&quot;         ;;   status) \tsu - $PGUSER -c &quot;$PGCTL status -D '$PGDATA'&quot; \t;;   *) \t# Print help \techo &quot;Usage: $0 {start|stop|restart|reload|status}&quot; 1&gt;&2 \texit 1 \t;; esac  exit 0 <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u043e\u043b\u0435\u0439 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e &#8216;<i>\/etc\/rc.d\/init.d\/<\/i>&#8216; \u0441 \u043a\u0430\u043a\u0438\u043c \u043d\u0438\u0431\u0443\u0434\u044c \u0432\u043d\u044f\u0442\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c.<br \/>  \u0423 \u043c\u0435\u043d\u044f \u0432\u044b\u0448\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\"># cp \/usr\/local\/src\/postgres-xl\/contrib\/start-scripts\/linux \/etc\/rc.d\/init.d\/pgxl_gtm # cp \/usr\/local\/src\/postgres-xl\/contrib\/start-scripts\/linux \/etc\/rc.d\/init.d\/pgxl_gtm_prx # cp \/usr\/local\/src\/postgres-xl\/contrib\/start-scripts\/linux \/etc\/rc.d\/init.d\/pgxl_dn # cp \/usr\/local\/src\/postgres-xl\/contrib\/start-scripts\/linux \/etc\/rc.d\/init.d\/pgxl_crd <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0437\u043b\u0435. \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439, \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f GTM \u0441\u0442\u0430\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c (\u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044f \u0443\u0431\u0440\u0430\u043b \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u043c\u044b\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438):<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_gtm<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_gtm #! \/bin\/sh  # chkconfig: 2345 98 02 # description: PostgreSQL RDBMS  # Installation prefix prefix=\/usr\/local\/pgsql  # Data directory PGDATA=&quot;$prefix\/gtm_data&quot;  # Who to run the postmaster as, usually &quot;postgres&quot;.  (NOT &quot;root&quot;) PGUSER=postgres  # Where to keep a log file PGLOG=&quot;$PGDATA\/serverlog&quot;  # The path that is to be used for the script PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin:$prefix\/bin  # What to use to shut down the postmaster PGCTL=&quot;$prefix\/bin\/gtm_ctl&quot;  # Which cluster role PGROLE=&quot;gtm&quot;  set -e  # Only start if we can find the postmaster. test -x $PGCTL || { \techo &quot;$PGCTL not found&quot; \tif [ &quot;$1&quot; = &quot;stop&quot; ] \tthen exit 0 \telse exit 5 \tfi }   # Parse command line parameters. case $1 in   start) \techo -n &quot;Starting PostgreSQL: &quot; \ttest x&quot;$OOM_SCORE_ADJ&quot; != x && echo &quot;$OOM_SCORE_ADJ&quot; &gt; \/proc\/self\/oom_score_adj \ttest x&quot;$OOM_ADJ&quot; != x && echo &quot;$OOM_ADJ&quot; &gt; \/proc\/self\/oom_adj \tsu - $PGUSER -c &quot;$PGCTL start -Z $PGROLE -D '$PGDATA' &&quot; &gt;&gt;$PGLOG 2&gt;&1 \techo &quot;ok&quot; \t;;   stop) \techo -n &quot;Stopping PostgreSQL: &quot; \tsu - $PGUSER -c &quot;$PGCTL stop -Z $PGROLE -D '$PGDATA' -m fast&quot; \techo &quot;ok&quot; \t;;   restart) \techo -n &quot;Restarting PostgreSQL: &quot; \tsu - $PGUSER -c &quot;$PGCTL stop -Z $PGROLE -D '$PGDATA' -m fast -w&quot; \ttest x&quot;$OOM_SCORE_ADJ&quot; != x && echo &quot;$OOM_SCORE_ADJ&quot; &gt; \/proc\/self\/oom_score_adj \ttest x&quot;$OOM_ADJ&quot; != x && echo &quot;$OOM_ADJ&quot; &gt; \/proc\/self\/oom_adj \tsu - $PGUSER -c &quot;$PGCTL start -Z $PGROLE -D '$PGDATA' &&quot; &gt;&gt;$PGLOG 2&gt;&1 \techo &quot;ok&quot; \t;;   reload)         echo -n &quot;Reload PostgreSQL: &quot;         su - $PGUSER -c &quot;$PGCTL restart -Z $PGROLE -D '$PGDATA'&quot;         echo &quot;ok&quot;         ;;   status) \tsu - $PGUSER -c &quot;$PGCTL status -Z $PGROLE -D '$PGDATA'&quot; \t;;   *) \t# Print help \techo &quot;Usage: $0 {start|stop|restart|reload|status}&quot; 1&gt;&2 \texit 1 \t;; esac  exit 0 <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b &#8216;<i>$PGHOME\/bin<\/i>&#8216; \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e PATH, \u0443\u0431\u0440\u0430\u043b DAEMON, \u0432 PGCTL \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b \u043f\u0443\u0442\u044c \u043a \u0443\u0442\u0438\u043b\u0438\u0442\u0435 gtm_ctl \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 &#8216;<i>$PGHOME\/bin<\/i>&#8216; \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u043e\u043b\u044f\u043c\u0438 GTM \u0438 GTM_PROXY, \u0442\u0430\u043a \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e PGROLE \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u043e\u043b\u0435\u0439 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 3 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435: PGDATA, PGROLE, PGCTL. <\/p>\n<p>  <b>PGDATA<\/b> \u2014 \u044d\u0442\u043e \u043f\u0443\u0442\u044c \u043a \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u043e\u043b\u0438 \u0443\u0437\u043b\u0430.<br \/>  <b>PGROLE<\/b> \u2014 \u0440\u043e\u043b\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0411\u044b\u0432\u0430\u0435\u0442 gtm, gtm_proxy, coordinator, datanode.<br \/>  <b>PGCTL<\/b> \u2014 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0434\u043b\u044f gtm \u0438 gtm_proxy \u044d\u0442\u043e &#8216;<i>gtm_ctl<\/i>&#8216;, \u0430 \u0434\u043b\u044f coordinator \u0438 datanode \u044d\u0442\u043e &#8216;<i>pg_ctl<\/i>&#8216;<\/p>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u043e\u043b\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0437\u043b\u043e\u0432 \u0432 \u043d\u0430\u0448\u0435\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435:<\/p>\n<p>  <b>GTM_PROXY1<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_gtm_prx<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_gtm_prx  PGDATA=&quot;$prefix\/data\/data_gtm_proxy1&quot; PGCTL=&quot;$prefix\/bin\/gtm_ctl&quot; PGROLE=&quot;gtm_proxy&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>GTM_PROXY2<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_gtm_prx<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_gtm_prx  PGDATA=&quot;$prefix\/data\/data_gtm_proxy2&quot; PGCTL=&quot;$prefix\/bin\/gtm_ctl&quot; PGROLE=&quot;gtm_proxy&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>COORDINATOR1<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_crd<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_crd  PGDATA=&quot;$prefix\/data\/data_coord1&quot; PGCTL=&quot;$prefix\/bin\/pg_ctl&quot; PGROLE=&quot;coordinator&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>COORDINATOR2<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_crd<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_crd  PGDATA=&quot;$prefix\/data\/data_coord2&quot; PGCTL=&quot;$prefix\/bin\/pg_ctl&quot; PGROLE=&quot;coordinator&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>DATANODE1<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_dn<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_dn  PGDATA=&quot;$prefix\/data\/data_datanode1&quot; PGCTL=&quot;$prefix\/bin\/pg_ctl&quot; PGROLE=&quot;datanode&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>DATANODE2<\/b>:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">pgxl_dn<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># vi \/etc\/rc.d\/init.d\/pgxl_dn  PGDATA=&quot;$prefix\/data\/data_datanode2&quot; PGCTL=&quot;$prefix\/bin\/pg_ctl&quot; PGROLE=&quot;datanode&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u043e! \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0437\u043b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"># chmod a+x \/etc\/rc.d\/init.d\/pgxl_gtm # chmod a+x \/etc\/rc.d\/init.d\/pgxl_gtm_prx # chmod a+x \/etc\/rc.d\/init.d\/pgxl_crd # chmod a+x \/etc\/rc.d\/init.d\/pgxl_dn <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u0430\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre><code class=\"bash\"># chkconfig --add pgxl_gtm # chkconfig --add pgxl_gtm_prx # chkconfig --add pgxl_crd # chkconfig --add pgxl_dn <\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\"># service pgxl_gtm start # service pgxl_gtm_prx start # service pgxl_crd start # service pgxl_dn start <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u043f\u0440\u043e\u0448\u0435\u043b \u0437\u0430\u043f\u0443\u0441\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u043e\u0433\u0430 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"># service pgxl_gtm status # service pgxl_gtm_prx status # service pgxl_crd status # service pgxl_dn status <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0443\u0437\u043b\u043e\u0432.<\/p>\n<h2>\u0427\u0430\u0441\u0442\u044c 6. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/h2>\n<p>  \u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0443\u0437\u043b\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u043c:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">NODE1<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># su - postgres $ psql -p 5432 -c &quot;DELETE FROM pgxc_node&quot; $ psql -p 5432 -c &quot;CREATE NODE coord1 WITH (TYPE='coordinator',HOST='192.168.1.102',PORT=5432)&quot; $ psql -p 5432 -c &quot;CREATE NODE coord2 WITH (TYPE='coordinator',HOST='192.168.1.103',PORT=5432)&quot; $ psql -p 5432 -c &quot;CREATE NODE datanode1 WITH (TYPE='datanode',HOST='192.168.1.102',PORT=15432)&quot; $ psql -p 5432 -c &quot;CREATE NODE datanode2 WITH (TYPE='datanode',HOST='192.168.1.103',PORT=15432)&quot; <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">$ psql -p 5432 -c &quot;select * from pgxc_node&quot; <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0443\u0435\u043c \u043f\u0443\u043b:<\/p>\n<pre><code class=\"bash\">$ psql -p 5432 -c &quot;select pgxc_pool_reload()&quot; <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u0435\u0440\u043d\u0435\u0442 &#8216;<i>t<\/i>&#8216;, \u0442\u043e \u0435\u0441\u0442\u044c <i>true<\/i>.<\/p>\n<p>  \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043d\u043e \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439 \u0432 99,9% \u044f \u0432\u0430\u043c \u0441\u043a\u0430\u0436\u0443 \u2014 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c INSERT \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0432 \u043b\u043e\u0433\u0430\u0445 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438:  <\/p>\n<pre> STATEMENT: insert into test select 112233445566, 0123456789; ERROR: Invalid Datanode number <\/pre>\n<p>  \u0438\u043b\u0438 \u0432\u043e\u0442  <\/p>\n<pre> STATEMENT: SET global_session TO coord2_21495;SET datestyle TO iso;SET client_min_messages TO notice;SET client_encoding TO UNICODE;SET bytea_output TO escape; ERROR: Invalid Datanode number STATEMENT: Remote Subplan ERROR: node &quot;coord2_21580&quot; does not exist STATEMENT: SET global_session TO coord2_21580;SET datestyle TO iso;SET client_min_messages TO notice;SET client_encoding TO UNICODE;SET bytea_output TO escape; ERROR: Invalid Datanode number STATEMENT: Remote Subplan ERROR: Invalid Datanode number STATEMENT: Remote Subplan ERROR: Invalid Datanode number STATEMENT: Remote Subplan LOG: Will fall back to local snapshot for XID = 96184, source = 0, gxmin = 0, autovac launch = 0, autovac = 0, normProcMode = 0, postEnv = 1 ERROR: node &quot;coord2_22428&quot; does not exist STATEMENT: SET global_session TO coord2_22428; ERROR: Invalid Datanode number <\/pre>\n<p>  \u0410 \u0432\u0441\u0451 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u0437\u0430\u0443\u043c\u043d\u044b\u0445 \u043c\u0430\u043d\u0443\u0430\u043b\u0430\u0445 \u00ab\u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445\u00bb, \u0433\u0434\u0435 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u0434\u0432\u0430 \u043f\u0430\u043b\u044c\u0446\u0430 \u043e\u0431 \u0430\u0441\u0444\u0430\u043b\u044c\u0442 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0433 \u2014 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 \u0432 \u0441\u0430\u043c\u0438\u0445 DATANODE&#8217;\u0430\u0445. \u0410 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u0443\u0437\u043b\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"bash\">$ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'DELETE FROM pgxc_node'&quot;  $ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'create NODE coord1 WITH (TYPE=''coordinator'',HOST=''192.168.1.102'',PORT=5432)'&quot; $ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'create NODE coord2 WITH (TYPE=''coordinator'',HOST=''192.168.1.103'',PORT=5432)'&quot; $ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'create NODE datanode1 WITH (TYPE=''datanode'',HOST=''192.168.1.102'',PORT=15432)'&quot; $ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'create NODE datanode2 WITH (TYPE=''datanode'',HOST=''192.168.1.103'',PORT=15432)'&quot;  $ psql -p 5432 -c &quot;EXECUTE DIRECT ON (datanode1) 'SELECT pgxc_pool_reload()'&quot; <\/code><\/pre>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0442\u0440\u043e\u043a\u0443  <\/p>\n<pre> EXECUTE DIRECT ON (datanode1) <\/pre>\n<p>  \u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430  <\/p>\n<pre> EXECUTE DIRECT ON (datanode2) <\/pre>\n<p>  \u0434\u043b\u044f \u043d\u043e\u0434\u0430 \u043d\u043e\u043c\u0435\u0440 2.<\/p>\n<p>  \u0418 \u0432\u0443\u0430\u043b\u044f! \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u2026<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0412\u043e\u0442 \u0438 \u0432\u0441\u0451, \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0438 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b \u2014 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043d\u0435\u0442, \u043d\u0430 \u0437\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439 \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043b\u0430\u044f \u043d\u0435\u0434\u0435\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u043a\u0443\u0440\u0435\u043d\u0438\u044f \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432. \u0421\u0430\u043c\u044b\u043c \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u044d\u0442\u0430\u043f \u0441\u043a\u0430\u0447\u043a\u0438\/\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0442\u0430\u043c \u0442\u043e\u0436\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c (\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435 \u0434\u0435\u043b\u043e \u0432 \u043c\u043e\u0435\u0439 \u043d\u0435\u043e\u043f\u044b\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434 \u0443\u043f\u043e\u0440\u043d\u043e \u043d\u0435 \u0445\u043e\u0442\u0435\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043a\u0438\u0434\u0430\u043b \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre> '\/usr\/bin\/perl' \/bin\/collateindex.pl -f -g -i 'bookindex' -o bookindex.sgml HTML.index Can't open perl script &quot;\/bin\/collateindex.pl&quot;: No such file or directory make[4]: *** [bookindex.sgml] Error 2 make[4]: Leaving directory `\/usr\/local\/src\/postgres-xl\/doc-xc\/src\/sgml' make[3]: *** [sql_help.h] Error 2 make[3]: Leaving directory `\/usr\/local\/src\/postgres-xl\/src\/bin\/psql' make[2]: *** [all-psql-recurse] Error 2 make[2]: Leaving directory `\/usr\/local\/src\/postgres-xl\/src\/bin' make[1]: *** [all-bin-recurse] Error 2 make[1]: Leaving directory `\/usr\/local\/src\/postgres-xl\/src' make: *** [all-src-recurse] Error 2 <\/pre>\n<p>  \u041f\u043e\u0437\u0436\u0435 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c \u0444\u043e\u0440\u0443\u043c\u0435 \u043d\u0430\u0448\u0451\u043b \u043e\u0442\u0432\u0435\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <b>docbook-style-dsssl<\/b> \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u0437\u0430\u0432\u043e\u0434\u0438\u043b \u043c\u0435\u043d\u044f \u0432 \u0442\u0443\u043f\u0438\u043a \u0438\u0437-\u0437\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043e\u043f\u044b\u0442\u0430 \u0438 \u043f\u043e\u043b\u043d\u044b\u0445 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 (\u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u044f) \u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0432\u044b\u0445.<\/p>\n<p>  \u041d\u043e \u0432\u0441\u0451 \u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0441\u043e\u0442\u0435\u043d \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0437\u0430\u0432\u0435\u043b\u0441\u044f.<br \/>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u044d\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0445\u043e\u0442\u044c \u0441\u043a\u043e\u043b\u0435\u0447\u043a\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442 \u0436\u0438\u0437\u043d\u044c \u0438\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430.<\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 Load-Balance, \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443 \u0438\u0437 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e PostgreSQL 9.4 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Windows \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 postgres-xl 9.2 \u043d\u0430 CentOS 7.0, \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0442\u044f\u0436\u0435\u043b\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0443\u0436\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 Standalone PostgreSQL, \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u044e\u043d\u0438\u043d\u0433\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f \u0441 PostGIS \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0438 \u0442.\u0434. \u0422\u0430\u043a \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u043b\u0438 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043b \u2014 \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u044d\u0442\u0438\u043c \u0441 \u0432\u0430\u043c\u0438.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.             <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/261457\/\"> http:\/\/habrahabr.ru\/post\/261457\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>             \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0425\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0430\u043c\u0438 \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Postgres-xl \u0432 \u0432\u0438\u0434\u0435 \u043c\u0438\u043d\u0438-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u00ab\u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432\u00bb. \u0421\u0442\u0430\u0442\u0435\u0439 \u0438 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043d\u0430 \u0442\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 postgres-xl \u043d\u0435 \u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0418 \u0432 \u043d\u0438\u0445 \u0432\u0441\u0435\u0445 \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0443 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043d\u0430 \u0432\u0437\u0433\u043b\u044f\u0434 \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043a\u0430\u043a \u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0436\u0434\u0435 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0436\u0434\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u043b\u0438\u043d\u0443\u043a\u0441-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u0441\u044f\u0445. \u0412\u0441\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0445 \u0441 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435\u043c postgresql\/postgres-xl \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438. \u0414\u0430\u043b\u0435\u0435 \u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u043f\u0438\u0448\u0443 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u043e\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 postgres-xl \u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0434\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445\u00bb \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0438 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0442\u043e\u0436\u0435, \u044f \u043e\u043f\u0443\u0449\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e Postgres-xl, \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u0438\u0445 \u0442\u0438\u043f\u043e\u0432 (\u0440\u043e\u043b\u0435\u0439).  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-260400","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260400","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=260400"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260400\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=260400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=260400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=260400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}