提供商在OEL 7 postgres 12.4上,订户在RDS 13.2上
只要命令的开始和结束之间没有引号,pglogical.replicate_ddl_command就可以正常工作。例如,下面的代码就很好用
select pglogical.replicate_ddl_command('create table public.foo ( like public.orders including all)','{default}'::text[]);设置事件触发器以将这个新创建的表添加到默认replication_set。
接下来,我们需要将表foo作为分区附加到表orders,这就是值的引号出现问题的地方。
select pglogical.replicate_ddl_command('Alter table public.orders attach partition public.foo for values from ('2021-05-01') TO ('2021-06-01')','{default}'::text[]);
ERROR: syntax error at or near "2021"
LINE 1: ...ers attach partition public.foo for values from ('2021-05-01...
^在文档中找不到与此相关的任何内容。请帮帮忙。
发布于 2021-07-09 08:54:41
虽然我可以通过使用双引号''避免错误,因为函数上的command参数是text,但ATTACH PARTITION没有复制。虽然这是一个与我在这个问题中问到的问题不同的问题,但感谢任何反馈和想法。
把这张纸条留给遇到我这种情况的任何人。要求是,您需要将父分区及其所有分区都添加到同一复制集中。在我的例子中,我添加了所有分区,但没有添加父分区。
https://stackoverflow.com/questions/68309307
复制相似问题