On 6/10/21 10:30 PM, xiebin (F) wrote:
Hi,
My database (Postgresql 12.5) server uses remote storage as data directory.
I powered off the database server and started postgresql (same version) on another server, with same data. However it failed. I checked wal logs and found that the content around latest checkpoint is empty. (about 1700 zero bytes)
[snip]
From the output, I can see that data files, pg_control file and wal log are flushed to disk. And I noticed that pg_control file is flushed between 2 wal flush (as noted A,B,C).
Here are my questions:
1. If power off occurs between B and C. Would it be possible that checkpoint was written to pg_control but not to wal log? And as a consequence, postgresql recovery would fail?
2. Is there any other reason causing this problem?
Is your Postgresql instance configured to use fsync?
3. Is there any way to recover the data? I know pg_resetwal can reset wal log, then postgresql can start. But undoubtedly it could cause some data loss.
--
Angular momentum makes the world go 'round.