我正在建立一个主/从云sql。我按照这里的文档来设置它。
我的主数据库托管在外部服务器上,但它能够通过设置的ipsec隧道到达gcp。我的问题是我的DB引擎是postgresql,为了使用发布/订阅来启用主/从之间的同步,我需要使用逻辑模块。我已经在我的外部服务器上设置了这个。我也可以通过传递flags属性在cloud sql中设置它,如下所示。
我像这样在POST请求中传递它来创建它(我的计划是使用相同的方法在此设置后使用terraform创建它)
"databaseFlags" : [
{
"name": "cloudsql.enable_pglogical",
"value": "on",
}
但是我得到以下错误:
"errors"({message": "请求的值无效。设置cloudsql失败。当实例正在从外部服务器复制时,无法启用Enable_pglogical;"domain"global"reason"invalidFlagValue"})
根据错误消息,如果从外部服务器复制,我似乎无法启用逻辑。如果复制不是针对外部服务器,我已经检查了标志是否有效。
我还能做些什么来克服这个问题吗?
我正在尝试使用postgres12
,但使用共享docker卷,该卷具有postgres9.4
和pglogical
设置的另一个容器。创建一个新卷并按照所需的指令启动,使我能够对复制进行排序。
我可以通过查看postgres日志(在.conf中的ERROR REPORTING AND LOGGING
中设置)来跟踪这一点。因此,即使您的错误发生变化,也要查找问题所在并尝试重新设置。