【问题标题】:pglogical.replicate_ddl_command quote handlingpglogical.replicate_ddl_command 报价处理
【发布时间】:2021-09-19 08:57:54
【问题描述】:

提供者在 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 作为分区附加到表 order 中,这就是 FOR VALUES 中的引号成为问题的地方。

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...
 
                                                          ^

在与此相关的文档中找不到任何内容。 请帮忙。

【问题讨论】:

    标签: postgresql pglogical


    【解决方案1】:

    虽然我能够通过使用双引号 '' 来避免错误,因为函数上的 command 参数是文本,但 ATTACH PARTITION 没有复制。尽管这与我在这个问题中提出的问题不同,但感谢任何反馈和想法。

    将此笔记留给遇到我情况的其他人。要求是您需要将父分区及其所有分区添加到同一复制集。就我而言,我添加了所有分区,但没有添加父分区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 2016-03-28
      • 1970-01-01
      相关资源
      最近更新 更多