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 1wSjPj-0003ZV-07 for pgsql-hackers@arkaria.postgresql.org; Thu, 28 May 2026 22:41:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wSjPh-000ka4-1y for pgsql-hackers@arkaria.postgresql.org; Thu, 28 May 2026 22:41:17 +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 1wSjPh-000kZw-0w for pgsql-hackers@lists.postgresql.org; Thu, 28 May 2026 22:41:17 +0000 Received: from mail-yw1-x1129.google.com ([2607:f8b0:4864:20::1129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wSjPe-000000002Zd-3u0X for pgsql-hackers@lists.postgresql.org; Thu, 28 May 2026 22:41:17 +0000 Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-7dc93d02916so12240247b3.3 for ; Thu, 28 May 2026 15:41:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780008073; cv=none; d=google.com; s=arc-20240605; b=S3O+ZTxXBedFyIs5D782Ns5SXJEr0QEMWSltOs2mY40S0O2Muc96CwDPQT2B5U1iMu 353MeIGNPaYRtrzA8rmeQUg/XEibtzWePODpiYCNT4B/BoFLo9c4gqpzGX8pLtyaS18s eY23trqpoyN0MDf+eezgwmLEhtmwItMs9Cp5ptm05q1cS/aAzZjo8EJcDvzJznneWMqb k8KXfmsiYGvJoDZwihmZbAcp4IaPau3o4TS3zS0KROmfKjXmZ8wm/ZktzgkpWHGmjfJp epcyRTKTtEkjcvmf6lxZNNG+7CVfFix3cLIYaqorZFesBQrNuJtb7VzVLLy6zCu/2/YF HPSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :dkim-signature; bh=K3hAIec0v6EL0tsx3YmTw+0E7dHR+ZYkK9xsDwitFeg=; fh=nwNxTtLLPTU0ewfLM7SSbrjMajMl+wwnFkCY/fi90vE=; b=KSuXIYAqmBMwVW/f/MD7QAEIXNAeb12kmKb/sTRXA/DUDyPNHAfi9xVcQzc9DzJ1Cq USQ+MJx1DOaPUa1DCTuAucu3m3ErPO9rFuK/Ulva+zPbtHoL8+rGdBG0F0eLiPgexOwn QCt/3RCJpTfxmmBPUhStdlh0Xi12oXeDOglcSK7Sbid/Vjr11ZpufgrEMRlNcvR5fnag CEKu6f14xJBbBXIxVnmoWgyhmyqSxpfeBMlGriqm2LY4a4M7wCoQboxvOTsZ8qbE/ho5 mo5gHqutomDgWvW20oLfKzHgEwx3inY26WnAUp3HfVcpdWIuuApYiFBqL3gPRtSDXThY TqTA==; 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=percona.com; s=google; t=1780008073; x=1780612873; darn=lists.postgresql.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=K3hAIec0v6EL0tsx3YmTw+0E7dHR+ZYkK9xsDwitFeg=; b=SGRyJecMavchDC1TZrfIcFTrJdKpJqz43NHTwas4u8qUC5vFjJbacUiMHqqKv7ZqFD jcZ0F+1zAn5YLFWzlguhmwtLpPjfSziDtZhUVgJsrK5kvBZTTiLcuFRN/8nhweJs5CW1 KMeOmg4TZGW3Ee8TOK8nlsEKz9eiT65IuLpEI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780008073; x=1780612873; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=K3hAIec0v6EL0tsx3YmTw+0E7dHR+ZYkK9xsDwitFeg=; b=DkuGytxM8IeOI8yUo/IGfH6r+R0Frb0xT9CWhYnhVwrnzw5/Hw1dtQJBwyQ2OHOAr+ 5tiFqcK8VRFS9vgprfDulmnF76i+w7qQTA8MH8zqs/PMZxmh+sG69f4K3We+w0nzPw8Y 59QVTsLMFb5xSz/dPHNjnQWK46rdOWKMHKIlrmESeaBURpAskDTpvbpWXFQoYFGh/QEj YSd/RV9YnTgq+xKaHtJEvRoeIBeUZEJAD4fq6gFJXxesIlnT9YcH1qEjLPJXtBAKmrgk f3z+oaSx5AJEvqXWfKro/4c5EwDoMWnZz0j2GjCxHkTbyQEpgS/pJ7WeirTJpJGDmScW y2qg== X-Gm-Message-State: AOJu0Yyp2BJFTzrlOmUYZFjG0ZgJJTeNJJDzDDGreh5hleHWWphNYhDV cDge9KY15r7oL1A2dBlq+wKc+Xfef2ePziUs3YcURg2954aMaH98Cke5CbunwZ401FKn3bjW10j pA3OoQR/OmnMf93Kfn8wDYbYNTFWmLs7gPBtLPDZeTaUk0ZAm+bB2G1Q44OOQ5XeePpQb1rbwHi DidX2Z+SFavDchLl1AAj/Gkzp7Vv2nOfuTE+m3Bhd5mx+SFBKjyKuJM0cZ80oV3niMeQD1GXfvi aEgCkWOhP1wS+78V0gb7L3SEILMflSuqnFmD6q0ClGEiI98K7iUJ75L9nydQLwT0Rwl5Loxkjz9 IA== X-Gm-Gg: Acq92OEM3Qqcdn6MsLUvUzHwjitGtoMNR3fogx+EZ26V9Su69a7CzX+xnztsCsa0o06 A+F1VMSWMNjQHIZ/+Lx6AGtyoUy4HYr85J1lQuXVgGF+OKx9g3BYfjQsDbtYuvf18VoRt40BWLD 9HuI7fNhzgeRmCtU9Y0CdM3QuU1gDk5n+9bfS1+tFHBU12jOOnzss9VL+hNOP3HWixp0phNriub COwOy2JrkWqV0vZhxp9B89uxTEqq4yKrg9iKnYckfZ+8Xuvhni64pnhr+y7sjuaNqaergOVqlVA PihygL000Rg3XwwGXLss0LroSXCezLXae/A+OBqw9VZPFtyuapZnk5oR+xR2QR2B/gWjAb7RUK+ gyQwD11yEAn9few== X-Received: by 2002:a05:690c:e3ea:b0:7a0:4146:6eda with SMTP id 00721157ae682-7de47950d09mr2115697b3.20.1780008072765; Thu, 28 May 2026 15:41:12 -0700 (PDT) Received: from 298783833264 named unknown by gmailapi.google.com with HTTPREST; Thu, 28 May 2026 15:41:11 -0700 Received: from 298783833264 named unknown by gmailapi.google.com with HTTPREST; Thu, 28 May 2026 15:41:11 -0700 From: Zsolt Parragi In-Reply-To: References: MIME-Version: 1.0 Date: Thu, 28 May 2026 15:41:11 -0700 X-Gm-Features: AVHnY4Ka170Y5vFr5PNSrJtEGsz2-_zNBCXyKoHGVSKhEgMlEO8SCe8oEB_9dL0 Message-ID: Subject: Re: on_error table, saving error info to a table To: pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Generally looks good to me, I only found a few typos: + errmsg("saving error information to table \"%s\" row due to data type incompatibility at line %" PRIu64 " for column \"%s\": \"%s\"", Is row needed there? + * TODO: Allow cstate->error_rel to be a partitioned table. This should be + * not difficult, but requires proper handling of constraints and triggers should not be difficult + privileges on it. During the error records inseration, + NOT NULL and CHECK constraints are enforced, + and both row-level and statement-level triggers will be fired. record's insertion Maybe this could explicitly mention that failure to insert into the error table will fail the copy statement? Or some better wording of that, as it is allowed behavior with triggers.