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.94.2) (envelope-from ) id 1tUnyQ-002skx-LO for pgsql-general@arkaria.postgresql.org; Mon, 06 Jan 2025 14:20:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tUnyQ-009BZ0-5d for pgsql-general@arkaria.postgresql.org; Mon, 06 Jan 2025 14:20:53 +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.94.2) (envelope-from ) id 1tUnxa-0099UG-R3 for pgsql-general@lists.postgresql.org; Mon, 06 Jan 2025 14:20:02 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tUnxX-000Ax5-1d for pgsql-general@lists.postgresql.org; Mon, 06 Jan 2025 14:20:02 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5d3e8f64d5dso26044673a12.3 for ; Mon, 06 Jan 2025 06:20:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736173198; x=1736777998; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Rlx2Dk9a98p/yV5AVnRiF97YsDSWndn1lrI4yytDOfs=; b=EikyI52+X6xSyf2qygdNSDxb2MkcAPSBZSHblkWBYu5yoKWYwr+QQlCdVK36E890yt HZEktM3RcRc7zdgSsdVjTjXk22SEP+51hQdVI4FQJ9ZyPdjHhYGALAn0lilOoVWUkpqk 4jUqLXC/HCBoA+EChl6N+8GLD9HQllQChYIaNcebCKfEtdGPWHh6D1BXAEANpQ6Y9I4d GR2mtCAKBE1lYhGoC5Gfni+LpJNbm2oOxNIdOeZ3SkDt9GuX7+n+KABXyskTkIek4w8b 4AuQOB8PkW7uVvoasSPw4U57akqQENAKZxvxU06s7wrufGpOwvoINGTOeek27vT72vUJ ZH1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736173198; x=1736777998; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Rlx2Dk9a98p/yV5AVnRiF97YsDSWndn1lrI4yytDOfs=; b=H4kG+wFu+OgYmfTz+GglR45wHlrbl9hCQmvoajDoE6X7FkivIMZ6l7HRasilqtbJvb UK/78D6ER40ccpLEtdNIa1sZMOJD97c3g6Sum3WdP88m6u6LBBvIm1DAP1uDuC2FpWru IsAXrU58YhNtSPrZSh9zBPNqgYWE0Jxn5jZ+ESdfJnFm0ybGZJQn6vwQvSOn3fK2N4Hq Kl/VF9w4l2izl2iCahzEyLOPK0JhKQlryg2jk+fSRvMWs/+Wqf5G/fZ9Bovg8sB41rtq u16O2AO2ZB7Gu2CuVU8dhgw9H6CqHTzoGtLigCuqxFo1xplSV8D4GaOHYyxXcCcCKPST tnLg== X-Gm-Message-State: AOJu0Yww5imZSSiPF5wFE6hfm1DQ2EcIcrdoGUP7esM0Hq3byT/kHCBo fIYRciorIW0zYa/R2mLMTVhooZbwmMXTXFlDaiAaAt2UFFW6RHbkWzIiuUAj22DiQzBBsvSQFNN m1Dy4ZGfahZncmRLiRJvcshfKHqL90ugxbEY= X-Gm-Gg: ASbGncu6IrTlhn2ffYMCKTgoy0l4rHHP7Vy7uMNM8Ov6k287dkVsX/pCkfcMrlYwqYE fGMf61hbhhJ+9GC2pGnlb2Ld+E4FuOHPaZnlA3F4= X-Google-Smtp-Source: AGHT+IGK4LXNqjfMGQzgSbVY0JjVdZxRIJYMPjggjwC0rSbkOANSomsNqopeacR2oTn2jpeH44P59msddwX8k2sseGk= X-Received: by 2002:a05:6402:34c2:b0:5d1:1f2:1143 with SMTP id 4fb4d7f45d1cf-5d81ddfe32bmr60856156a12.18.1736173197923; Mon, 06 Jan 2025 06:19:57 -0800 (PST) MIME-Version: 1.0 From: Kiran K V Date: Mon, 6 Jan 2025 19:49:47 +0530 Message-ID: Subject: Query related to Logical Replication using test_decoding and unchanged-toast-datum To: pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000bb2e73062b0a5280" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000bb2e73062b0a5280 Content-Type: text/plain; charset="UTF-8" Hi, I am currently using PostgreSQL version 16 and the test_decoding plugin to perform logical replication (using replication slots). I have a simple table with integer column and JSON column. When a non-JSON column is updated, the value "unchanged-toast-datum" for the JSON column is obtained. This shows that the value recorded in a TOAST table for a JSON column value has not changed and is as expected. could you please tell me whether PostgreSQL will truly log these values to WAL or not ? If not, what will be entered into WAL for the JSON column if it remains unchanged? Please let me know. Thank you very much. Regards, Kiran --000000000000bb2e73062b0a5280 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I am currently using Pos= tgreSQL version 16 and the test_decoding plugin to perform=20 logical replication (using replication slots). I have a simple table with i= nteger column and JSON column. When a non-JSON column is updated, the value= "unchanged-toast-datum" for the JSON column is obtained. This sh= ows that the value recorded in a TOAST table for a JSON column value has no= t changed and is as expected. could you please tell me whether PostgreSQL w= ill truly log these values to WAL or not ? If not, what will be entered int= o WAL for the JSON column if it remains unchanged?

Please let me know. Thank you very much.

Rega= rds,
Kiran
--000000000000bb2e73062b0a5280--