目录
说明
容器基于 openeuler/openeuler:20.03 系统,由于官方的Data Studio无法链接容器中的数据库,为方便管理集成了 pgadmin4 6.0。
1、源码获取
获取源码并进入源码目录
github
git clone --branch 主备版本 https://github.com/CyrusZhou-CN/openGauss_master_slave.git
cd openGauss_master_slave
或 gitee
git clone --branch 主备版本 https://gitee.com/CyrusZHou/openGauss_master_slave.git
cd openGauss_master_slave
2、运行
步骤 A B 选一个就行
A.快速运行
直接使用hub.docker.com容器运行
docker-compose up -d
B.编译运行
docker-compose -f "docker-compose-build.yml" up -d --build
3、使用方式
系统基本信息
浏览器打开 http://localhost:9980/
可以看到系统基本信息
1.登录pgAdmin4
pgAdmin4 6.0http://localhost:9980/pgadmin4
默认管理员 / 密码:admin@domain.com / admin
2.创建服务器链接
General->名称:master 【可随便填写】
链接->主机名称/地址: master
链接->用户名:gauss
链接->用户名:Gauss666
点保存完成主库链接,从库链接配置雷同,修改主机名称为 slave01 、slave02
4、同步测试
1.进入容器系统
docker exec -it master bash
2.进入数据库
gsql -d postgres
或者使用指定用户登录
gsql -d postgres -Ugauss -WGauss666
3.创建数据库和测试表
CREATE DATABASE test1 WITH ENCODING = 'UTF8' CONNECTION LIMIT = -1;
切换数据库
\c test1
创建测试表
CREATE TABLE public.table1(id integer NOT NULL,name nvarchar2,PRIMARY KEY (id));
4.生成测试数据
开启执行sql的时间
\timing on
生成100万条数据
insert into table1(id,name) select i, 'name:' || i from generate_series(1,1000000) i;
5.查看同步情况
先用 \q 退出数据库
用命令行查询slave01同步情况
gsql -dtest1 -hslave01 -Ugauss -WGauss666 -c"SELECT ID,NAME FROM table1 ORDER BY id DESC;"
参数说明:
-d 指定数据库
-h 指定主机
-U 指定用户
-W 用户密码
-c SQL语句
也可到pgadmin4环境查看同步情况
注:pgadmin4 使用中程停止slave容器有可能会导致界面卡死情况,退出重新登录,或者重新启动slave容器就可解决。
5、常用命令
主机模式启动:
gs_ctl start -D $GAUSSHOME/data -M primary
从机模式启动:
gs_ctl build -D $GAUSSHOME/data -b full
停止主机:
gs_ctl stop -D $GAUSSHOME/data -M primary
停止从机:
gs_ctl stop -D $GAUSSHOME/data -M standby
主从切换:
在需要切换为主机的容器中执行
gs_ctl switchover -D $GAUSSHOME/data
如:设置slave01为主机
docker exec -it slave01 bash
状态查看:
gs_ctl query -D $GAUSSHOME/data