Postgresql12: ERROR: Could not read from file "pg_act/02 F 4" at offset 253952: read too few bytes

From: Orishich Aleksey <a(dot)orishich(at)cft(dot)ru>
To: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Postgresql12: ERROR: Could not read from file "pg_act/02 F 4" at offset 253952: read too few bytes
Date: 2021-07-14 03:02:37
Message-ID: 909f68c697ab4d45a10ea6fc5957d1a5@cft.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello.

While the postgres database was running, we encountered the following error:
ERROR: could not access status of transaction 793754117 Detail: Could not read from file "pg_act/02 F 4" at offset 253952: read too few bytes.
The pg_act/02 F 4 file on the main database had a different size from other files. At the same time, the pg_xact/02F4 file on the backup database had a standard size of 256Kb. There are no errors writing to the file system. No errors were found in the postgres logs either.
After this error occurred, working with the main database was impossible, and we had to switch to the backup database.
What could have caused this error in postgres? Was it possible to restore the database without switching to a backup? How can I prevent such errors from occurring in the future? How to correctly troubleshooting the cause of this error?
Postgres version: 12.1-2
OS: Oracle Linux Server release 7.6

With Regards,
Aleksey.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-07-14 03:18:40 Re: Statistics updates is delayed when using `commit and chain`
Previous Message Kyotaro Horiguchi 2021-07-14 02:12:14 Re: BUG #17103: WAL segments are not removed after exceeding max_slot_wal_keep_size