首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pglogical: delete前的副本触发器导致数据库损坏

pglogical: delete前的副本触发器导致数据库损坏
EN

Stack Overflow用户
提问于 2019-04-04 19:01:09
回答 1查看 145关注 0票数 0

我正在试验使用pglogical 9.6的2节点双向复制。当我设置pglogical.conflict_resolution = 'last_update_wins‘时,我能够一直导致seg错误。

我创建了一个BEFORE DELETE触发器来防止在复制表中插入一些值。

代码语言:javascript
复制
CREATE  TRIGGER TR_REP BEFORE DELETE
ON table_for_repl
FOR EACH ROW
EXECUTE PROCEDURE check_value();

CREATE OR REPLACE FUNCTION public.check_value()
  RETURNS trigger AS
$BODY$
BEGIN
 IF OLD."origin"::text =  'test' then
   RETURN OLD;
 ELSE
   RETURN Null;
 END IF;  
END;
$BODY$
  LANGUAGE plpgsq;

此触发器适用于正常的删除操作。当我为复制打开它(ALTER TABLE table_for_repl ENABLE replication TRIGGER TR_REP;),并且我再现了触发器应该阻止插入时的情况(即该函数将返回Null)。我得到了:

代码语言:javascript
复制
background worker "pglogical apply 16384:1892658794" (PID 4250) was terminated by signal 11: Segmentation fault.
terminating any other active server processes
recovered replication state of node 1 to 0/1764C38
database system was not properly shut down; automatic recovery in progress

在pglogical 11上重复出现错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 23:21:12

分段错误总是一个bug,除非它是由硬件问题或数据损坏引起的。

你应该向2ndQuadrant提交一个bug;这是他们的软件。

确保将复制器包含在错误报告中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55514283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档