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.