post单节点安装 - OTLULiang/SLD GitHub Wiki
单节点portgres安装
安装准备
(1)ubantu (2)oracle box (3)postgres xl
本地hosts文件配置:
192.168.56.101 linux01
依赖包安装:
apt-get install bison
apt-get install flex
编译配置:
./configure -prefix=/home/pgxc/postgres --without-zlib --without-readline
安装:
make & make install
环境变量:
export PGHOME=/home/pgxc/postgres
export PGDATA=/home/pgxc/postgres/DATA
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$PGHOME/bin
su pgxc
source /home/pgxc/novrc
单节点安装安装: 初始化:gtm cn dn
initgtm -Z gtm -D $PGDATA/gtm
initdb -D $PGDATA/coord1 --nodename cn1
initdb -D $PGDATA/datanode1 --nodename dn1
启动脚本:
#!bash
source /home/pgxc/novrc
修改$PGDATA/gtm/gtm.conf配置文件,将gtm端口改为8800
nodename = 'gtm'
listen_addresses = '*'
port = 8800
startup = ACT
log_file = gtm.log #方便问题定位
修改cn配置文件
$PGDATA/coord1/postgresql.conf
listen_addresses = '*'
port = 8810
pooler_port = 8815
gtm_host = 'linux01'
gtm_port = 8800
pgxc_node_name = 'cn1'
log_directory = 'pg_log'
修改dn1的配置文件
listen_addresses = '*'
port = 8820
pooler_port = 8818
gtm_host = 'linux01'
gtm_port = 8800
pgxc_node_name = 'dn1'
log_directory = 'pg_log'
修改权限文件: DN CN 均需要修改
$PDATA/coord1/pg_hba.conf
local database username address option
host all all linux01 trust
host all all 192.168.56.1/32 trust(本地地址添加)
启动gtm
gtm_ctl start -Z gtm -D $PGDATA/gtm
启动 datanode
pg_ctl restart -Z datanode -D $PGDATA/datanode1
启动coordinator
pg_ctl restart -Z coordinator -D $PGDATA/coord1
CN配置:
psql -p 8810 -d postgres
CREATE NODE cn1 WITH (TYPE='coordinator',HOST='linux01',PORT=8810);
CREATE NODE dn1 WITH (TYPE='datanode',HOST='linux01',PORT=8820,primary=true,preferred=true);
DN配置
psql -p 8820 -d postgres
CREATE NODE cn1 WITH (TYPE='coordinator',HOST='linux01',PORT=8810);
CREATE NODE dn1 WITH (TYPE='datanode',HOST='linux01',PORT=8820,primary=true,preferred=true);
node1.cn1上执行:
psql -p 8810 -d postgres
select version();
create user pgtest password 'pgtest';
show max_connections; 最大连接数
select * from pg_stat_activity; 查询连接状态
create database pgtest_db with owner = pgtest; 创建数据库
create table t1(id int,name text) distribute by hash(id); 创建表