|
|
|
@ -1,7 +1,12 @@
|
|
|
|
|
# Postgres-XL
|
|
|
|
|
|
|
|
|
|
https://www.postgres-xl.org
|
|
|
|
|
|
|
|
|
|
Set up 9 servers
|
|
|
|
|
================
|
|
|
|
|
https://www.postgres-xl.org/documentation/install-short.html
|
|
|
|
|
https://www.postgres-xl.org/documentation/install-procedure.html
|
|
|
|
|
|
|
|
|
|
# Set up 9 servers
|
|
|
|
|
|
|
|
|
|
Data nodes:
|
|
|
|
|
pgxl1
|
|
|
|
|
pgxl2
|
|
|
|
@ -30,11 +35,87 @@ set up /etc/hosts with all cluster name/IPs.
|
|
|
|
|
Set up /etc/hosts with all cluster name/IPs for Postgres interface, with pg- prefix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Get source
|
|
|
|
|
Binary:
|
|
|
|
|
wget https://www.postgres-xl.org/downloads/postgres-xl-10r1.tar.gz
|
|
|
|
|
|
|
|
|
|
Git (better):
|
|
|
|
|
git clone https://git.postgresql.org/git/postgres-xl.git
|
|
|
|
|
|
|
|
|
|
# Install Dependencies
|
|
|
|
|
apt install build-essential bison flex libreadline-dev zlib1g-dev
|
|
|
|
|
|
|
|
|
|
# Build
|
|
|
|
|
git checkout remotes/origin/XL_10_STABLE
|
|
|
|
|
|
|
|
|
|
mkdir build_dir
|
|
|
|
|
cd build_dir
|
|
|
|
|
../configure
|
|
|
|
|
make -j8
|
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
|
|
# Configure
|
|
|
|
|
adduser postgres
|
|
|
|
|
|
|
|
|
|
Run this as root:
|
|
|
|
|
/sbin/ldconfig /usr/local/pgsql/lib
|
|
|
|
|
|
|
|
|
|
XXX no?
|
|
|
|
|
Add this to ~/.bashrc
|
|
|
|
|
LD_LIBRARY_PATH=/usr/local/pgsql/lib
|
|
|
|
|
export LD_LIBRARY_PATH
|
|
|
|
|
|
|
|
|
|
Add this to ~/.bashrc
|
|
|
|
|
PATH=/usr/local/pgsql/bin:$PATH
|
|
|
|
|
export PATH
|
|
|
|
|
|
|
|
|
|
XXX set up user postgres to ssh to all nodes ?
|
|
|
|
|
|
|
|
|
|
https://www.postgres-xl.org/documentation/pgxc-ctl.html
|
|
|
|
|
|
|
|
|
|
Run:
|
|
|
|
|
pgxc_ctl
|
|
|
|
|
At PGXC promt run:
|
|
|
|
|
prepare config empty
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add gtm master name host port dir
|
|
|
|
|
add gtm slave name host port dir
|
|
|
|
|
add gtm_proxy name host port dir
|
|
|
|
|
add coordinator master name host port pooler dir< extraServerConf extraPgHbaConf
|
|
|
|
|
add coordinator slave name host port pooler dir archDir
|
|
|
|
|
add datanode master name host port pooler dir waldir extraServerConf extraPgHbaConf
|
|
|
|
|
add datanode slave name host port pooler dir waldir archDir
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XLDIR=/usr/local/pgsql/
|
|
|
|
|
pgxc_ctl prepare config empty
|
|
|
|
|
pgxc_ctl add gtm master gtm_1 pg-pgxl-gtm-1 20001 "$XLDIR/gtm"
|
|
|
|
|
XXX slave or proxy?
|
|
|
|
|
pgxc_ctl add gtm slave gtm_2 pg-pgxl-gtm-2 20002 "$XLDIR/gtm"
|
|
|
|
|
pgxc_ctl add gtm_proxy gtm_2 pg-pgxl-gtm-2 20002 "$XLDIR/gtm"
|
|
|
|
|
pgxc_ctl add coordinator master coord_1 pg-pgxl-coord-1 30001 31001 "$XLDIR/coord-1" none none
|
|
|
|
|
XXX master or slaves?
|
|
|
|
|
pgxc_ctl add coordinator master coord_2 pg-pgxl-coord-2 30002 31002 "$XLDIR/coord-2" none none
|
|
|
|
|
pgxc_ctl add coordinator master coord_3 pg-pgxl-coord-3 30003 31003 "$XLDIR/coord-3" none none
|
|
|
|
|
pgxc_ctl add datanode master datanode_1 pg-pgxl1 40001 41001 "$XLDIR/data-1" none none none
|
|
|
|
|
XXX master or slaves?
|
|
|
|
|
pgxc_ctl add datanode master datanode_2 pg-pgxl2 40001 41001 "$XLDIR/data-2" none none none
|
|
|
|
|
pgxc_ctl add datanode master datanode_3 pg-pgxl3 40001 41001 "$XLDIR/data-3" none none none
|
|
|
|
|
pgxc_ctl add datanode master datanode_4 pg-pgxl4 40001 41001 "$XLDIR/data-4" none none none
|
|
|
|
|
pgxc_ctl add datanode master datanode_5 pg-pgxl5 40001 41001 "$XLDIR/data-5" none none none
|
|
|
|
|
pgxc_ctl monitor all createdb -p 30001 test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Open Up firewall.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# OmniDB
|
|
|
|
|
git clone https://github.com/OmniDB/OmniDB
|
|
|
|
|
|
|
|
|
|
# Notes
|
|
|
|
|
Maybe add build dependency python3-dev (?) for PL/Python shared library.
|
|
|
|
|
Maybe gettext.
|
|
|
|
|
Maybe OpenSSL.
|
|
|
|
|
XXX change prefix ?
|
|
|
|
|