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 1vImP2-00E7Qk-2N for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Nov 2025 11:19:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vImP0-005f9l-0H for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Nov 2025 11:19:10 +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 1vImOz-005f9d-2b for pgsql-hackers@lists.postgresql.org; Tue, 11 Nov 2025 11:19:09 +0000 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vImOy-006XNb-1F for pgsql-hackers@lists.postgresql.org; Tue, 11 Nov 2025 11:19:08 +0000 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-3761e5287c9so36323031fa.2 for ; Tue, 11 Nov 2025 03:19:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762859947; x=1763464747; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=IKhqn1VEzdajH7ZLfjD1LC9AIERawSzOoqwGAaGkThM=; b=CfjzfLEZ42obSNoEL/+GJybLqfYZUYL8akYivKDwGh3baMipMLuHBfrOqGoemAL0Hv /SXZ/KvIQJwcrG8u/Ov4xPIPZKUQty5dG48yMOiuhp4+RldR/I26TV6GXapjCBgjtePi YUscpA7T3mD3pVvlgiUdRGCoRxvkK83uked/Wc2LSeAWv9eUYLTBEf2FGzu8kuz85cOC vGz08q5wz9hvlZisSXzWMwx+BgcIsdOLjvVzcpy0daTzS5wsQ4prQp7/mZBnu8vcIwz6 CANm0q08+Vz9YkZlE9ZY6H88O1+YTNZfXxjR5zMygxS3MHYTtXinHroVQWk7lNQwxc/U pDIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762859947; x=1763464747; h=content-transfer-encoding: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=IKhqn1VEzdajH7ZLfjD1LC9AIERawSzOoqwGAaGkThM=; b=rgI6jJ7DDLO3szhtqq9GhbLOWuI1AbDqJ+c3wfEpLbT6ZsVU6b1W4M3TQwnLcEwLrI 2NAPMLAKqgnYDOHMGetDk7Zb1POXwIdAeHYvDF+piYuzDCqFkOKfCndXz5Ope8muY3d8 8j1iXch4xJWaucZp1T5ZRj6eoo13n1lF645LiVvbYSDvKEvdOok0oF9E3lgT4DiDWUFF ZhoayYdZB4sZkqHsCW68vnlDrm8Fe5fkAONLQ/44lU/vo3PwxUlQ5uED1BFO4/DGYFjr GrQjoX0V5B2WBt+XaoeBLklb9PWhQFi0gjeTdVQvQd1zQVqAqYJoKHKNBkvUHl1eNwnP tUhA== X-Gm-Message-State: AOJu0Yxfc/CZj8vmxCzNbihBx7S4u5ljZoAsUodoPXBPQpWWrFvsLWb/ mr89M4Z2nUAmW0I2vxdicYQR0d4hqwJcTo0r2xxrXnhU1ZUfAkMGuwbSNwhrbi4CIXZd82Zjtzz NXk5YrC8y6n/ixkebnFBFZ5rnMyc7gxIHy1WH X-Gm-Gg: ASbGncvBylMdMtsAE10aKsRREoYnVysTLZRhNaZ75+y+HJmth56B2hz68DkWWe/sJuS 203fCO1rEVCL5ixJHZoUHZJir6ZRLkzgSqO40dqoZ38xRAfE6ckrNNX60mUSTx8dE/Z9Jn5eetQ mK50zsBuMiGW4vPmIt3tFjID9DWgHSfD6W7ptM4X48UzgJen7TviAXVb6h4R8y0J3Ye/RCx2EgF TfxzxCBtHFIO9ZQU+9kfTPw6LX4ibqrEs4MZ425+Mxs1QqHG9nrSUk2AH2Yg6WyTlrcQeAKXy6t ExCYDuA/19yeB/Y/A5P3GXEajZW6pA== X-Google-Smtp-Source: AGHT+IHvt/CAORuHGST+EgYaXDuMGkzykAZIdw90kbafR0JzvagYlu7amzgbtKUAEcxqMjvIQNupbp5cJBWTjhnlCDs= X-Received: by 2002:a2e:9699:0:b0:37a:4c29:3aa8 with SMTP id 38308e7fff4ca-37a7b3437d0mr25348151fa.49.1762859946572; Tue, 11 Nov 2025 03:19:06 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Amit Kapila Date: Tue, 11 Nov 2025 16:48:54 +0530 X-Gm-Features: AWmQ_bm_5fYr2vL1SByr5fpOIhn3p00FV1Ai9jO-Oa_rmXiyxFMEUb9CRJi85Sw Message-ID: Subject: Re: Improve logical replication usability when tables lack primary keys To: Chao Li Cc: Postgres hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Nov 10, 2025 at 1:36=E2=80=AFPM Chao Li wr= ote: > > * BACKGROUND > > This requirement comes from several users operating large deployments, pa= rticularly in HIS (Hospital Information Systems). The situation can be summ= arized as follows: > > - A central DB operations team maintains the main database and configures= logical replication for all tables. > - Multiple third-party application vendors are allowed to create new tabl= es in that database. > - Some of these newly created tables lack a primary key. Since logical re= plication with `REPLICATION IDENTITY DEFAULT` requires a primary key, such = tables silently fail to replicate. > - The DB operations team must then spend significant effort identifying t= he affected tables and correcting them manually. > Can you share an example of how we silently fail to replicate? Won't in such cases UPDATE/DELETE will anyway raise an ERROR? --=20 With Regards, Amit Kapila.