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 1wciEq-003Z5Z-1D for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 11:27:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wciEo-0058vx-07 for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 11:27:18 +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 1wciEn-0058vo-29 for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 11:27:17 +0000 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wciEl-00000000Bm3-1CLP for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 11:27:17 +0000 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-c8deb37737dso788779a12.1 for ; Thu, 25 Jun 2026 04:27:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782386832; cv=none; d=google.com; s=arc-20260327; b=i2UV4n7nrn4yS0RymNe3Kk9YDWT44mv+RERsrWb6RA2L1f0lX5ItpjK1oKGELDA/U1 EtfLO2azTfYpR3/0CfcHhe1bX9V+5MjF7z5O8XOG3qC3X6S8bdnQgwex23umz3dhL110 LPobxta+ci8JJhCB+r2HVJI6v66sOAw34WT15k2sW394IdzCkRm+2xRK7cmq/jNJDFG3 xOHbw2e9jYhazh+2+G5OALH97CE5gBluHMsUjhA/6LdHza1/AGAvNiluFNuolBu++yYJ zrs2sveiY/V8wjQm2ZzzrZET20EaIPBmnUXaEHeREnT4zl69qElPhsCT47MdGoTsNGjy gQPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=TyKtOeeo9iSp8gQaZLIz0t3VSupRCD6L60ElIfPkf4M=; fh=Up/9D5Nddq7vqaRGR1lYZIcZkRSfQkqA4O8RR5+Dy9c=; b=WUOz/8eyHH8c1R5E36xB20CrVc4wr8MzRrVnneMpvkH6O0MzMUlS2afVClansKETAY QWlzHdd8NgJVO2eUUk3v1qxXXXskoqlSuatc+rTr4D05CicHqTHQjNKU7i9fk60kETzp vgt/PDbEICQ2OlFjcZc1VFG/BLTelOmkYH7GOr2U4vssVVy1YajtraZKSNuNJrhO0Kw6 npulJ+ypfUEQjNaQRD48cWyJE2xoQG0ZFLF0eDaJjDpGfOr/iTEexEHr47hD6Nnn7Zlz RqPv4pUjKwmccgtJ7Ye5fbenYvhu2/PIznZd0dDg//ERsi/M0vJDWRVOxttWXsD95azt 0qxA==; 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=20251104; t=1782386832; x=1782991632; 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=TyKtOeeo9iSp8gQaZLIz0t3VSupRCD6L60ElIfPkf4M=; b=mUC03BdO+U7Z7dej3+PSJ8CprecPcDXOniRrp2G4fLGkWNgOZKsohtbhXPu5Rd3jZ6 9ZCSapFWdYihCNORO9bR/O1913zt6JAp/tsYpcVZyURCvs4j3FPkcz/Kjy/+4ql43OM4 jkizC8YzGb+FxCFMo+yql69mNr9glT/g9g8HeYDD19INLAQWvYBI+XNL19emDSBDonZJ Am7VPDPmWawUGqA16SQ243WBpsTt3qA/AbIl9eMCKmWeVPIIMU1FmQvLj6R7y6Emn6a8 /cS8t5q6tJZzUrVnMBQcr3OhX48JXIuHWoNbYCgp2dwUHZ9AtE1/Xg8Z9xOa3GjG+PCS zADg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782386832; x=1782991632; 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=TyKtOeeo9iSp8gQaZLIz0t3VSupRCD6L60ElIfPkf4M=; b=pWpvcw86bRkZ/gmuYv6OoDedCy6ahf4yxTFo3KTY1GuwjrjQKGbdX+o0EKUb2iT5iA Sko1mVmcxXZf9Ng6VHSjXAYtZ8vq5Hm2TGzUJ2I2p8qhn5W8jPDhh56Mz7bMeZrV+JKr hE5+beZ8Arj83dNLsMu2ffyUTYBEnN9LRaB4e1XcDcF9U8Cbtic5SBiNXCyc16Ifmd/L /TerW5IG61boPyp9dan1PRUOj4KVL3PJm3SPQRXTJjmyDHoA7rpFvu6wstL3AEsBwKzt OYAK1XXyBJpGAuz+sqp1nBhPr2OwUC9yt6KTdszBB7L0ugsdpiBxRjECF5aK2sCwx7SN XLCg== X-Forwarded-Encrypted: i=1; AFNElJ/6ZCeJHvDEKKYFARMbwgVkXl7Tz4IjMGe0ZbrNGzjRqe6WPX5MoPvNEieX4ziekCtxT3604D3umYC+aBQs@lists.postgresql.org X-Gm-Message-State: AOJu0YwPYhrIT8teljynmo5OnUfxChnDQktWzYhzBLBCcpHET43D+bnj A4PIAc1aKskRsLYPsF1EA3LiLENEkZDR20qj8vcBf+FWO+3ImXNQLU+wadE4Lk7EwwBWVx84QIv UUN9YXjzAxQjERIUtvcIA0RC7FI5La14= X-Gm-Gg: AfdE7clV2tLeCK+3vg4RKwAqUlvvOl88MDICzH3sKR9GqsKW6pJ/1KQVI/mlMnlS9mL +C4erSaSwCvRcFKE9kpJlqRB1Zf8DJGEQnmKpFC6pcisTQ8f6E5Pya9AIe4Vot1D8V1vRdjC05B gF1g4v+Qea9aWwp8hWuzlb0W4Mr6ri7LxDUyfv42qlP+H67B74Vost/7Ct1UDCJL34wG8ELj5Yc LsWupgWgDWmVwqkdPi9SFTJtktIp+einm/ZhkEZ9oX3m7z0hWYD1+mnOC51JCFlJ1B422xqnKJF saYivyai/1dWNFSFVyyawlEkSpJCfnwMQKh5rNS5q0HyCnxN2xXIfSFcnt9t7EFVW/ReEQHkIk4 FyWR+32w5/UPvfd0cKby23HZdzY7ETkA= X-Received: by 2002:a05:6a20:d52c:b0:398:9662:10ff with SMTP id adf61e73a8af0-3bd4ac04201mr2935660637.4.1782386832355; Thu, 25 Jun 2026 04:27:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Amit Kapila Date: Thu, 25 Jun 2026 16:57:00 +0530 X-Gm-Features: AVVi8CcCvxTlg_6fsSXMzrYQ-u6EMahbMK_KRcQaRQC0yYGS80IeofNIvdnQsi0 Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: vignesh C Cc: Dilip Kumar , Nisha Moond , shveta malik , Peter Smith , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000feca180655124549" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000feca180655124549 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jun 25, 2026 at 10:34=E2=80=AFAM vignesh C wr= ote: > > On Wed, 24 Jun 2026 at 19:27, Dilip Kumar wrote: > > > > 2) jsonb supports indexing, whereas json does not. Was json chosen > here because inserts are faster due to the lack of parsing and binary > conversion? > I think it is more because the local/remote tuples are usually data which we want users to see as it was in original tables, using jsonb can change the ordering of columns or remove some space etc. We can add a comment on the lines of: "preserve the exact tuple representation (column order, formatting) for the audit record; the value is natively json so this avoids a per-conflict conversion". Now, this is true for tuple data but I am not so sure if the same thing applies to the replica_identity column in CLT. Would users ever want to query using ORDER/GROUP BY on replica_identity or use DISTINCT on it, because if that is possible then the current schema would result into ERROR as follows: postgres=3D# select * from pg_conflict.pg_conflict_log_16394 order by replica_identity; ERROR: could not identify an ordering operator for type json This needs more thoughts from the perspective of how users would like to fetch the data. Few other comments: * errdetail("Conflict log tables are system-managed and only support cleanup via DELETE or TRUNCATE.") In the above message 'via' sounds a bit odd, can we instead use 'using' aka "Conflict log tables are system-managed and only support cleanup using DELETE or TRUNCATE." 2. @@ -2482,6 +2681,8 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel) deleteDependencyRecordsFor(SubscriptionRelationId, subid, false); deleteSharedDependencyRecordsFor(SubscriptionRelationId, subid, 0); + drop_sub_conflict_log_table(subid, subname, subconflictlogrelid); It would be better to drop the table before cleaning up the dependency record. Right now, it is okay even in current order because dependency removal is trying to remove where subid is depender. Apart from above, attached contains a cosmetic/comment improvement patch. --=20 With Regards, Amit Kapila. --000000000000feca180655124549 Content-Type: text/plain; charset="US-ASCII"; name="v56_amit_1.txt" Content-Disposition: attachment; filename="v56_amit_1.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqtf38vv0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMgYi9zcmMvYmFja2VuZC9j YXRhbG9nL2FjbGNoay5jCmluZGV4IGFlNThkZTQ1MmQ2Li42NmFjYTU4M2M4NSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9n L2FjbGNoay5jCkBAIC0zMzUxLDcgKzMzNTEsNyBAQCBwZ19jbGFzc19hY2xtYXNrX2V4dChPaWQg dGFibGVfb2lkLCBPaWQgcm9sZWlkLCBBY2xNb2RlIG1hc2ssCiAJCQkJbWFzayAmPSB+KEFDTF9J TlNFUlQgfCBBQ0xfVVBEQVRFIHwgQUNMX1VTQUdFKTsKIAkJCX0KIAkJCWVsc2UgaWYgKElzU3lz dGVtQ2xhc3ModGFibGVfb2lkLCBjbGFzc0Zvcm0pICYmCi0JCQkJY2xhc3NGb3JtLT5yZWxraW5k ICE9IFJFTEtJTkRfVklFVykKKwkJCQkJIGNsYXNzRm9ybS0+cmVsa2luZCAhPSBSRUxLSU5EX1ZJ RVcpCiAJCQl7CiAJCQkJLyoKIAkJCQkgKiBEZW55IGFueW9uZSBwZXJtaXNzaW9uIHRvIHVwZGF0 ZSBhIHN5c3RlbSBjYXRhbG9nIHVubGVzcwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9uYW1lc3BhY2UuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKaW5kZXggNDkz Yzk2OWIzYmUuLjU2Yjg3ZDg3OGU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL25h bWVzcGFjZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKQEAgLTM1MjMs OCArMzUyMyw5IEBAIExvb2t1cENyZWF0aW9uTmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5zcG5hbWUp CiAvKgogICogQ29tbW9uIGNoZWNrcyBvbiBzd2l0Y2hpbmcgbmFtZXNwYWNlcy4KICAqCi0gKiBX ZSBjb21wbGFpbiBpZiBlaXRoZXIgdGhlIG9sZCBvciBuZXcgbmFtZXNwYWNlcyBpcyBhIHRlbXBv cmFyeSBzY2hlbWEsCi0gKiB0ZW1wb3JhcnkgdG9hc3Qgc2NoZW1hLCB0aGUgVE9BU1Qgc2NoZW1h LCBvciB0aGUgY29uZmxpY3Qgc2NoZW1hLgorICogV2UgY29tcGxhaW4gaWYgZWl0aGVyIHRoZSBv bGQgb3IgbmV3IG5hbWVzcGFjZXMgaXMgYSB0ZW1wb3Jhcnkgc2NoZW1hCisgKiAob3IgdGVtcG9y YXJ5IHRvYXN0IHNjaGVtYSksIG9yIGlmIGVpdGhlciB0aGUgb2xkIG9yIG5ldyBuYW1lc3BhY2Vz IGlzIHRoZQorICogVE9BU1Qgc2NoZW1hLgogICovCiB2b2lkCiBDaGVja1NldE5hbWVzcGFjZShP aWQgb2xkTnNwT2lkLCBPaWQgbnNwT2lkKQo= --000000000000feca180655124549--