Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vkZTH-00H6Vs-2K for pgsql-hackers@arkaria.postgresql.org; Tue, 27 Jan 2026 03:10:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vkZSH-00Bjc0-1O for pgsql-hackers@arkaria.postgresql.org; Tue, 27 Jan 2026 03:09:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vkZSH-00Bjbs-0J for pgsql-hackers@lists.postgresql.org; Tue, 27 Jan 2026 03:09:25 +0000 Received: from mail-qv1-xf35.google.com ([2607:f8b0:4864:20::f35]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vkZSF-00000000dol-0XMF for pgsql-hackers@lists.postgresql.org; Tue, 27 Jan 2026 03:09:25 +0000 Received: by mail-qv1-xf35.google.com with SMTP id 6a1803df08f44-888bd3bd639so72360156d6.1 for ; Mon, 26 Jan 2026 19:09:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769483362; cv=none; d=google.com; s=arc-20240605; b=M4MVRtP7DUrjP9XM8CLVPXRTTxuljHhQJC6KIJaKJVbZYWLG5PHhKO+WQZW2q6Gnmx 0Ew+X1bgjGhs6dSwv1jgW2HF8dP/doyXVyX3DHaxYJTEW64Iid3SNMkeBXvtTOlS8n5N iW8bm3v9ZbH8sH3388sr3Oy0tRefmPNYCvG+6JWQi2CKi9WBbzhe9M1GIEL91JHaQIuM M6acafASBZi2HUlO87QarXUtqIRlU1MpsSdkm9j/9d22ebwnGyomnY3ot2ZILA1vLfBS QPChNKsYniA2aHqXPSI1SNZwAyAOUjoh+tUbLfHwmQyHBTyHf8Uvv8YJ4MJSdooP5oe8 3lPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=HigqyyCQIVdcu8S2PWLA3xSwcm4QrKRi6ujD0hNLwz4=; fh=pi74A7yQcmnrfXGmfEFFKI9MxXN6fFGlsnu5pcBor9M=; b=iw3tNyWGQlRPu9vyv62SgQMwh6ynIUcO20aKpfHpiLpsfJyO8CU/o7PEoPpKbIMuZ7 axueCURf9ysVZOXiade9iDVTQi6tt7uyqRuzY0H60i9mTZfMz4zGK0zIjYZjjjQN3q/E wi7s8oE51nzBrIiTsgkAl8PuYzqiZLFs634mYYpsqWyK2AYdqsLDTezuGNiPuFQ2+fOo vpWAYB4s656JUSt96l5paK+iWStFgN5i43+IHn36BGlWz0BOC3DIwKQRgSKZxN5rJBoD PzGPIEsXsJzbaDMqSCswvadyEhPj/fKQ+nfjdCA2CIUjKslaiUyqv7G2LY+TGAs+EL1I y0LQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769483362; x=1770088162; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HigqyyCQIVdcu8S2PWLA3xSwcm4QrKRi6ujD0hNLwz4=; b=AEBvJMqWJceClB07lpgax++5pvTb/MbQrKcGnVbrbdN+P8l4d7OxnYgF+GALE7L5KN shVo5Hbx8BY+8EbC+EO9Qgg7hxxawarMdoEdKvkQB6+ZFsaogHaujU3cYF0Dw6AnjtSR v7mj9dtJ14bdk08wFgl0AyvHdWr9lbX+pFe568DRk0MSQjacW8CYkgJiF3GaUutt1gEM omz4wHyTr1tfvSQV1h9uWV1eTG6MuJH1olEThrjgb9sCz0j3Hdj/xjb2fZf4OZBEU123 HXIBKodG+6WY0U0CvIPp9hZE4iI2vRl0lTh91LhqnZV8Ojd0MYa24+OPIpvdkohLeBiZ oo3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769483362; x=1770088162; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HigqyyCQIVdcu8S2PWLA3xSwcm4QrKRi6ujD0hNLwz4=; b=GVOG66qER1HeBpll5/qXo8crt2uYC8mPcKFTVaGDtJ6fEOYj+30P2mJXsVqjeiVBhc ZGSL6eLGABHZAkK3qfWzZ93qVEkAEhZWrzX5yjWjv1Ev+fT9vp2lj9DmdL/YizRt+ma/ KTY1HHRLRVTW9s9e52f+bQ8jke9g5wcdEoo7hR/ELSGalBtuD7ij1e4P4FVsaFCVYWL1 xoJYD+DJXCi9j0KyDWOdvMIxcqXcDM6GKlaCFwnjsdiQ6Auw7CKhYqSgFgADaSIqQBGq 9/0KMpF1PpQWBk8jflmmMYfWP6katmnnFz1HyGmAMwoACzNqdUceWmPwS01XtTUM3qcQ zjlw== X-Forwarded-Encrypted: i=1; AJvYcCWgp+GjKvriojqOMidr2tlufyPQUM36cmLmPlwl59qjrlwELTlLRSxyoz6p5+y83YZ9W4eM2TpCuiz9SyEA@lists.postgresql.org X-Gm-Message-State: AOJu0Yy0AVTvJhRvjzKPq+k2Sc2TM4J4DVdd6SQVkzSvxU6X/u1UdKZr xCdUEs5riu2kiqkvtT9fRK3p+aT74HspXYULeEUfmYTdJTHClfvo0FqT5GGqwyFkGMLL3j0HaXQ mEDzExFPbcomtegmSAHN1v8jdmqKgva8= X-Gm-Gg: AZuq6aJVWOve9mm7TsROg98ZLHQOQZ4YBvJ8WAzlCfc+aGIG0l2YXJEEfYYOFzuq2lx Hho9xBx/7ojdgJQlg90JUoJqSPyH6pS+FF7xC1omsLp7NM1Bpy3FDj4GNqUuFoM40qzgNIjuL4n 6Z0tIiJZP5Z3fkOZ/56QHidxuV7M56zzTCMDVCvqjdxJXOT5DNgxzVBpk+SczwsPmQDAtFWyS9r w/LLNNc8LnrGhVJ/mUNK5cntdLtmf7MH8Z01r8UJJoLLtY3FfyviU0HkYSLXsi1VDMA8O3jQ2m3 icHeZo435FBcfCAeTqM7iEbhVLfpgg== X-Received: by 2002:ad4:5746:0:b0:888:81bc:93b1 with SMTP id 6a1803df08f44-894cd2ecfa3mr3004526d6.12.1769483361716; Mon, 26 Jan 2026 19:09:21 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Peter Smith Date: Tue, 27 Jan 2026 14:08:54 +1100 X-Gm-Features: AZwV_QhHfjLTuO3m0NEzEZ9bA-SlpKxSjwt2gKe-sPI4Sb05y8_TrnRVXTiZTzI Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: Dilip Kumar Cc: vignesh C , Amit Kapila , shveta malik , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Dilip. Some comments for the first 2 patches: ////////// v24-00001 ////////// 1. + /* + * Conflict log tables are managed by the system to record logical + * replication conflicts. We do not allow locking rows in CONFLICT + * relations. + */ + if (IsConflictNamespace(RelationGetNamespace(rel))) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot lock rows in CONFLICT relation \"%s\"", + RelationGetRelationName(rel)))); AFAIK, this "CONFLICT relation" terminology is not used anywhere else. Why not just call it what it is: e.g. cannot lock rows in conflict log table \"%s\" ~ OTOH, if you were attempting to future-proof the message for different kinds of relations in the 'pg_conflict' namespace, I still felt it might be better to refer to 'pg_conflict' instead of CONFLICT: e.g. cannot lock rows in 'pg_conflict' relation \"%s\" ////////// v24-0002 ////////// 1. +static char *build_index_value_desc(EState *estate, Relation localrel, + TupleTableSlot *slot, Oid indexoid); Declared twice? ====== Kind Regards, Peter Smith. Fujitsu Australia.