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 1wCWeG-0024Lu-2W for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 05:49:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wCWeE-00A03o-1c for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 05:49:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCWeE-00A03d-0j for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2026 05:49:19 +0000 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wCWeD-00000000vI0-0B6N for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2026 05:49:18 +0000 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2ad21f437eeso30342635ad.0 for ; Mon, 13 Apr 2026 22:49:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776145757; cv=none; d=google.com; s=arc-20240605; b=HyYLu1R06JWt21x3w+s0oLibyt5b1rH890iQyHw60xiPTewe8qB0qocO6Kauc0PMdn n7OxNk+b3gbZA7XdvSVRE9XlaxX4pFzUFGE7keXOlpzJCtvL9nSmomoo5IQ62fPgNcky 4vuLMHQKug6xGiz84zDFAGsdNL9JLotskzM9lJr2cHS/nJeQRdeWOHsgkJ0kUm/hLF6d iOEvr6u6pWq4qOripDYro0yrK8LtX1nouVaD1IkRzimlNOSM7Nhfc31UkLBK6NPxEu/8 kv68/IibYQR85pxVTZHR8E7T1Zqp4XtirE+d2d+9GTC0LsFZdguM9diEy+AghjERk6uA oGww== 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=DN7BN1hjx1kl85HPtwDaPEdpAQPBm5InhT5jwLER0io=; fh=iUpbQ71mA3Bc327/l1I/ofRMyN+DokXRSFsHriy6IR0=; b=j9xy6uCV1ddyDRcekbcxbjxpU+cRBvCR84e9H5U++INr59+QpHOtgkmaC3K1tKiEU3 9Tq/QvTRYZ+bFugWBWmmPCwQigsSsnAsIxKexlXm10cWI/HHtvF7YMEukk80kW6ymig2 SltcloWXSR3byuQBPRF+YoPRg6hDVatOMhHdUBQgDHchEfZ7rIk7NbyOoaF9jAPmK8Lz 0r800DQCoR0zq4fzTNBSvMgr9VeGE4Ack8wAykj9fkDsvVi5QvYokVxvRKJDQj6c8ess ZDHMcW6raz67/OLiMDA7Ba4RJjJbQRSr2hY0pQZSPqNVVQg/n9BADVbA1YurVMzvRmfM hvyg==; 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=1776145757; x=1776750557; 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=DN7BN1hjx1kl85HPtwDaPEdpAQPBm5InhT5jwLER0io=; b=LzSb0NOzIWRXgz0qK70+jhlQkrqAhPTGl5FdRqaZlH3jjR9lLBjkASjAvczHqizzql rG1MDaeGEzXkzW3jid+kujN2OgAdreeJuc3nTjm+n+CubpFtJRiENtPUqifeOuGW3Y/K YQSEtU6iG53O+wnqsyIyXokYNmwSGBlxssIHDPEMytyuPaFvL1S9iwb3jkCpoJYf5RI6 aA06PT2gEkTIPuqvcQCqzZi7Laywn7yegKZ9E+ix80wr/KtpVhNW5rEhXOmW1Z1Wi2mt +32aczHdaG55Z1tPKFfevWa+/16EP9Y6Yk0niM7ZGF9fy8aILtcYp+pi0YD8vXX4yG7+ pUyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776145757; x=1776750557; 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=DN7BN1hjx1kl85HPtwDaPEdpAQPBm5InhT5jwLER0io=; b=RLKN1y/VyQyzX3LCU10vXdoqWQgvJlt9yDoKO8v/zvRscKa9j9XXy4luui/g/ndTNS Hg6kRyzqiEuAbTsAo6LjiMpjeOWYHVtUQKW1waTD8dYfahv62IRSDn0sV2Ph/sELX/+G 0aDi8PKi1IccT6k1/Y8G/4g0ZZmH3Vb+HzRssObVz0py4iQxls4Ue7hiyTu6xXVAfoAG bKbmAdQLxKCupcT8ReRWYCXdTTdh1qW5qtTYHmHIDa9GG91TQijQpDcM3rqkEiAf9Oyh Ixx6XM7gu5fNcQ1R4OsqoqIFoeCbKvhhNIOcmxVWyFkAbCo3phGTLN2sxWE0MyNED/He 1/cA== X-Forwarded-Encrypted: i=1; AFNElJ8I2FRZ16UM92RaakKcBbZdnYTNuUpDEWyqBr4MUUb/iulYzwVyWfmqs1udFAMYi1VimNYGQzuKwUom0QM2@lists.postgresql.org X-Gm-Message-State: AOJu0YytDoBRpC4m1CL81mYhVOjCvJTWhs/e+YdDxAICtAWccZrYHpiO i3ZdHZFF/T+1vIRauR9IgkIZh7RJjqr7cpsln+neRkGjvPViVGzSfpcBzZPatAWeVRFRmXLk5bn A11o/Fciia44oWSSCYpAvbdqsyktEZ0k= X-Gm-Gg: AeBDietGuHCrVpS5I9Q0I9X0Ka9wRlmteykR7MJfWhc+i9jfJsy/kD/HfMxXo4wfGrX b/0f1FkzjKTQxGqJBeMsvztRPnBgWrWtlUtoxANBAoIxDifHcDMptF3ahrbvNiJX38xyhsjJSQt ncqDdpw9WkDRfcEI563T0nqDo8aONdhxD/+0WEz/GvNivZYkOUfAQhDzCWzxAwQ1ryOsfbY2Wh0 rF78GbPf6r3pHBINjbpbPiQg5f/nzv+pspj3PPnExf1NiAVP4au77t3VIZGSZl+7IvSlkB/n2T4 MVsX3pWjJNC4l8M2slbWZX/HRTW+oyAcFVlbhNQ5MgSJmmCZwVMe9A== X-Received: by 2002:a17:903:4b50:b0:2b4:622d:1514 with SMTP id d9443c01a7336-2b4622d190bmr48777035ad.19.1776145756550; Mon, 13 Apr 2026 22:49:16 -0700 (PDT) MIME-Version: 1.0 References: <5ABD7727-CD22-4112-A186-0E788EE78109@gmail.com> <23A24BFF-18A7-4FE9-AAFA-13E1AA207DD0@gmail.com> <19dac243-1f46-4720-bdec-bf0f851d03b9@app.fastmail.com> <875BBCC0-CF08-4136-8E9E-F03DF75C3A11@gmail.com> <6BD39478-8F32-48BD-9595-678E5B4BEE8C@gmail.com> In-Reply-To: From: shveta malik Date: Tue, 14 Apr 2026 11:19:05 +0530 X-Gm-Features: AQROBzDdnu7E19zPsRvCjPViZV6wgeVv2Sk-KDU17RpTu1QG3w_cui5g9BWHy9Y Message-ID: Subject: Re: Improve logical replication usability when tables lack primary keys To: Chao Li Cc: Euler Taveira , GRANT ZHOU , "houzj.fnst@fujitsu.com" , Amit Kapila , Dilip Kumar , Postgres hackers , shveta malik Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On thinking more about the initial design with a GUC-based approach, I believe we already have a similar precedent where both a GUC and a table/column-level property coexist. For example, the default_toast_compression GUC allows setting a default compression method globally, while users can still override it at the column level during CREATE TABLE or ALTER TABLE. A similar approach could work in our case as well. Regarding the publication-level property, apart from the potential data-integrity issues discussed earlier, I also have another concern. If we introduce a publication-level fallback, we would effectively be deciding what gets logged in WAL for a particular table (i.e., whether to log REPLICA IDENTITY FULL) based on a publication parameter. This does not seem quite right to me. Shouldn't WAL logging typically be independent of publication configuration? Or do we already have a case where WAL logging behavior depends on publication-level properties? Thanks, Shveta