Re: BUG #18944: Assertion Failure in psql with idle_session_timeout Set

From: Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Никита Калинин <n(dot)kalinin(at)postgrespro(dot)ru>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18944: Assertion Failure in psql with idle_session_timeout Set
Date: 2025-06-12 07:38:41
Message-ID: CAO6_XqofwsnjeRUQj-T2YyB8q0XsYWMQO-NEsC2xKfPxTyE8_Q@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Jun 12, 2025 at 12:35 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> So my point would be to take a drastic decision in
> ExecQueryAndProcessResults() if we detect a PGRES_COPY_BOTH,
> PGRES_COPY_OUT or PGRES_COPY_IN while in a pipeline, and just give up.
> It does not prevent the feature to work for other queries, and we
> still have test coverage for queries that cannot run in transaction
> blocks like REINDEX CONCURRENTLY, etc. It just means that we cannot
> enter in a COPY state while in a pipeline.

Agreed, I've also contemplated this option given the amount of edge
cases there are along with the limited usefulness of doing COPY within
a pipeline. In a sense, this worked as a way to show the missing bits
of libpq's pipeline support with COPY.

The attached patch now aborts the connection anytime we enter COPY
state while within a pipeline and removes all pipeline+COPY from the
SQL tests.

Attachment Content-Type Size
v01-0001-Forbid-usage-of-COPY-in-a-pipeline.patch application/octet-stream 11.7 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2025-06-12 08:03:25 BUG #18956: Observing an issue in regexp_count()
Previous Message John Naylor 2025-06-12 06:57:01 Re: Invalid control file checksum with AVX-512 during initdb on a clang19 -O0 build