通过逻辑复制槽将postresql复制到elasticsearch

pg-replicate-elastic的Python项目详细描述


通过逻辑复制槽将postresql复制到elasticsearch

安装

$ pip install pg-replicate-elastic

wal2json

注意:使用我的叉子,因为我们测试了它,以确保它100%与它一起工作,并且不会发生破坏性的变化,wal2json

$ git clone https://github.com/hmilkovi/wal2json.git
$ PATH=/path/to/bin/pg_config:$PATH
$ USE_PGXS=1 make
$ USE_PGXS=1 make install

您需要在postgresql.conf上设置至少两个参数:

wal_level = logical
max_replication_slots = 1

更改这些参数后,需要重新启动。

使用量

pg_replicate_elastic --config=<absolute path to json config>

以json格式构造配置文件,其中:

  • replication_slot复制slot name和if是临时的json对象
  • tables是要复制的表数组
  • es_连接到elasticsearch的连接字符串
  • postgrespostresql连接的json对象
  • inital_sync需要第一次完成的初始同步的布尔值 复制旧数据

示例配置

{
	"replication_slot": {
		"name": "elasticsearch_slot",
		"is_temp": true
	},
	"tables": [{
		"name": "poc",
		"primary_key": "a"
		"exclude_columns": "c,z"
	}],
	"es_connection": "http://127.0.0.1:9200/",
	"postgres": {
		"port": 5432,
		"host": "127.0.0.1",
		"database": "poc",
		"username": "test",
		"password": "test"
	},
	"inital_sync": false
}

wal2json不是我的软件,所以用于许可证检查their licence

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用DBFlow进行迁移?   java无法从socket读取数据   java在JButton上使用鼠标运动监听器?   元素的java ArrayList链接和get IndexOutOfBoundsException   javascript如何在Java脚本中从ajax调用解析JSON对象   从数据库中获取信息并将其写入JTable。错误:java。lang.IndexOutOfBoundsException:索引:2,大小:2   spring如何使用Java SpringBoot在FCM推送通知中向IOS发送图像通知   java jsoup:解析某个标记的数据,该标记恰好位于某个特定标记之后   java没有HashMap的等式依赖于EntrySet。钥匙套?   未按预期评估java Maven属性(osmavenplugin)   类Java向ArrayList添加了用户输入,需要用另一个ArrayList中的变量分隔   JavaJSF丰富:每行呈现的数据列表?   集合Java 8按属性区分   在Java中,是否可以(静态)导入构造函数或局部变量?   安卓在ubuntu 10上安装java时出错64位   java是否应该hashCode()只使用equals()中使用的不可变字段的子集?   java如何创建ConcurrentMultiMap