diff --git a/src/backend/replication/logical/conflict.c b/src/backend/replication/logical/conflict.c index 5d9ff626bd..dabe278b72 100644 --- a/src/backend/replication/logical/conflict.c +++ b/src/backend/replication/logical/conflict.c @@ -201,6 +201,7 @@ errdetail_apply_conflict(EState *estate, ResultRelInfo *relinfo, StringInfoData err_detail; char *val_desc; char *origin_name; + int errd; initStringInfo(&err_detail); @@ -289,9 +290,15 @@ errdetail_apply_conflict(EState *estate, ResultRelInfo *relinfo, * replica identity columns after the message. */ if (val_desc) + { appendStringInfo(&err_detail, "\n%s", val_desc); + pfree(val_desc); + } + + errd = errdetail_internal("%s", err_detail.data); + pfree(err_detail.data); - return errdetail_internal("%s", err_detail.data); + return errd; } /*