From 18a420245dc38fe862404b03a98a72b1b64a0060 Mon Sep 17 00:00:00 2001
From: "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>
Date: Sun, 3 Nov 2019 12:53:05 +0500
Subject: [PATCH] Fix the problem of logical replication with domain NOT VALID
 constraint.

---
 src/backend/utils/adt/domains.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/utils/adt/domains.c b/src/backend/utils/adt/domains.c
index 6553a67ea1..3de4f6ea13 100644
--- a/src/backend/utils/adt/domains.c
+++ b/src/backend/utils/adt/domains.c
@@ -34,6 +34,7 @@
 #include "catalog/pg_type.h"
 #include "executor/executor.h"
 #include "lib/stringinfo.h"
+#include "postmaster/bgworker.h"
 #include "utils/builtins.h"
 #include "utils/expandeddatum.h"
 #include "utils/lsyscache.h"
@@ -133,6 +134,9 @@ domain_check_input(Datum value, bool isnull, DomainIOData *my_extra)
 	ExprContext *econtext = my_extra->econtext;
 	ListCell   *l;
 
+	if (MyBgworkerEntry && strcmp(MyBgworkerEntry->bgw_type, "logical replication worker") == 0)
+		return;
+
 	/* Make sure we have up-to-date constraints */
 	UpdateDomainConstraintRef(&my_extra->constraint_ref);
 
-- 
2.17.1

