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 1wHUUT-007E93-0n for pgsql-bugs@arkaria.postgresql.org; Mon, 27 Apr 2026 22:31:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wHUUR-00FBvM-0g for pgsql-bugs@arkaria.postgresql.org; Mon, 27 Apr 2026 22:31:43 +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 1wHUUQ-00FBvA-2U for pgsql-bugs@lists.postgresql.org; Mon, 27 Apr 2026 22:31:42 +0000 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wHUUO-000000035vx-0xxm for pgsql-bugs@lists.postgresql.org; Mon, 27 Apr 2026 22:31:41 +0000 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-67e0d3f288aso6599629eaf.0 for ; Mon, 27 Apr 2026 15:31:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777329100; cv=none; d=google.com; s=arc-20240605; b=CYwQ+Vacuxla+MQOc3rcapR2BgPkWBchFB0ceN6c5lj2pHiGMt97BXfFEGUA0XiT4s a954WiHTSg9KHgFYB1RQGGQ/rUjDxKDPmfHXEkbzJ/j7TNDJNrx5bLy50o0ZNL5YJrQj vJHo6OD7LorKAmcRkkgVoERNlN17jHu3TAuzyPiS5ID3P8jPrzEMH76a7VstzeO8ELzv H5GOxeCT6FqXP45oO/Io+maO8dKRiI85xJREkJWCRg9PDJg/+ARsFJPDEfTKF6OxGlda iJeffls3A+1NAfQMbb+MVVCjIdWgcDbKXoePUMGh473QRNrKib1V9qUP4zrBTYiS7OlI nTxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=IxTfATe5Jbl538CVNvEUqghsmckEXxrsgtjvIvj0gdU=; fh=ICGTs1h2nphOW127QxbmEHMQQFR8L1JHnk6qMjwZnyU=; b=bGqF1SoknmqnwGJ/GHRathDavtIbEgDJuNscc+Kz+Al0L61Q62iC1e37NahEqn7cuc iAelJPbS2XocVdi7NDwiWuzCiUbpGi5sZAaUfv2Y3NAPAhTo5h0W2l4t7+b/DfFxAo4q NtYxTjtXlLU4OmVwNcYvbvJHcFJu+g1jErG9WrM7Mydm+B9WQL7wkSxBvNHAzemcmqbB 01V6N6oAO+MhHuGOc4Lz1nBk7vyqXPlXWM5nYxNVSm5fxJuRToxCB1WRzxx7nk49UOzy CUiN4bpP1NhfgCoHxBXRA8U5oqwSsDjh/Yje+kXkLVS0XeMq63bh8ZrSCyrhPWG3KA4I d1Pw==; 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=1777329100; x=1777933900; darn=lists.postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=IxTfATe5Jbl538CVNvEUqghsmckEXxrsgtjvIvj0gdU=; b=YMP78LjxnsxjZ0K7ZJpggy75OAC+4YWnTmQDUtpTBbOm/71TiDtUTTQ0p8i/zD1v8V zuEbn23XMFqLP4C/rinDkna9HEkbiyzZns0kOFfLXFpP/BaFbA+6+JRXP5THPX4rnDJT /rSncbsOuMjqtp3eWaKQ7xM8w+Iy6pJJ8z6S2KbfJ2bgHkK/swP/A0a7OzutK0Atr5QU zCRzKkExH3p+E9MXpFKXrzws4ZgS0Q7S7tP45RHK6/tmy8vv7iRz701XRj2gVVURxQJf 6Eg1yz5MvzspcSU0o40p2HQ30KIU425NUvVjU4FYghfpq/KoUhfv5mZkTAx+0tTXmU2X 0U8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777329100; x=1777933900; h=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=IxTfATe5Jbl538CVNvEUqghsmckEXxrsgtjvIvj0gdU=; b=FCoUesNZFpsskii5KWRcVpUv9eHEGMkokY5WiDGX7w4Fa9IvPddBwN7E+zRAGmu4ZW JCoiNHkVp1s65qczTiwr1y3WYTXjbnwhKTzFFnrR3QRuPkuOkinpYWvhOGIaKoSv7+SP BIvHZVNBNzPxXPVhA5fxChF7yoPXJ2F0PlH0ivMWfL+xO4LcWcpLQ05u33O2aKa+0nEi zRyPMazmSP9UrR+Af5mQUYK1jVGnV28rd4r0PGtKiEhrNyBRIHlSxBfbMNnxV/q0m/Hk HeBs8uavu1e6OQ1UlvPmjFyaGSeOtASA7MO1gdOvQBm3bxk0OoVwPdZrT6X+6TDugqIl aMqg== X-Forwarded-Encrypted: i=1; AFNElJ9nPHtuMfsW+F7SgxmMVwzsuR6CQoJ2yGIGIW2c+Aq27fjyTG3lO6rMc7fMdBTLRzXHm5B59Vgd3pez@lists.postgresql.org X-Gm-Message-State: AOJu0YxJCvGZwt9hod+pxdRP9lTcGBeLpGgP4c22o64DX0ljhVFer2gJ +aRCcGPf+wD7cwxkQECjhTGGM5Yj0gd8O2F+llivl15/fRVVQMx+yj2XBwdBmkx4UPI0wQkqPzz wYCkwRqNqsBK/sZj8w5VJTww+yb0QfSjaAGmJ X-Gm-Gg: AeBDievaS9QcTkeGar3Jkd4tMpyZzWH5Mvn8UqFdYftGkH05Q6lwji9yDhsrCGLFxfE kcWmPZtkKfcGmslhcXS2iSK+nP5gfstXxMCQo9lqKmSguydnl/09tDe8D/gaxC6aeGbi3NQMkRG T5Q2GsjhiTXakcJwUCd2Ih3aMgVtrLnUwJL04SZMN0vUouYjXkLEuhZdEWf1Wj1Rp+kN+VmXb1H OMu3a3v8hd8K6y8l5Upe6Gq5TESjaLjaqA86LZG9hNUV9YAWgYVbmWmAjGGkKcYF/V0pYYYl1bt EZoZ8SEY6aqXzE6ZkOG8KOOD9kII3g== X-Received: by 2002:a4a:ec46:0:b0:696:178e:298b with SMTP id 006d021491bc7-6965ca4c4fdmr300514eaf.4.1777329099848; Mon, 27 Apr 2026 15:31:39 -0700 (PDT) MIME-Version: 1.0 References: <19463-f59d5d2a41969756@postgresql.org> In-Reply-To: <19463-f59d5d2a41969756@postgresql.org> From: surya poondla Date: Mon, 27 Apr 2026 15:31:27 -0700 X-Gm-Features: AVHnY4JQm9IYcMxHQyKuDzZGwit6gK8qRJN1u-bfPd1nj0Ts1r2iyWIBNyXs2nQ Message-ID: Subject: Re: BUG #19463: Server crash (Assertion failure) when using MERGE statement in CTE To: 303677365@qq.com, pgsql-bugs@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000a53e8d065078ad81" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a53e8d065078ad81 Content-Type: text/plain; charset="UTF-8" Hi Chunling, Thank you for reporting the issue. I tried to reproduce the issue on postgres19 and I don't see any crash. psql (19devel) Type "help" for help. postgres=# postgres=# postgres=# postgres=# CREATE TABLE target (col_int INT, col_varchar VARCHAR(2000)); CREATE TABLE postgres=# CREATE TABLE source (col_int INT, col_varchar VARCHAR(2000)); CREATE TABLE postgres=# INSERT INTO source VALUES (1, 'test'); INSERT 0 1 postgres=# postgres=# postgres=# WITH merge_cte AS ( postgres(# MERGE INTO target t postgres(# USING source s ON t.col_int = s.col_int postgres(# WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) VALUES WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) VALUES (s.col_int, postgres(# s.col_varchar) postgres(# ) postgres-# SELECT col_int FROM merge_cte; ERROR: WITH query "merge_cte" does not have a RETURNING clause LINE 7: SELECT col_int FROM merge_cte; ^ postgres=# WITH merge_cte AS ( postgres(# MERGE INTO target t postgres(# USING source s ON t.col_int = s.col_int postgres(# WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) VALUES (s.col_int, s.col_varchar) RETURNING t.col_int postgres(# ) postgres-# SELECT col_int FROM merge_cte; col_int --------- 1 (1 row) I tried to reproduce the issue on postgres15 too, but i see ERROR: MERGE not supported in WITH query. Regards, Surya Poondla --000000000000a53e8d065078ad81 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Chunling,

Thank you for reporti= ng the issue.

I tried to reproduce the issue on postgres19 and I don= 't see any crash.

psql (19devel)
Type "help" for he= lp.

postgres=3D#
postgres=3D#
postgres=3D#
postgres=3D# = CREATE TABLE target (col_int INT, col_varchar VARCHAR(2000));
CREATE TAB= LE
postgres=3D# CREATE TABLE source (col_int INT, col_varchar VARCHAR(20= 00));
CREATE TABLE
postgres=3D# INSERT INTO source VALUES (1, 'te= st');
INSERT 0 1
postgres=3D#
postgres=3D#
postgres=3D# W= ITH merge_cte AS (
postgres(# =C2=A0 =C2=A0 MERGE INTO target t
postg= res(# =C2=A0 =C2=A0 USING source s ON t.col_int =3D s.col_int
postgres(#= =C2=A0 =C2=A0 WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) VALUES = =C2=A0 =C2=A0WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) VALUES (s.= col_int,
postgres(# s.col_varchar)
postgres(# )
postgres-# SELECT = col_int FROM merge_cte;
ERROR: =C2=A0WITH query "merge_cte" do= es not have a RETURNING clause
LINE 7: SELECT col_int FROM merge_cte;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 ^
postgres=3D# WITH merge_cte AS (
postgres(= # MERGE INTO target t
postgres(# USING source s ON t.col_int =3D s.col_i= nt=C2=A0
postgres(# WHEN NOT MATCHED THEN INSERT (col_int, col_varchar) = VALUES (s.col_int, s.col_varchar) RETURNING t.col_int
postgres(# )
po= stgres-# SELECT col_int FROM merge_cte;
=C2=A0col_int
---------
= =C2=A0 =C2=A0 =C2=A0 =C2=A01
(1 row)

I tried to reproduce the iss= ue on postgres15 too, but i see=C2=A0ERROR: =C2=A0MERGE not supported in WI= TH query.


Regards,
Surya Poondla
--000000000000a53e8d065078ad81--