iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >pglogical 2.2.0配置说明
  • 602
分享到

pglogical 2.2.0配置说明

2024-04-02 19:04:59 602人浏览 薄情痞子
摘要

master: postgresql 9.5(192.168.31.205)standby: postgresql 10.3(192.168.31.202) 1.postgresql配置 1).vi pos

master: postgresql 9.5(192.168.31.205)
standby: postgresql 10.3(192.168.31.202)

1.postgresql配置

1).vi postgresql.conf

wal_level = 'logical'
max_worker_processes = 10 # one per database needed on provider node
// # one per node needed on subscriber node
max_replication_slots = 10 # one per node needed on provider node
max_wal_senders = 10 # one per node needed on provider node
shared_preload_libraries = 'pglogical'

track_commit_timestamp = on # needed for last/first update wins conflict resolution
// # property available in PostgreSQL 9.5+

2).pg_hba.conf

pg_hba.conf has to allow replication connections from localhost.

--# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
host replication postgres 192.168.31.0/24 trust

2.pglogical安装

source

https://GitHub.com/2ndQuadrant/pglogical/releases

1).install

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/pgsql/9.5/bin
make USE_PGXS=1 clean all

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/pgsql/9.5/bin
make USE_PGXS=1 install

2).create extention

(master/standby)

CREATE EXTENSION pglogical;

3.pglogical配置

master/standby

create table t1(id serial primary key, name varchar(20));

1).master

postgres=# SELECT pglogical.create_node(
postgres(# node_name := 'provider1',
postgres(# dsn := 'host=192.168.31.205 port=5432 dbname=postgres'
postgres(# );

create_node
//---------
2976894835
(1 row)

postgres=# SELECT pglogical.replication_set_add_all_tables('default', ARRAY['public']);
replication_set_add_all_tables
//---------
t
(1 row)

postgres=#
postgres=# select * from pglogical.node_interface;
if_id | if_name | if_nodeid | if_dsn
------------+-----------+------------+-----------------------------------------------
2402836775 | provider1 | 2976894835 | host=192.168.31.205 port=5432 dbname=postgres
(1 row)

postgres=# create table t1(id serial primary key, name varchar(20));

2).standby

postgres=# SELECT pglogical.create_node(
node_name := 'subscriber1',
dsn := 'host=192.168.31.202 port=5432 dbname=postgres'
);
create_node
//---------
330520249
(1 row)

postgres=# select * from pglogical.node;
node_id | node_name
-----------+-------------
330520249 | subscriber1
(1 row)

postgres=# SELECT pglogical.create_subscription(
subscription_name := 'subscription1',
provider_dsn := 'host=192.168.31.205 port=5432 dbname=postgres passWord=123456'
);
create_subscription
//---------
1763399739
(1 row)

postgres=#
//---------











//---------
//---------

自定义replication_set

1.环境描述

master(provider node)
pg9.5: 192.168.31.205

standby(subscriber node)
pg10.3: 192.168.31.202

2.配置文件

postgresql.conf

wal_level = 'logical'
max_worker_processes = 10 # one per database needed on provider node
// # one per node needed on subscriber node
max_replication_slots = 10 # one per node needed on provider node
max_wal_senders = 10 # one per node needed on provider node
shared_preload_libraries = 'pglogical'

track_commit_timestamp = on # needed for last/first update wins conflict resolution
// # property available in PostgreSQL 9.5+
3.配置逻辑复制

1).master(provider node)

pg_hba.conf

--# TYPE DATABASE USER ADDRESS METHOD

--# "local" is for Unix domain Socket connections only
local all all trust
--# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.31.0/24 trust
host all all 0/0 md5
--# IPv6 local connections:
host all all ::1/128 trust
--# Allow replication connections from localhost, by a user with the
--# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
host replication postgres 192.168.31.0/24 trust
[postgres@pg95 pgdata95]$

postgres=#
postgres=# create database phriday;
CREATE DATABASE
postgres=# \c phriday
You are now connected to database "phriday" as user "postgres".
phriday=#
phriday=#
phriday=# CREATE TABLE sensor_log (
id SERIAL PRIMARY KEY NOT NULL,
location VARCHAR NOT NULL,
reading BIGINT NOT NULL,
reading_date TIMESTAMP NOT NULL
);
CREATE TABLE
phriday=#
phriday=#
phriday=# INSERT INTO sensor_log (location, reading, reading_date)
SELECT s.id % 1000, round(random() 100),
CURRENT_DATE + INTERVAL '1d' - ((s.id
10)::TEXT || 's')::INTERVAL
FROM generate_series(1, 1000000) s(id);

INSERT 0 1000000
phriday=#
phriday=#
phriday=#
phriday=# CREATE EXTENSION pglogical;
CREATE EXTENSION
phriday=#
phriday=#
phriday=# SELECT pglogical.create_node(
node_name := 'prod_sensors',
dsn := 'host=localhost port=5432 dbname=phriday'
);
create_node
//-------------
2582514159
(1 row)

phriday=# SELECT pglogical.create_replication_set(
set_name := 'logging',
replicate_insert := TRUE, replicate_update := FALSE,
replicate_delete := FALSE, replicate_truncate := FALSE
);
create_replication_set
//------------------------
2763884914
(1 row)

phriday=#
phriday=# SELECT pglogical.replication_set_add_table(
set_name := 'logging', relation := 'sensor_log',
synchronize_data := TRUE
);
replication_set_add_table
//---------------------------
t
(1 row)

phriday=#
phriday=#

2).standby(subscriber node)

pg_hba.conf

//# TYPE DATABASE USER ADDRESS METHOD

//# "local" is for Unix domain socket connections only
local all all trust
//# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.31.0/24 trust
host all all 0/0 md5
//# IPv6 local connections:
host all all ::1/128 trust
//# Allow replication connections from localhost, by a user with the
//# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
[postgres@pg10 pgdata10]$

postgres=# create database phriday;
CREATE DATABASE
postgres=# \c phriday
You are now connected to database "phriday" as user "postgres".
phriday=#
phriday=# CREATE TABLE sensor_log (
id SERIAL PRIMARY KEY NOT NULL,
location VARCHAR NOT NULL,
reading BIGINT NOT NULL,
reading_date TIMESTAMP NOT NULL
);
CREATE TABLE
phriday=#
phriday=# create extension pglogical;
CREATE EXTENSION
phriday=#
phriday=# \dx
List of installed extensions
Name | Version | Schema | Description
-----------+---------+------------+--------------------------------
pglogical | 2.2.0 | pglogical | PostgreSQL Logical Replication
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 rows)

phriday=#
phriday=# SELECT pglogical.create_node(
node_name := 'sensor_warehouse',
dsn := 'host=localhost port=5432 dbname=phriday'
);
create_node
//-------------
2202660864
(1 row)

phriday=#

phriday=#
phriday=# SELECT pglogical.create_subscription(
subscription_name := 'wh_sensor_data',
replication_sets := array['logging'],
provider_dsn := 'host=192.168.31.205 port=5432 dbname=phriday'
);
(注意:standby节点pglogical.create_subscription函数,使用master(provider node)节点pg_hba.conf的host部分认证)
create_subscription
//---------------------
942472455
(1 row)

phriday=#

phriday=# select pg_sleep(10);
pg_sleep
//----------

(1 row)

phriday=# select * from sensor_log limit 10;
id | location | reading | reading_date
----+----------+---------+---------------------
1 | 1 | 34 | 2018-03-29 23:59:50
2 | 2 | 78 | 2018-03-29 23:59:40
3 | 3 | 19 | 2018-03-29 23:59:30
4 | 4 | 84 | 2018-03-29 23:59:20
5 | 5 | 57 | 2018-03-29 23:59:10
6 | 6 | 9 | 2018-03-29 23:59:00
7 | 7 | 88 | 2018-03-29 23:58:50
8 | 8 | 75 | 2018-03-29 23:58:40
9 | 9 | 48 | 2018-03-29 23:58:30
10 | 10 | 24 | 2018-03-29 23:58:20
(10 rows)

phriday=# select count(*) from sensor_log;
count
//---------
1000000
(1 row)

phriday=#

您可能感兴趣的文档:

--结束END--

本文标题: pglogical 2.2.0配置说明

本文链接: https://www.lsjlt.com/news/41069.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pglogical 2.2.0配置说明
    master: postgresql 9.5(192.168.31.205)standby: postgresql 10.3(192.168.31.202) 1.postgresql配置 1).vi pos...
    99+
    2022-10-18
  • Persistence.xml 配置说明
    persistence.xml是Java Persistence API(JPA)中用于配置持久化单元(Persistence Un...
    99+
    2023-09-15
    说明
  • redis参数配置说明
    redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no2. 当Redis以守护进程方式运行时,Redis默认...
    99+
    2022-10-18
  • 云服务器配置说明
    云服务器是一种虚拟的数据存储设备,它提供了高性能、高可靠性和低成本的云计算支持。以下是云服务器配置和使用的详细说明:一、 CPU和内存配置云服务器CPU是云服务器计算系统中最关键的组件之一。CU通常由多块计算处理器组成,每个处理器都负责处理...
    99+
    2023-10-25
    服务器配置
  • Dactor的配置和API说明
    这篇文章主要讲解了“Dactor的配置和API说明”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dactor的配置和API说明”吧!# **配置和API说明**  ## ...
    99+
    2023-06-02
  • python Djanjo csrf说明与配置
     Django csrf  CSRF 全称(Cross Site Request Forgery)跨站请求伪造。也被称为One Click Attack和Session Riding,通常缩写为CSRF或XSRF。你可以这样理解:攻击者(黑...
    99+
    2015-01-30
    python Djanjo csrf说明与配置
  • mybatis-config详细配置说明
    <xml version="1.0" encoding="utf-8"> <!DOCTYPE configuration PUBLIC "...
    99+
    2022-10-18
  • Mysql配置my.cnf 参数说明
     ...
    99+
    2016-11-27
    Mysql配置my.cnf 参数说明
  • Nacos 2.2.0集群安装配置
    一、文档、下载 Nacos 快速开始 https://nacos.io/zh-cn/docs/quick-start.html 集群部署说明 https://nacos.io/zh-cn/docs/v2/guide/admin/cl...
    99+
    2023-09-03
    nacos 集群 内置数据库 mysql Powered by 金山文档
  • mysql8.0基本参数配置说明
    ## 注意: # ## (1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务 # ## (2)请根据实际情况作调整部分参数 # ## (3)本人不对这些建议结果负相应责任 ##服务端参数配置 [m...
    99+
    2023-09-11
    mysql 数据库 Powered by 金山文档
  • Postgres_XL 简要安装配置说明
    1.系统需求CentOS 7.2 X64postgres-xl-9.5r1.4.tar.gz# yum install -y gcc-c++# yum install -y readline-devel# ...
    99+
    2022-10-18
  • 4、redis.conf中replication配置项说明
    注意:在master-slave部署模式下,只需slave实例配置Peplication相关项,各项含义说明如下。        1) slaveof <mas...
    99+
    2022-10-18
  • Redis常用的配置和说明
    #是否作为守护进程运行,默认为nodaemonize yes#配置pid的存放路径及文件名,默认为当前路径下,此设置当守护进程运行时有效pidfile redis.pid#Redis默认监听端口port 6...
    99+
    2022-10-18
  • Redis配置文件参数说明
    Redis配置文件参数说明1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis...
    99+
    2022-10-18
  • H3C AP配置流程及说明
      一、    具体步骤 根据AP的组网情况,保证AP设备本身的可管理性及安全性,需要对AP的名称、VLAN、SSID、接口等进行配置,具体内容如下: 1.登陆AP 【说明】 配置AP分为字符界面和图形界面两种,字符界面可以有Telnet和...
    99+
    2023-01-31
    流程 H3C AP
  • Oracle Exadata X8 Hardware DataSheet (配置说明)
     更多祥细信息请查看:https://docs.oracle.com/en/engineered-systems/exadata-database-machineOracle Exadata Database Machine co...
    99+
    2023-06-03
  • VNC安装配置详细说明
    VNC概述  VNC (Virtual Network Computing)是虚拟网络计算机的缩写。VNC 是一款优秀的远程控制工具软件,由著名的 AT&T的欧洲研究实验室开发的。VNC 是在基于 UNIX和 L...
    99+
    2023-06-06
  • Rockchip RK3399 eMMc 的 DTS 配置说明
    RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一...
    99+
    2023-06-05
  • Redis安装及配置文件说明
    安装环境及redis版本:Centos 7、Redis-5.0.5 一、安装redis 下载redis wget http://download.redis.io/releases/redis-5.0.5.tar.gz 解压 tar -x...
    99+
    2016-05-15
    Redis安装及配置文件说明
  • my-innodb-heavy-4G.cnf配置文件说明
    [client]                ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作