On Thu, Apr 28, 2016 at 09:58:00PM +0000, Alex Ignatov wrote: > Hello everyone! > We have some issue with truncated pg_control file on Windows after power > failure. > My questions is : > 1) Is pg_control protected from say , power crash or partial write? > 2) How PG update pg_control? By writing in it or writing in some temp file and > after that rename it to pg_control to be atomic?
We write pg_controldata in one write() OS call: if (write(fd, buffer, PG_CONTROL_SIZE) != PG_CONTROL_SIZE) > 3) Can PG have multiple pg_control copy to be more fault tolerant? > > PS During some experiments we found that at present time there is no any > method > to do crash recovery with "restored" version of pg_control (based on some > manipulations with pg_resetxlog ). > Only by using pg_resetxlog and setting it parameters to values taken from wal > file (pg_xlogdump)we can at least start PG and saw that PG state is at the > moment of last check point. But we have no real confidence that PG is in > consistent state(also docs on pg_resetxlogs told us about it too) We have talked about improving the reliability of pg_control, but failures are so rare we have never done anything to improve it. I know Tatsuo has talked about making pg_control more reliable, so I am CC'ing him. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers