From: | "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk> |
---|---|
To: | "Tatsuo Ishii" <t-ishii(at)sra(dot)co(dot)jp> |
Cc: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Win32 Powerfail testing |
Date: | 2003-03-06 16:02:10 |
Message-ID: | 03AF4E498C591348A42FC93DEA9661B885CF@mail.vale-housing.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> -----Original Message-----
> From: Tatsuo Ishii [mailto:t-ishii(at)sra(dot)co(dot)jp]
> Sent: 06 March 2003 15:17
> To: Dave Page
> Cc: pgsql-hackers(at)postgresql(dot)org
> Subject: Re: [HACKERS] Win32 Powerfail testing
>
> I'm sure FlushFileBuffers() is usesless for files opend with
> open() too.
>
> As I said in the previlus mails, open()+_commit() does the
> right job with the transaction log files. So probably I think
> I should stick with open()+_commit() approach for ordinary
> table/index files too.
Oh, I didn't see that message. So it's either:
open() + _commit()
Or
CreateFile() + FlushFileBuffers()
Magnus also mentioned using FILE_FLAG_NO_BUFFERING or
FILE_FLAG_WRITE_THROUGH with CreateFile(). I was concerned about the
additional complexity with FILE_FLAG_NO_BUFFERING, but
FILE_FLAG_WRITE_THROUGH sounds like it might do the job, if a little
sub-optimally.
Is there really no way of allowing a decent write cache, but then being
able to guarantee a flush at the required time? Sounds a little cuckoo
to me but then it is Microsoft...
Anyhoo, it sounds like open() and _commit is this best choice as you
say.
Regards, Dave.
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Clift | 2003-03-06 16:03:56 | Re: Who puts the Windows binaries on the FTP server? |
Previous Message | Tom Lane | 2003-03-06 15:35:59 | Re: ETA for PostgreSQL 7.3.3? |