debezium table 正则表达式白名单
debezium table whitelist with regular expression
我有一些带有 bg_ 和 cp_ 前缀的数据库 table,例如 "bg_table1"、"bg_table2" 和 "cp_table1"。还有一些其他 table 没有my_table1、user_action 等任何前缀。
我有两个 debezium postgreSQL 连接器并尝试按照 Debezium - http://debezium.io/docs/connectors/postgresql/#connector-properties 配置 table.whitelist
属性。我的要求如下:
- 在第一个连接器中,我想加载名称以 bg_ 或 cp_[=37 开头的 tables =]
- 在第二个连接器中,我想加载 table 的其余部分 - 不 以 bg_ 开头或cp_
我在连接器配置中使用类似下面的内容,但不起作用:
第一个连接器配置:
"table.whitelist": "public.bg_*,public.cp_*"
第二个连接器配置:
"table.whitelist": "" Cannot figure out need your help
如果有人能帮我弄明白就太好了。提前致谢!
为您的白名单试试这个:
"table.whitelist": "public\.(bg|cp)_.*"
并为您的黑名单试试这个:
"table.whitelist": "public\.(?!(bg|cp)_)[^_]+_.*"
第一个模式应该适用于任何正则表达式引擎。第二种模式使用负前瞻。它只有在您的正则表达式引擎支持的情况下才有效。如果不是,那么用您想要使用的逻辑编写模式将更加困难。
注意:在 Java 代码的上下文中,您可能需要加倍反斜杠以转义点之类的内容。也就是说,您可能必须使用以下版本,例如
"table.whitelist": "public\.(bg|cp)_.*"
我有一些带有 bg_ 和 cp_ 前缀的数据库 table,例如 "bg_table1"、"bg_table2" 和 "cp_table1"。还有一些其他 table 没有my_table1、user_action 等任何前缀。
我有两个 debezium postgreSQL 连接器并尝试按照 Debezium - http://debezium.io/docs/connectors/postgresql/#connector-properties 配置 table.whitelist
属性。我的要求如下:
- 在第一个连接器中,我想加载名称以 bg_ 或 cp_[=37 开头的 tables =]
- 在第二个连接器中,我想加载 table 的其余部分 - 不 以 bg_ 开头或cp_
我在连接器配置中使用类似下面的内容,但不起作用:
第一个连接器配置:
"table.whitelist": "public.bg_*,public.cp_*"
第二个连接器配置:
"table.whitelist": "" Cannot figure out need your help
如果有人能帮我弄明白就太好了。提前致谢!
为您的白名单试试这个:
"table.whitelist": "public\.(bg|cp)_.*"
并为您的黑名单试试这个:
"table.whitelist": "public\.(?!(bg|cp)_)[^_]+_.*"
第一个模式应该适用于任何正则表达式引擎。第二种模式使用负前瞻。它只有在您的正则表达式引擎支持的情况下才有效。如果不是,那么用您想要使用的逻辑编写模式将更加困难。
注意:在 Java 代码的上下文中,您可能需要加倍反斜杠以转义点之类的内容。也就是说,您可能必须使用以下版本,例如
"table.whitelist": "public\.(bg|cp)_.*"