postgresql集群编译安装
创始人
2024-11-30 13:05:03
0
  1. postgreSQL集群部署
  2. 1环境准备(三台服务器全部执行)

2.1.1 准备三台虚拟机

服务器名称

服务器IP

描述

Pgsql-0

xxx.xxx.xxx.xxx

master节点

Pgsql-1

xxx.xxx.xxx.xxx

slave1节点

Pgsql-2

xxx.xxx.xxx.xxx

slave2节点

2.1.2 安装编译需要的相关依赖(三台服务器全部执行)

yum install -y gcc readline-devel zlib-devel openssl-devel automake autoconf libtool make -y

yum install -y bison flex -y

yum install docbook-dtds docbook-style-xsl libxslt -y

2.1.3 创建用户(三台服务器全部执行)

创建组 groupadd postgres

创建用户 useradd -g postgres postgres

    1. 编译安装(三台服务器全部执行)

2.2.1 上传pgsql编译包

上传pgsql的编译包到/opt目录下,并解压

2.2.2 执行编译命令

进入到解压好的目录,执行如下命令:

./configure --prefix=/usr/local/pgsql/postgresql-12.2

 make

 

make install

执行完上面的三个命令后,可以看到在 /usr/local/pgsql 下已经安装好了 pgsql

 

执行如下命令:

chown -R postgres:postgres /usr/local/pgsql

 

 

    1. 初始化数据库(三台服务器全部执行)

2.3.1 初始化数据库

执行如下命令,创建数据库文件夹。

mkdir -p /usr/local/pgsql/postgresql-12.2/data

 

 执行命令,切换用户。

su postgres

执行命令,初始化数据库。

/usr/local/pgsql/postgresql-12.2/bin/initdb -D /usr/local/pgsql/postgresql-12.2/data/

 

 

2.3.2 修改配置文件

执行命令:

cd /usr/local/pgsql/postgresql-12.2/data/

cp postgresql.conf postgresql.conf_bak

vi postgresql.conf

 

 

修改 listen_addresses = '*' 前面的#号需要去掉。

增加最大连接数

max_connections = 1000

保存 postgresql.conf 文件。

vi /usr/local/pgsql/postgresql-12.2/data/pg_hba.conf

执行命令:

在文件底部,增加如下配置,并保存文件

host  all  all  0.0.0.0/0  password

 

 执行命令:

su root

修改环境变量,执行命令

vi /etc/profile

在文件末尾,添加如下配置

export PGHOME=/usr/local/pgsql/postgresql-12.2

export PGDATA=/usr/local/pgsql/postgresql-12.2/data

PATH=$PATH:$HOME/bin:$PGHOME/bin

执行命令,让新增的配置生效

source /etc/profile

    1. 数据库操作(master节点)

2.4.1 启动数据库

su postgres

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ -l logfile start

 

 

2.4.2 修改默认密码

psql -U postgres

ALTER USER postgres with encrypted password '你的密码';

2.4.3 停止数据库

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ stop

    1. 集群配置

2.5.1 创建同步用户(master节点)

执行如下命令:

su postgres

psql -U postgres

CREATE ROLE rep login replication encrypted password 'rep';

 

 

2.5.2 修改pg_hba.conf

vi /usr/local/pgsql/postgresql-12.2/data/pg_hba.conf

在末尾增加如下配置

host replication rep 0.0.0.0/0 password

 

 

2.5.3 修改 postgresql.conf文件

配置如下配置

archive_mode = on   #开启归档模式

archive_command = 'cp %p /usr/local/pgsql/postgresql-12.2/data/%f'   #归档命令

wal_level = replica    #热备模式

 

 

重启数据库,执行命令:

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ stop

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ -l logfile start

从节点测试连通性

psql -h 10.10.12.75 -U postgres

 

 

    1. Slave节点配置

2.6.1 删除从库

执行命令:

su postgres

rm -rf /usr/local/pgsql/postgresql-12.2/data/*

2.6.2 主库同步数据到从库

su postgres

/usr/local/pgsql/postgresql-12.2/bin/pg_basebackup -h (master节点ip) -p 5432 -U rep -Fp -Xs -Pv -R -D /usr/local/pgsql/postgresql-12.2/data/

输入密码:rep

 

 

2.6.3 修改 standby.signal文件

执行命令:

vi /usr/local/pgsql/postgresql-12.2/data/standby.signal

增加配置:

standby_mode = on

2.6.4 修改 postgresql.conf 文件

执行命令:

vi /usr/local/pgsql/postgresql-12.2/data/postgresql.conf

修改如下配置:

primary_conninfo = 'host=10.10.12.75 port=5432 user=rep password=rep'

wal_level = replica #热备模式

hot_standby = on #说明这台机器不仅用于数据归档,还可以用于数据查询 hot_standby_feedback = on #r出现错误复制,向主机反馈

重启数据库,执行命令:

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ stop

/usr/local/pgsql/postgresql-12.2/bin/pg_ctl -D /usr/local/pgsql/postgresql-12.2/data/ -l logfile start

    1. 集群测试

2.7.1 检查集群(master节点)

执行如下命令:

su postgres

psql -U postgres

select client_addr,sync_state from pg_stat_replication;

 

 

创建测试数据库,执行命令:

create database test;

在slave节点查看已经创建的数据库,发现数据已经同步过来了。

 

2.7.2 从节点创建数据库

执行命令:

create database test;

可以看见从节点是个只读数据库

 

相关内容

热门资讯

黑科技好友!云扑克辅助(透视)... 黑科技好友!云扑克辅助(透视)先前存在有挂(了解有挂)-哔哩哔哩,云扑克辅助是用手机号来登录游戏的系...
黑科技辅助(微扑克有挂)外挂透... 黑科技辅助(微扑克有挂)外挂透明挂辅助黑科技(透视)细节方法(2025已更新)(哔哩哔哩);微扑克有...
黑科技辅助!fishpoker... 黑科技辅助!fishpoker正规,来玩德州app服务器在哪里,可靠教程(有挂秘籍)-哔哩哔哩;【福...
黑科技辅助(德州ai神器)外挂... 黑科技辅助(德州ai神器)外挂透明挂辅助器(透视)透明教程(2021已更新)(哔哩哔哩);德州ai神...
黑科技有挂!红龙扑克机制(透视... 黑科技有挂!红龙扑克机制(透视)从前有挂(有挂详细)-哔哩哔哩;红龙扑克机制软件透明挂更新新赛季,主...
黑科技辅助!wepoke辅助真... 黑科技辅助!wepoke辅助真的假的,智星德州菠萝有挂,可靠技巧(有挂技术)-哔哩哔哩;AI辅助机器...
黑科技辅助(云扑克内置)外挂透... 黑科技辅助(云扑克内置)外挂透明挂辅助挂(透视)我来教教你(2024已更新)(哔哩哔哩);大家肯定在...
黑科技最新!wepoke游戏真... 黑科技最新!wepoke游戏真的是有挂的(透视)果然有挂(有挂实锤)-哔哩哔哩;相信小伙伴都知道这个...
黑科技辅助!wepokeai代... 黑科技辅助!wepokeai代打的胜率,微扑克小程序辅助器,力荐教程(有挂方略)-哔哩哔哩;微扑克小...
黑科技辅助(WePoKe软件透... 【福星临门,好运相随】;黑科技辅助(WePoKe软件透明挂)外挂透明挂辅助器(透视)2025新版(2...