You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(28) |
Jun
(12) |
Jul
(11) |
Aug
(12) |
Sep
(5) |
Oct
(19) |
Nov
(14) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(18) |
Feb
(30) |
Mar
(115) |
Apr
(89) |
May
(50) |
Jun
(44) |
Jul
(22) |
Aug
(13) |
Sep
(11) |
Oct
(30) |
Nov
(28) |
Dec
(39) |
2012 |
Jan
(38) |
Feb
(18) |
Mar
(43) |
Apr
(91) |
May
(108) |
Jun
(46) |
Jul
(37) |
Aug
(44) |
Sep
(33) |
Oct
(29) |
Nov
(36) |
Dec
(15) |
2013 |
Jan
(35) |
Feb
(611) |
Mar
(5) |
Apr
(55) |
May
(30) |
Jun
(28) |
Jul
(458) |
Aug
(34) |
Sep
(9) |
Oct
(39) |
Nov
(22) |
Dec
(32) |
2014 |
Jan
(16) |
Feb
(16) |
Mar
(42) |
Apr
(179) |
May
(7) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(4) |
Oct
|
Nov
(3) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
1
|
2
(1) |
3
|
4
|
5
(1) |
6
|
7
(2) |
8
|
9
|
10
|
11
|
12
(1) |
13
(1) |
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
(5) |
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
From: Koichi S. <koi...@us...> - 2010-07-22 02:33:49
|
Project "website". The branch, master has been updated via 8c2cfec1e2cf6263a2a1bbea33d09643fb6a942a (commit) via 35cd128872b78192c961c85a3982cee3ec2c2ca0 (commit) via d481c92b1778158839d16077325eb3e6052b83d9 (commit) from b318cefa94aafbf4724f619d2a29941cb5e3d615 (commit) - Log ----------------------------------------------------------------- commit 8c2cfec1e2cf6263a2a1bbea33d09643fb6a942a Author: Koichi Suzuki <koichi@willey.(none)> Date: Thu Jul 22 11:35:09 2010 +0900 Modified: roadmap.html Corrected upcoming version numbers and schedule. diff --git a/roadmap.html b/roadmap.html index 65167e8..4f8802e 100755 --- a/roadmap.html +++ b/roadmap.html @@ -62,9 +62,9 @@ Upcoming Releases and Features Current plan of future releases and features are as follows: </p> -<!-- ==== For version 1.0 ==== --> +<!-- ==== For version 0.9.3 ==== --> <h4> -Version 1.0 (Late in September, 2010) +Version 0.9.3 (Late in September, 2010) </h4> <p class="inner"> @@ -82,9 +82,9 @@ Forward Cursor (w/o <code>ORDER BY</code>)<br> subqueries<br> </p> -<!-- ==== Beyond Version 1.0 ==== --> +<!-- ==== For Version 1.0 ==== --> <h4> -Beyond Version 1.0 +Version 1.0 (Late in December, 2010) </h4> <p class="inner"> @@ -106,6 +106,17 @@ Tuple relocation (distrubute key update)<br> Performance improvement <br> Regression tests </p> + +<!-- === Beyond Version 1.0 === ---> +<h4> +Beyond Version 1.0 +</h4> + +<p class="inner"> +HA Capability<br> +GTM-Standby<br> +</p> + </body> </html> commit 35cd128872b78192c961c85a3982cee3ec2c2ca0 Merge: d481c92 b318cef Author: Koichi Suzuki <koichi@willey.(none)> Date: Thu Jul 22 11:25:58 2010 +0900 Merge branch 'master' of ssh://postgres-xc.git.sourceforge.net/gitroot/postgres-xc/pgxcweb commit d481c92b1778158839d16077325eb3e6052b83d9 Author: Koichi Suzuki <koichi@willey.localdomain> Date: Wed Jun 16 11:00:40 2010 +0900 New file: materials/Postgres-XC_20100521.pdf Added a likn to the above file, PGCon2010 presentation materials. diff --git a/download.html b/download.html index cfe22b6..d2b6a44 100755 --- a/download.html +++ b/download.html @@ -159,6 +159,13 @@ Description of the outline of Postgres-XC internals.   </h4> +<!-- PGCon2010 Presentation Materials --> +<h4> +<a href="materials/Postgres-XC_20100521.pdf"> +Presentation material for PGCon2010. +</a> + +<!-- previous versions --> <h4> <a href="prev_vers/version0_9.html" target="main">Previous Versions</a>   diff --git a/download.html b/download.html~ similarity index 100% copy from download.html copy to download.html~ diff --git a/materials/Postgres-XC_20100521.pdf b/materials/Postgres-XC_20100521.pdf new file mode 100644 index 0000000..6915b3f Binary files /dev/null and b/materials/Postgres-XC_20100521.pdf differ ----------------------------------------------------------------------- Summary of changes: download.html | 7 +++ download.html => download.html~ | 78 ++++++++++++++++++------------------ materials/Postgres-XC_20100521.pdf | Bin 0 -> 1087782 bytes roadmap.html | 19 +++++++-- 4 files changed, 61 insertions(+), 43 deletions(-) copy download.html => download.html~ (66%) create mode 100644 materials/Postgres-XC_20100521.pdf hooks/post-receive -- website |
From: Michael P <mic...@us...> - 2010-07-22 02:10:58
|
Project "website". The branch, master has been updated via b318cefa94aafbf4724f619d2a29941cb5e3d615 (commit) via 84caa6fc61b61ea5db46269f4889615b1fa09f76 (commit) from 95fa0dca242148522ad78a1b0df1e1ebae9397fc (commit) - Log ----------------------------------------------------------------- commit b318cefa94aafbf4724f619d2a29941cb5e3d615 Author: Michael P <mic...@us...> Date: Thu Jul 22 11:09:25 2010 +0900 Events and current release number corrected. Some typing issues with members corrected diff --git a/events.html b/events.html index 52fee74..1cb57b5 100755 --- a/events.html +++ b/events.html @@ -12,24 +12,28 @@ ==== UPCOMING EVENTS ==== --> <h2 class="plain">Events</h2> -<!-- CHAR(10) --> +<p class="plain"> +Upcoming events to be decided soon! +</p> + +<!-- Event title --> +<!-- <p class="plain"> Jul.1 to 3, 2010, -<a href="http://www.char10.org/" target="_blank"> -CHAR(10) +<a href="http link to this event" target="_blank"> +Event title </a> -conference dedicated for PostgreSQL cluster. +Description of this event. </p> +--> <!-- UPDATES --> -<h2 class="plain"> -Updates -</h2> -<!-- Postgres-XC 0.9.1 download --> +<h2 class="plain">Updates</h2> +<!-- Postgres-XC 0.9.2 download --> <p class="plain"> -Postgres-XC 0.9.1 is now available!! Download -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/pgxc_v0_9_1.tar.gz/download" target="_blank"> +Postgres-XC 0.9.2 is now available!! Download +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/pgxc_v0_9_2.tar.gz/download" target="_blank"> here. </a> </p> diff --git a/members.html b/members.html index 17ae2a0..c230c54 100755 --- a/members.html +++ b/members.html @@ -26,31 +26,31 @@ Postgres-XC development team <h4>Koichi Suzuki</h4> <p class="inner"> -Project leader and architect. -His background includes object relational database engine (UniSQL) and +Project leader and architect.<br> +His background includes object relational database engine (UniSQL) and<br> PostgreSQL development. </p> <h4>Mason Sharp</h4> <p class="inner"> -Architect and development leader. -Coordinator developer. -He is also the main architect of GridSQL database cluster. +Architect and development leader.<br> +Coordinator developer.<br> +He is also the main architect of GridSQL database cluster.<br> </p> <h4>Pavan Deolasee</h4> <p class="inner"> -Global Transaction Manager developer. -He is well known as HOT developer in PostgreSQL. -He is also helping in source code review and PostgreSQL internals. +Global Transaction Manager developer.<br> +He is well known as HOT developer in PostgreSQL.<br> +He is also helping in source code review and PostgreSQL internals.<br> </p> <h4>Andrei Martsinchyk</h4> <p class="inner"> -Data Node and connection pooling developer. +Data Node and connection pooling developer.<br> He is also GridSQL developer and is now developping aggregate functions and other cross-node operation. </p> @@ -58,8 +58,9 @@ functions and other cross-node operation. <h4>Michael Paquier</h4> <p class="inner"> -Coordinator feature developer. Currently working on user-defined function and DDLs. -He helped in modifying DBT-1 benchmark for Postgres-XC. +Coordinator feature developer.<br> +Currently working on user-defined function, Sequence handling and Global values.<br> +He helped in modifying DBT-1 benchmark for Postgres-XC.<br> He also contributed to enhance pgbench and 2PC. </p> @@ -72,7 +73,7 @@ Test, performance evaluation and analysis, related documents and utilities. <h4>Devrim Gunduz</h4> <p class="inner"> -Binary buiding for releases. He is also developping binary packages of PostgreSQL. +Binary buiding for releases.<br> He is also developping binary packages of PostgreSQL. </p> </body> commit 84caa6fc61b61ea5db46269f4889615b1fa09f76 Author: Michael P <mic...@us...> Date: Thu Jul 22 10:55:52 2010 +0900 Website update with Postggres-XC 0.9.2 release diff --git a/download.html b/download.html index cfe22b6..584eab1 100755 --- a/download.html +++ b/download.html @@ -25,8 +25,8 @@ List of Release Materials </h3> <p> -The current release includes the following materials. -Please note that documentation is not included in the source material. +The current release includes the following materials.<br> +Please note that documentation is not included in the source material.<br> Please download documentation from <a href="https://sourceforge.net/projects/postgres-xc/files/" target="_blank"> the project download page. @@ -36,121 +36,121 @@ the project download page. Please also note tarball files do not include Postgres-XC documents. </p> -<!-- Documents of version 0.9.1 --> +<!-- Documents of version 0.9.2 --> <h4> -Version 0.9.1 +Version 0.9.2 </h4> <p> <ul> -<!-- tarball --> +<!-- tarball of 0.9.2, main download--> <li> -<code>pgxc_v0.9.1.tar.gz</code>:  -Latest version of Postgres-XC available. +<code>pgxc_v0.9.2.tar.gz</code>: <br> +Latest version of Postgres-XC available.<br> Please note that Postgres-XC documentation is not included in this file. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/pgxc_v0_9_1.tar.gz/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/pgxc_v0_9_2.tar.gz/download" target="_blank"> (download) </a> </li> <!-- tarball (diff) --> <li> -<code>PGXC_v0_9_1-PG_REL8_4_3.patch.gz</code>:  +<code>PGXC_v0_9_2-PG_REL8_4_3.patch.gz</code>: <br> The same material as above, but this file includes only the patch to apply -to the PostgreSQL 8.4.3 release source code. +to the PostgreSQL 8.4.3 release source code.<br> It is useful if you would like to see just a difference between PostgreSQL -and Postgres-XC. +and Postgres-XC.<br> No Postgres-XC documentation is included in this file either. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PGXC_v0_9_1-PG_REL8_4_3.patch.gz/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PGXC_v0_9_2-PG_REL8_4_3.patch.gz/download" target="_blank"> (download) </a> </li> <!-- License --> <li> -<code>COPYING</code>:  +<code>COPYING</code>: <br> License description. Postgres-XC is distributed under LGPL version 2.1 ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/COPYING/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/COPYING/download" target="_blank"> (download) </a> </li> <!-- Files --> <li> -<code>FILES</code>:  -Description of files included in Postgres-XC 0.9.1 release. +<code>FILES</code>: <br> +Description of files included in Postgres-XC 0.9.2 release. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/FILES/download" target="_blank"> -(download) -</a> -</li> - -<!-- Readme --> -<li> -<code>README</code>:  -Overview of the release. -⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/README/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/FILES/download" target="_blank"> (download) </a> </li> <!-- Reference Manual --> <li> -<code>PG-XC_ReferenceManual_v0_9_1.pdf</code>:  +<code>PG-XC_ReferenceManual_v0_9_2.pdf</code>: <br> Reference of Postgres-XC extension. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_ReferenceManual_v0_9_1.pdf/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_ReferenceManual_v0_9_2.pdf/download" target="_blank"> (download) </a> </li> <!-- pgbench Tutorial Manual --> <li> -<code>PG-XC_pgbench_Tutorial_v0_9_1.pdf</code>:  +<code>PG-XC_pgbench_Tutorial_v0_9_2.pdf</code>: <br> Step by step description how to build and configure pgbench to run with Postgres-XC. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_pgbench_Tutorial_v0_9_1.pdf/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_pgbench_Tutorial_v0_9_2.pdf/download" target="_blank"> (download) </a> </li> <!-- DBT-1 Tutorial Manual --> <li> -<code>PG-XC_DBT1_Tutorial_v0_9_1.pdf</code>:  +<code>PG-XC_DBT1_Tutorial_v0_9_2.pdf</code>: <br> Step by step description how to build and configure DBT-1 to run with Postgres-XC. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_DBT1_Tutorial_v0_9_1.pdf/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_DBT1_Tutorial_v0_9_2.pdf/download" target="_blank"> (download) </a> </li> <!-- Install Manual --> <li> -<code>PG-XC_InstallManual_v0_9_1.pdf</code>:  +<code>PG-XC_InstallManual_v0_9_2.pdf</code>: <br> Step by step description how to build, install and configure Postgres-XC. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_InstallManual_v0_9_1.pdf/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_InstallManual_v0_9_2.pdf/download" target="_blank"> +(download) +</a> +</li> + +<!-- SQL limitation manual --> +<li> +<code>PG-XC_SQL_Limitations_v0_9_2.pdf</code>: <br> +SQL restrictions available for Postgres-XC 0.9.2. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_SQL_Limitations_v0_9_2.pdf/download" target="_blank"> (download) </a> </li> <!-- Architecture Document --> <li> -<code>PG-XC_Architecture_v0_9.pdf</code>:  +<code>PG-XC_Architecture_v0_9.pdf</code>: <br> Description of the outline of Postgres-XC internals. ⇒ -<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PG-XC_Architecture.pdf/download" target="_blank"> +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PG-XC_Architecture.pdf/download" target="_blank"> (download) </a> </li> -</ul> +</ul> </p> <!--div align="left" style="font-size:95%;"--> @@ -166,4 +166,4 @@ Description of the outline of Postgres-XC internals. </div> </body> -</html> \ No newline at end of file +</html> diff --git a/prev_vers/version0_9.html b/prev_vers/version0_9.html index 83e008d..4ed4cf1 100644 --- a/prev_vers/version0_9.html +++ b/prev_vers/version0_9.html @@ -32,8 +32,9 @@ Version 0.9.0 <ul> <!-- tarball --> <li> -<code>pgxc_v0.9.tar.gz</code>:  -This is a collection of source materials used to build the binaries. +<code>pgxc_v0.9.tar.gz</code>: <br> +Previous version of Postgres-XC released in April 2010.<br> +This is a collection of source materials used to build the binaries.<br> Please note that Postgres-XC documentation is not included in this file. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/pgxc_v0.9.tar.gz/download" target="_blank"> @@ -41,11 +42,12 @@ Please note that Postgres-XC documentation is not included in this file. </a> </li> -<code>PGXC-PG_REL8_4_3.patch.gz</code>:  +<li> +<code>PGXC-PG_REL8_4_3.patch.gz</code>: <br> The same material as above, but this file includes only the patch to apply -to the PostgreSQL 8.4.3 release source code. +to the PostgreSQL 8.4.3 release source code.<br> It is useful if you would like to see just a difference between PostgreSQL -and Postgres-XC. +and Postgres-XC.<br> No Postgres-XC documentation is included in this file either. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PGXC-PG_REL8_4_3.patch.gz/download" target="_blank"> @@ -55,7 +57,7 @@ No Postgres-XC documentation is included in this file either. <!-- License --> <li> -<code>COPYING</code>:  +<code>COPYING</code>: <br> License description. Postgres-XC is distributed under LGPL version 2.1 ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/COPYING/download" target="_blank"> @@ -65,7 +67,7 @@ License description. Postgres-XC is distributed under LGPL version 2.1 <!-- Readme --> <li> -<code>README</code>:  +<code>README</code>: <br> Overview of the release. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/README/download" target="_blank"> @@ -75,7 +77,7 @@ Overview of the release. <!-- Reference Manual --> <li> -<code>ReferenceManual.pdf</code>:  +<code>ReferenceManual.pdf</code>: <br> Reference of Postgres-XC extension. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/ReferenceManual.pdf/download" target="_blank"> @@ -85,7 +87,7 @@ Reference of Postgres-XC extension. <!-- Tutorial Manual --> <li> -<code>PG-XC_TutorialManual.pdf</code>:  +<code>PG-XC_TutorialManual.pdf</code>: <br> Step by step description how to build and configure DBT-1 to run with Postgres-XC. ⇒ @@ -96,7 +98,7 @@ Postgres-XC. <!-- Install Manual --> <li> -<code>PG-XC_InstallManual_Revision1.pdf</code>:  +<code>PG-XC_InstallManual_Revision1.pdf</code>: <br> Step by step description how to build, install and configure Postgres-XC. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PG-XC_InstallManual_Revision1.pdf/download" target="_blank"> @@ -106,14 +108,133 @@ Step by step description how to build, install and configure Postgres-XC. <!-- Architecture Document --> <li> -<code>PG-XC_Architecture.pdf</code>:  +<code>PG-XC_Architecture.pdf</code>: <br> +Description of the outline of Postgres-XC internals. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PG-XC_Architecture.pdf/download" target="_blank"> +(download) +</a> +</li> +</ul> +</p> + +<!-- Documents of version 0.9.1 --> +<h4> +Version 0.9.1 +</h4> + +<p> +<ul> +<!-- tarball --> +<li> +<code>pgxc_v0.9.1.tar.gz</code>: <br> +Previous version of Postgres-XC released in May 2010.<br> +Please note that Postgres-XC documentation is not included in this file. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/pgxc_v0_9_1.tar.gz/download" target="_blank"> +(download) +</a> +</li> + +<!-- tarball (diff) --> +<li> +<code>PGXC_v0_9_1-PG_REL8_4_3.patch.gz</code>: <br> +The same material as above, but this file includes only the patch to apply +to the PostgreSQL 8.4.3 release source code.<br> +It is useful if you would like to see just a difference between PostgreSQL +and Postgres-XC.<br> +No Postgres-XC documentation is included in this file either. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PGXC_v0_9_1-PG_REL8_4_3.patch.gz/download" target="_blank"> +(download) +</a> +</li> + +<!-- License --> +<li> +<code>COPYING</code>: <br> +License description. Postgres-XC is distributed under LGPL version 2.1 +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/COPYING/download" target="_blank"> +(download) +</a> +</li> + +<!-- Files --> +<li> +<code>FILES</code>: <br> +Description of files included in Postgres-XC 0.9.1 release. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/FILES/download" target="_blank"> +(download) +</a> +</li> + +<!-- Readme --> +<li> +<code>README</code>: <br> +Overview of the release. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/README/download" target="_blank"> +(download) +</a> +</li> + +<!-- Reference Manual --> +<li> +<code>PG-XC_ReferenceManual_v0_9_1.pdf</code>: <br> +Reference of Postgres-XC extension. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_ReferenceManual_v0_9_1.pdf/download" target="_blank"> +(download) +</a> +</li> + +<!-- pgbench Tutorial Manual --> +<li> +<code>PG-XC_pgbench_Tutorial_v0_9_1.pdf</code>: <br> +Step by step description how to build and configure pgbench to run with +Postgres-XC. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_pgbench_Tutorial_v0_9_1.pdf/download" target="_blank"> +(download) +</a> +</li> + + +<!-- DBT-1 Tutorial Manual --> +<li> +<code>PG-XC_DBT1_Tutorial_v0_9_1.pdf</code>: <br> +Step by step description how to build and configure DBT-1 to run with +Postgres-XC. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_DBT1_Tutorial_v0_9_1.pdf/download" target="_blank"> +(download) +</a> +</li> + +<!-- Install Manual --> +<li> +<code>PG-XC_InstallManual_v0_9_1.pdf</code>: <br> +Step by step description how to build, install and configure Postgres-XC. +⇒ +<a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.1/PG-XC_InstallManual_v0_9_1.pdf/download" target="_blank"> +(download) +</a> +</li> + +<!-- Architecture Document --> +<li> +<code>PG-XC_Architecture_v0_9.pdf</code>: <br> Description of the outline of Postgres-XC internals. ⇒ <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9/PG-XC_Architecture.pdf/download" target="_blank"> (download) </a> </li> + </ul> </p> + </body> -</html> \ No newline at end of file +</html> diff --git a/roadmap.html b/roadmap.html index 8299fbd..65167e8 100755 --- a/roadmap.html +++ b/roadmap.html @@ -33,11 +33,22 @@ similar to PostgreSQL, except for two phase commit (2PC) and savepoints. (XC uses 2PC for internal use). </p> <p> -On the other hand, Postgres-XC needs to enhance support for general statements. -As of Version 0.9.1, Postgres-XC supports statements which can be executed -on a single data node, or on multiple nodes but as a single step. -It does not support yet complex statements such as -subquery, view, ORDER BY, DISTINCT or +On the other hand, Postgres-XC needs to enhance support for general statements.<br> +As of Version 0.9.2, Postgres-XC supports statements which can be executed +on a single data node, or on multiple nodes but as a single step.<br> +This new version adds support for: +- views<br> +- extra DDLs<br> +- ORDER BY/DISTINCT<br> +- pg_dump, pg_restore<br> +- sequence full support with GTM<br> +- basic stored function support.<br> +- Cold synchronization of Coordinator's Catalog files<br> +However there are some limitations please refer to <a href="https://sourceforge.net/projects/postgres-xc/files/Version_0.9.2/PG-XC_SQL_Limitations_v0_9_2.pdf/download" target="_blank"> +SQL Limitations </a> document for further details. +</p> +<p> +There is no support yet for <code>SELECT</code> in <code>FROM</code> clause. Support for <code>CURSOR</code> is a future issue too. </p> @@ -53,41 +64,27 @@ Current plan of future releases and features are as follows: <!-- ==== For version 1.0 ==== --> <h4> -Version 1.0 (Late in July, 2010) +Version 1.0 (Late in September, 2010) </h4> -<p class="inner"> -<code>ORDER BY</code><br> -<code>DISTINCT</code><br> -Stored functions<br> -subqueries<br> -Views<br> -Rules<br> -DDLs<br> -Regression tests<br> -<p> - -<!-- ==== For version 1.1 ==== --> -<h4> -Version 1.1 (Late in September, 2010) -</h4> - -<p class="inner"> +<p class="inner"> Cluster-wide installer<br> Cluster-wide operation utilities<br> Regression tests<br> Logical backup/restore (pg_dump, pg_restore)<br> Basic cross-node operation<br> TEMP Table<br> +Cursor support<br> Extended Query Protocol (for JDBC)<br> Global timestamp<br> Driver support (ECPG, JDBC, PHP, etc.)<br> Forward Cursor (w/o <code>ORDER BY</code>)<br> +subqueries<br> </p> -<!-- ==== Beyond Version 1.1 ==== --> +<!-- ==== Beyond Version 1.0 ==== --> <h4> -Beyond Version 1.1 +Beyond Version 1.0 </h4> <p class="inner"> ----------------------------------------------------------------------- Summary of changes: download.html | 78 ++++++++++++------------ events.html | 24 ++++--- members.html | 25 ++++---- prev_vers/version0_9.html | 145 +++++++++++++++++++++++++++++++++++++++++---- roadmap.html | 47 +++++++-------- 5 files changed, 221 insertions(+), 98 deletions(-) hooks/post-receive -- website |
From: Michael P <mic...@us...> - 2010-07-22 00:17:49
|
Project "Postgres-XC". The tag, v0.9.2 has been created at d7ca431066efe320107581186ab853b28fa5f7a7 (commit) - Log ----------------------------------------------------------------- commit d7ca431066efe320107581186ab853b28fa5f7a7 Author: Michael P <mic...@us...> Date: Thu Jul 22 08:59:07 2010 +0900 Support for cold synchronization of catalog table of coordinator. This cold solution is temporary. Hot synchronization will be introduced in one of Postgres-XC's next release. Cold synchronization method means that once a DDL is launched, all the coordinators are stopped. And then the catalog copy begins from a coordinator chosen by the user. It is also possible to synchronize catalogs without launching a DDL file on one coordinator. Options possible to use for this script -D locate the data folder, necessary to find pgxc.conf, containing the characteristics of all the coordinators -l to locate the folder where applications are -f for a DDL file -d for a Database name -n coordinator number where to launch DDl, number based on the one written in pgxc.conf -t base name of folder where to save configuration files, by default /tmp/pgxc_config, completed by $$ Synchronization uses a new configuration file called pgxc.conf gathering all the coordinator data, such as port number, data folder and host for each one. Please refer to Postgres-XC 0.9.2 reference manual for further details. ----------------------------------------------------------------------- hooks/post-receive -- Postgres-XC |
From: Michael P <mic...@us...> - 2010-07-22 00:17:21
|
Project "Postgres-XC". The branch, REL0_9_2_STABLE has been created at d7ca431066efe320107581186ab853b28fa5f7a7 (commit) - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- hooks/post-receive -- Postgres-XC |
From: Michael P <mic...@us...> - 2010-07-22 00:07:57
|
Project "Postgres-XC". The branch, master has been updated via d7ca431066efe320107581186ab853b28fa5f7a7 (commit) from 0fdcc0b44b395df2e546ba90feaa0d656ad58f4d (commit) - Log ----------------------------------------------------------------- commit d7ca431066efe320107581186ab853b28fa5f7a7 Author: Michael P <mic...@us...> Date: Thu Jul 22 08:59:07 2010 +0900 Support for cold synchronization of catalog table of coordinator. This cold solution is temporary. Hot synchronization will be introduced in one of Postgres-XC's next release. Cold synchronization method means that once a DDL is launched, all the coordinators are stopped. And then the catalog copy begins from a coordinator chosen by the user. It is also possible to synchronize catalogs without launching a DDL file on one coordinator. Options possible to use for this script -D locate the data folder, necessary to find pgxc.conf, containing the characteristics of all the coordinators -l to locate the folder where applications are -f for a DDL file -d for a Database name -n coordinator number where to launch DDl, number based on the one written in pgxc.conf -t base name of folder where to save configuration files, by default /tmp/pgxc_config, completed by $$ Synchronization uses a new configuration file called pgxc.conf gathering all the coordinator data, such as port number, data folder and host for each one. Please refer to Postgres-XC 0.9.2 reference manual for further details. diff --git a/src/backend/Makefile b/src/backend/Makefile index df707e7..984c951 100644 --- a/src/backend/Makefile +++ b/src/backend/Makefile @@ -195,6 +195,7 @@ endif $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample' $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample' $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample' + $(INSTALL_DATA) $(srcdir)/utils/misc/pgxc.conf.sample '$(DESTDIR)$(datadir)/pgxc.conf.sample' $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample' install-bin: postgres $(POSTGRES_IMP) installdirs @@ -248,8 +249,9 @@ endif $(MAKE) -C catalog uninstall-data $(MAKE) -C tsearch uninstall-data rm -f '$(DESTDIR)$(datadir)/pg_hba.conf.sample' \ + '$(DESTDIR)$(datadir)/pgxc.conf.sample' \ '$(DESTDIR)$(datadir)/pg_ident.conf.sample' \ - '$(DESTDIR)$(datadir)/postgresql.conf.sample' \ + '$(DESTDIR)$(datadir)/postgresql.conf.sample' \ '$(DESTDIR)$(datadir)/recovery.conf.sample' diff --git a/src/backend/utils/misc/pgxc.conf.sample b/src/backend/utils/misc/pgxc.conf.sample new file mode 100644 index 0000000..9dcc0c7 --- /dev/null +++ b/src/backend/utils/misc/pgxc.conf.sample @@ -0,0 +1,20 @@ +# ----------------------------- +# Postgres-XC configuration file +# ----------------------------- +# +# This file consists of lines of the form: +# +# name = value +# +# It describes the list of coordinators used in the cluster + +#------------------------------------------------------------------------------ +# POSTGRES-XC COORDINATORS +#------------------------------------------------------------------------------ + +#coordinator_hosts = 'localhost' # Host names or addresses of data nodes + # (change requires restart) +#coordinator_ports = '5451,5452' # Port numbers of coordinators + # (change requires restart) +#coordinator_folders = '/pgxc/data' # List of Data folders of coordinators + # (change require restart) \ No newline at end of file diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 2d0b244..b4dd50b 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -100,6 +100,9 @@ static char *shdesc_file; static char *hba_file; static char *ident_file; static char *conf_file; +#ifdef PGXC +static char *pgxc_conf_file; +#endif static char *conversion_file; static char *dictionary_file; static char *info_schema_file; @@ -1296,6 +1299,19 @@ setup_config(void) free(conflines); +#ifdef PGXC + /* pgxc.conf */ + + conflines = readfile(pgxc_conf_file); + + snprintf(path, sizeof(path), "%s/pgxc.conf", pg_data); + + writefile(path, conflines); + chmod(path, 0600); + + free(conflines); +#endif + check_ok(); } @@ -2810,6 +2826,9 @@ main(int argc, char *argv[]) set_input(&hba_file, "pg_hba.conf.sample"); set_input(&ident_file, "pg_ident.conf.sample"); set_input(&conf_file, "postgresql.conf.sample"); +#ifdef PGXC + set_input(&pgxc_conf_file, "pgxc.conf.sample"); +#endif set_input(&conversion_file, "conversion_create.sql"); set_input(&dictionary_file, "snowball_create.sql"); set_input(&info_schema_file, "information_schema.sql"); @@ -2826,12 +2845,18 @@ main(int argc, char *argv[]) "POSTGRES_SUPERUSERNAME=%s\nPOSTGRES_BKI=%s\n" "POSTGRES_DESCR=%s\nPOSTGRES_SHDESCR=%s\n" "POSTGRESQL_CONF_SAMPLE=%s\n" +#ifdef PGXC + "PGXC_CONF_SAMPLE=%s\n" +#endif "PG_HBA_SAMPLE=%s\nPG_IDENT_SAMPLE=%s\n", PG_VERSION, pg_data, share_path, bin_path, username, bki_file, desc_file, shdesc_file, conf_file, +#ifdef PGXC + pgxc_conf_file, +#endif hba_file, ident_file); if (show_setting) exit(0); @@ -2842,6 +2867,9 @@ main(int argc, char *argv[]) check_input(shdesc_file); check_input(hba_file); check_input(ident_file); +#ifdef PGXC + check_input(pgxc_conf_file); +#endif check_input(conf_file); check_input(conversion_file); check_input(dictionary_file); diff --git a/src/bin/scripts/Makefile b/src/bin/scripts/Makefile index c28a066..48f9c20 100644 --- a/src/bin/scripts/Makefile +++ b/src/bin/scripts/Makefile @@ -52,6 +52,8 @@ install: all installdirs $(INSTALL_PROGRAM) clusterdb$(X) '$(DESTDIR)$(bindir)'/clusterdb$(X) $(INSTALL_PROGRAM) vacuumdb$(X) '$(DESTDIR)$(bindir)'/vacuumdb$(X) $(INSTALL_PROGRAM) reindexdb$(X) '$(DESTDIR)$(bindir)'/reindexdb$(X) + $(INSTALL_PROGRAM) pgxc_ddl$(X) '$(DESTDIR)$(bindir)'/pgxc_ddl$(X) + chmod 555 '$(DESTDIR)$(bindir)'/pgxc_ddl$(X) installdirs: $(mkinstalldirs) '$(DESTDIR)$(bindir)' diff --git a/src/bin/scripts/pgxc_ddl b/src/bin/scripts/pgxc_ddl new file mode 100644 index 0000000..efc2f69 --- /dev/null +++ b/src/bin/scripts/pgxc_ddl @@ -0,0 +1,443 @@ +#!/bin/bash +# Copyright (c) 2010 Nippon Telegraph and Telephone Corporation + +#Scripts to launch DDL in PGXC cluster using a cold_backup method +#Be sure to have set a correct ssl environment in all the servers of the cluster + +#This script uses pgxc.conf as a base to find the settings of all the coordinators + +#Options possible to use for this script +# -D to locate the data folder, necessary to find pgxc.conf, containing the characteristics of all the coordinators +# -l to locate the folder where applications are +# -f for a DDL file +# -d for a Database name +# -n coordinator number where to launch DDl, number based on the one written in pgxc.conf +# -t base name of folder where to save configuration files, by default /tmp/pgxc_config, completed by $$ + +count=0 + +#Default options +#local folder used to save temporary the configuration files of coordinator's data folder being erased +CONFIG_FOLDER=/tmp/pgxc_config_files.$$ +PGXC_BASE= +#options to launch the coordinator +#don't forget to add -i as we are in a cluster :) +COORD_OPTIONS="-C -i" + +#----------------------------------------------------------------------- +# Option Management +#----------------------------------------------------------------------- +while getopts 'f:d:D:l:hn:t:' OPTION +do + count=$((count +2)) + case $OPTION in + d) #for a database name + DB_NAME="$OPTARG" + ;; + + D) #for a data folder, to find pgxc.conf + DATA_FOLDER="$OPTARG" + ;; + + f) #for a DDL file + DDL_FILE_NAME="$OPTARG" + ;; + + l) #To define folder where applications are if necessary + PGXC_BASE="$OPTARG"/ + ;; + + n) #for a coordinator number + COORD_NUM_ORIGIN="$OPTARG" + ;; + + h) printf "Usage: %s: [-d dbname] [-l bin folder] [-D data folder] [-n coord number] [-f ddl file] [-t save folder name in /tmp/]\n" $(basename $0) >&2 + exit 0 + ;; + t) #to set the name of the folder where to save conf files. All is mandatory saved in /tmp + CONFIG_FOLDER=/tmp/"$OPTARG" + ;; + + ?) printf "Usage: %s: [-d dbname] [-l bin folder] [-D data folder] [-n coord number] [-f ddl file] [-t save folder name in /tmp/]\n" $(basename $0) >&2 + exit 0 + ;; + esac +done + +if [ $# -lt "1" ] +then + echo "No arguments defined, you should try help -h" + exit 2 +fi + +#A couple of option checks +if [ "$count" -ne "$#" ] +then + echo "Arguments not correctly set, try -h for help" + exit 2 +fi + +if [ -z $COORD_NUM_ORIGIN ] +then + echo "Coordinator number not defined, mandatory -n argument missing" + exit 2 +fi +if [ -z $DATA_FOLDER ] +then + echo "Data folder not defined, mandatory -D argument missing" + exit 2 +fi + +#Check if Argument of -n is an integer +if [ ! $(echo "$COORD_NUM_ORIGIN" | grep -E "^[0-9]+$") ] + then + echo "Argument -n is not a valid integer" + exit 2 +fi + +#Check if DDL file exists +if [ "$DDL_FILE_NAME" != "" ] +then + if [ ! -e $DDL_FILE_NAME ] + then + echo "DDL file not defined" + exit 2 + fi + if [ -z $DB_NAME ] + then + echo "Dbname not defined, mandatory -d argument missing when using a ddl file" + exit 2 + fi +fi + +#----------------------------------------------------------------------- +# Begin to read the pgxc.conf to get coordinator characteristics +#----------------------------------------------------------------------- +PGXC_CONF=$DATA_FOLDER/pgxc.conf + +if [ ! -e $PGXC_CONF ] +then + echo "pgxc.conf not defined in the directory defined by -D" + exit 2 +fi + +#Find parameters +hosts=`cat $PGXC_CONF | grep coordinator_hosts | cut -d "'" -f 2` +ports=`cat $PGXC_CONF | grep coordinator_ports | cut -d "'" -f 2` +folders=`cat $PGXC_CONF | grep coordinator_folders | cut -d "'" -f 2` +if [ "hosts" = "" ] +then + echo "coordinator_hosts not defined in pgxc.conf" + exit 2 +fi +if [ "ports" = "" ] +then + echo "coordinator_ports not defined in pgxc.conf" + exit 2 +fi +if [ "folders" = "" ] +then + echo "coordinator_folders not defined in pgxc.conf" + exit 2 +fi + +#Check if the strings are using commas as separators +hosts_sep="${hosts//[^,]/}" +ports_sep="${ports//[^,]/}" +folders_sep="${folders//[^,]/}" +if [ "$hosts_sep" = "" ] +then + echo "coordinator_hosts should use commas as a separator" + exit 2 +fi +if [ "$ports_sep" = "" ] +then + echo "coordinator_ports should use commas as a separator" + exit 2 +fi +if [ "$folders_sep" = "" ] +then + echo "coordinator_folders should use commas as a separator" + exit 2 +fi + + +#----------------------------------------------------------------------- +# Fill in Arrays that are used for the process from pgxc configuration file +#----------------------------------------------------------------------- + +count=1 +#Coordinator list +host_local=`echo $hosts | cut -d "," -f $count` +while [ "$host_local" != "" ] +do + COORD_HOSTNAMES[$((count -1))]=`echo $host_local` + count=$((count +1)) + host_local=`echo $hosts | cut -d "," -f $count` +done +COORD_COUNT=${#COORD_HOSTNAMES[*]} + +#Port list corresponding to the coordinators +#If all the coordinators use the same port on different servers, +#it is possible to define that with a unique element array. +count=1 +port_local=`echo $ports | cut -d "," -f $count` +while [ "$port_local" != "" ] +do + COORD_PORTS[$((count -1))]=$port_local + count=$((count +1)) + port_local=`echo $ports | cut -d "," -f $count` +done +COORD_PORTS_COUNT=${#COORD_PORTS[*]} + +#Data folder list corresponding to the coordinators +#If all the coordinators use the same data folder name on different servers, +#it is possible to define that with a unique element array. +count=1 +folder_local=`echo $folders | cut -d "," -f $count` + +while [ "$folder_local" != "" ] +do + COORD_PGDATA[$((count -1))]=$folder_local + count=$((count +1)) + folder_local=`echo $folders | cut -d "," -f $count` +done +COORD_PGDATA_COUNT=${#COORD_PGDATA[*]} + + +#----------------------------------------------------------------------- +# Start DDL process +#----------------------------------------------------------------------- + +#It is supposed that the same bin folders are used among the servers +#to call postgres processes +#This can be customized by the user with option -l +COORD_SERVER_PROCESS=postgres +PGCTL_SERVER_PROCESS=pg_ctl +PSQL_CLIENT_PROCESS=psql + +COORD_SERVER=$PGXC_BASE$COORD_SERVER_PROCESS +PGCTL_SERVER=$PGXC_BASE$PGCTL_SERVER_PROCESS +PSQL_CLIENT=$PGXC_BASE$PSQL_CLIENT_PROCESS + +#reajust coord number with index number +COORD_NUM_ORIGIN=$((COORD_NUM_ORIGIN -1)) + +#check data validity +#Note: Add other checks here + +if [ $COORD_COUNT -eq "1" ] +then + echo "Are you sure you want to use this utility with one only coordinator??" + exit 2 +fi + +if [ $COORD_PGDATA_COUNT -ne $COORD_COUNT ] +then + echo "Number of pgdata folders must be the same as coordinator server number" + exit 2 +fi + +if [ $COORD_PORTS_COUNT -ne $COORD_COUNT ] +then + echo "Number of coordinator ports defined must be the same as coordinator server number" + exit 2 +fi + +#Check if coordinator number is not outbounds +if [ $COORD_NUM_ORIGIN -gt $((COORD_COUNT -1)) ] +then + echo "coordinator number is out of bounds" + exit 2 +fi +COORD_ORIG_INDEX=$COORD_NUM_ORIGIN + +#Check if the data folders are defined +for index in ${!COORD_HOSTNAMES[*]} +do + targethost=${COORD_HOSTNAMES[$index]} + targetdata=${COORD_PGDATA[$index]} + if [[ `ssh $targethost test -d $targetdata && echo exists` ]] + then + echo "defined directory exists for "$targethost + else + echo "defined directory does not exist for "$targethost + exit 2 + fi +done + +#Origin Coordinator Index has been found? +if [ -z $COORD_ORIG_INDEX ] +then + echo "origin coordinator is not in the coordinator list" + exit 2 +fi + +#Main process begins + +#Check if the database is defined, This could lead to coordinator being stopped uselessly +if [ $DB_NAME != "" ] +then + #Simply launch a fake SQL on the Database wanted + $PSQL_CLIENT -h ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} -p ${COORD_PORTS[$COORD_ORIG_INDEX]} -c 'select now()' -d $DB_NAME; err=$? + if [ $err -gt "0" ] + then + echo "Database not defined" + exit 2 + fi +fi + +#1) stop all the coordinators +echo "Stopping all the coordinators" +for index in ${!COORD_HOSTNAMES[*]} +do + targethost=${COORD_HOSTNAMES[$index]} + targetdata=${COORD_PGDATA[$index]} + echo ssh $targethost $PGCTL_SERVER stop -D $targetdata + ssh $targethost $PGCTL_SERVER stop -D $targetdata; err=$? + if [ $err -gt "0" ] + then + "pg_ctl couldn't stop server" + exit 2 + fi +done + +#If a DDL file is not set by the user, just synchronize the catalogs with the catalog of the chosen coordinator +if [ "$DDL_FILE_NAME" != "" ] +then + echo "-f activated, DDL being launched" + + #2) restart the one we want to launch DDL to... + echo ssh ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} $COORD_SERVER $COORD_OPTIONS -p ${COORD_PORTS[$COORD_ORIG_INDEX]} -D ${COORD_PGDATA[$COORD_ORIG_INDEX]} + ssh ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} $COORD_SERVER $COORD_OPTIONS -p ${COORD_PORTS[$COORD_ORIG_INDEX]} -D ${COORD_PGDATA[$COORD_ORIG_INDEX]} & + + #wait a little bit to be sure it switched on + sleep 3 + + #3) launch the DDL + #This has to be done depending on if the user has defined a file or a command + echo $PSQL_CLIENT -h ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} -p ${COORD_PORTS[$COORD_ORIG_INDEX]} -f $DDL_FILE_NAME -d $DB_NAME + $PSQL_CLIENT -h ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} -p ${COORD_PORTS[$COORD_ORIG_INDEX]} -f $DDL_FILE_NAME -d $DB_NAME; err=$? + if [ $err -gt "0" ] + then + echo "psql error, is Database defined?" + exit 2 + fi + + #4) Stop again the origin coordinator as we cannot copy the lock files to other coordinators + echo ssh ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} $PGCTL_SERVER stop -D ${COORD_PGDATA[$COORD_ORIG_INDEX]} + ssh ${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} $PGCTL_SERVER stop -D ${COORD_PGDATA[$COORD_ORIG_INDEX]}; err=$? + if [ $err -gt "0" ] + then + "pg_ctl couldn't stop server" + exit 2 + fi +fi + +#5) before copying the catalogs, save the configuration files or they are erased by the catalog copy +#make a copy of them in a folder in /tmp/pgxc_conf (default folder) +if [ -d $CONFIG_FOLDER ] +then + rm -rf $CONFIG_FOLDER +fi +mkdir $CONFIG_FOLDER + +for index in ${!COORD_HOSTNAMES[*]} +do + if [ $index -ne $COORD_ORIG_INDEX ] + then + targethost=${COORD_HOSTNAMES[$index]} + targetdata=${COORD_PGDATA[$index]} + echo scp -pr $targethost:$targetdata/postgresql.conf $CONFIG_FOLDER/postgresql.conf.$index + echo scp -pr $targethost:$targetdata/pg_hba.conf $CONFIG_FOLDER/pg_hba.conf.$index + scp -pr $targethost:$targetdata/postgresql.conf $CONFIG_FOLDER/postgresql.conf.$index; err=$? + if [ $err -gt "0" ] + then + echo "deleting saved configuration files" + rm -rf $CONFIG_FOLDER + echo "scp failed with "$targethost + exit 2 + fi + scp -pr $targethost:$targetdata/pg_hba.conf $CONFIG_FOLDER/pg_hba.conf.$index; err=$? + if [ $err -gt "0" ] + then + echo "deleting saved configuration files" + rm -rf $CONFIG_FOLDER + echo "scp failed with "$targethost + exit 2 + fi + fi +done + +#6) copy catalog files to all coordinators but not to the origin one +for index in ${!COORD_HOSTNAMES[*]} +do + if [ $index -ne $COORD_ORIG_INDEX ] + then + srchost=${COORD_HOSTNAMES[$COORD_ORIG_INDEX]} + srcdata=${COORD_PGDATA[$COORD_ORIG_INDEX]} + targethost=${COORD_HOSTNAMES[$index]} + targetdata=${COORD_PGDATA[$index]} + #First erase the data to have a nice cleanup + echo ssh $targethost rm -rf $targetdata + ssh $targethost rm -rf $targetdata + + #Just to be sure that catalog files of origin coordinator are copied well + echo scp -pr $srchost:$srcdata $targethost:$targetdata + scp -pr $srchost:$srcdata $targethost:$targetdata; err=$? + if [ $err -gt "0" ] + then + echo "deleting saved configuration files" + rm -rf $CONFIG_FOLDER + echo "scp failed with "$targethost + exit 2 + fi + fi +done + +#7) copy back the configuration files to the corresponding fresh folders +#but not the configuration files of the origin coordinator +for index in ${!COORD_HOSTNAMES[*]} +do + if [ $index -ne $COORD_ORIG_INDEX ] + then + targethost=${COORD_HOSTNAMES[$index]} + targetdata=${COORD_PGDATA[$index]} + echo scp -pr $CONFIG_FOLDER/postgresql.conf.$index $targethost:$targetdata/postgresql.conf + echo scp -pr $CONFIG_FOLDER/pg_hba.conf.$index $targethost:$targetdata/pg_hba.conf + scp -pr $CONFIG_FOLDER/postgresql.conf.$index $targethost:$targetdata/postgresql.conf; err=$? + if [ $err -gt "0" ] + then + echo "deleting saved configuration files" + rm -rf $CONFIG_FOLDER + echo "scp failed with "$targethost + exit 2 + fi + scp -pr $CONFIG_FOLDER/pg_hba.conf.$index $targethost:$targetdata/pg_hba.conf; err=$? + if [ $err -gt "0" ] + then + echo "deleting saved configuration files" + rm -rf $CONFIG_FOLDER + echo "scp failed with "$targethost + exit 2 + fi + fi +done + +#8) wait a little bit... +sleep 1 + +#9) restart all the other coordinators, origin coordinator has been stopped after DDL run +for index in ${!COORD_HOSTNAMES[*]} +do + echo ssh ${COORD_HOSTNAMES[$index]} $COORD_SERVER $COORD_OPTIONS -p ${COORD_PORTS[$index]} -D ${COORD_PGDATA[$index]} & + ssh ${COORD_HOSTNAMES[$index]} $COORD_SERVER $COORD_OPTIONS -p ${COORD_PORTS[$index]} -D ${COORD_PGDATA[$index]} & +done + +sleep 2 + +#Clean also the folder in tmp keeping the configuration files +rm -rf $CONFIG_FOLDER + +#10) finished :p +exit \ No newline at end of file ----------------------------------------------------------------------- Summary of changes: src/backend/Makefile | 4 +- src/backend/utils/misc/pgxc.conf.sample | 20 ++ src/bin/initdb/initdb.c | 28 ++ src/bin/scripts/Makefile | 2 + src/bin/scripts/pgxc_ddl | 443 +++++++++++++++++++++++++++++++ 5 files changed, 496 insertions(+), 1 deletions(-) create mode 100644 src/backend/utils/misc/pgxc.conf.sample create mode 100644 src/bin/scripts/pgxc_ddl hooks/post-receive -- Postgres-XC |