我有一些带有bg_和cp_前缀的数据库表,例如“ bg_table1”,“ bg_table2”和“ cp_table1”。还有一些没有任何前缀的表,例如my_table1,user_action等。
我有两个debezium postgreSQL连接器,并尝试通过遵循Debezium-http://debezium.io/docs/connectors/postgresql/#connector-properties来配置table.whitelist
属性。我的要求如下:
我在连接器配置中使用了类似以下内容,但不起作用:
第一个连接器配置:
"table.whitelist": "public.bg_*,public.cp_*"
第二个连接器配置:
"table.whitelist": "" Cannot figure out need your help
如果有人可以帮助我解决问题,那就太好了。预先感谢!
答案 0 :(得分:4)
尝试使用此白名单:
"table.whitelist": "public\.(bg|cp)_.*"
为您的黑名单尝试一下:
"table.whitelist": "public\.(?!(bg|cp)_)[^_]+_.*"
第一个模式几乎可以在任何正则表达式引擎上工作。第二种模式使用负前瞻。只有在您的正则表达式引擎支持的情况下,它才起作用。如果没有,那么将很难用您要使用的逻辑来编写模式。
注意:在Java代码的上下文中,您可能需要加倍反斜杠以避开点之类的东西。也就是说,您可能必须使用以下版本,例如
"table.whitelist": "public\\.(bg|cp)_.*"