Skip site navigation (1) Skip section navigation (2)

Re: Win32 Powerfail testing

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 (view raw or flat)
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.

Responses

pgsql-hackers by date

Next:From: Justin CliftDate: 2003-03-06 16:03:56
Subject: Re: Who puts the Windows binaries on the FTP server?
Previous:From: Tom LaneDate: 2003-03-06 15:35:59
Subject: Re: ETA for PostgreSQL 7.3.3?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group