BUG #18394: LISTEN error: could not access status of transaction

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: zeppieri(at)gmail(dot)com
Subject: BUG #18394: LISTEN error: could not access status of transaction
Date: 2024-03-14 22:00:05
Message-ID: 18394-e7459245148578b2@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 18394
Logged by: Jon Zeppieri
Email address: zeppieri(at)gmail(dot)com
PostgreSQL version: 16.2
Operating system: linux (debian bullseye)
Description:

This has come up before, but it seems this bug is still around. Somehow, a
NOTIFY queue refers to an xid that's been pruned. See, for example:
-
https://www.postgresql.org/message-id/flat/VE1PR03MB531295B1BDCFE422441B15FD92499%40VE1PR03MB5312.eurprd03.prod.outlook.com#7e36d1fdca921b5292e92c7017984ffa]
- https://github.com/PostgREST/postgrest/issues/3147

The result is that this happens:

db=# listen foo;
ERROR: could not access status of transaction 2716782599
DETAIL: Could not open file "pg_xact/0A1E": No such file or
directory.

The only thing I have to add to what's been reported before is that the
LISTENing connection -- the only one I know of, at any rate -- isn't
participating in any long transactions. It issues the LISTEN statement and
then just waits, indefinitely, for notifications outside of any transaction.
But maybe there was a different different LISTENing session that I wasn't
aware of. Is there a way to query for pids that are listening to
notification channels?

- Jon

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2024-03-15 02:36:10 Re: BUG #18387: Erroneous permission checks and/or misleading error messages with refresh materialized view
Previous Message Tom Lane 2024-03-14 21:49:30 Re: BUG #18392: Can't restore database (using pg_restore) after latest Feb 8 update