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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Half filled xlogs


  • From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
  • To: "Simon Riggs" <simon(at)2ndquadrant(dot)com>, <pgsql-hackers-win32(at)postgresql(dot)org>
  • Subject: Re: Half filled xlogs
  • Date: Sun, 20 Mar 2005 17:02:35 +0100
  • Message-id: <6BCB9D8A16AC4241919521715F4D8BCE6C70EA(at)algol(dot)sollentuna(dot)se>

>I'm looking into copying partially filled xlogs with the Archiver
>process, to allow a more rounded warm standby database option.
>
>My understanding is that on win32, when an xlog file is still being
>written to by a backend it will be locked and unable to be copied away
>by another process.

No, that shouldn't be a problem. We open all our files with
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE (see port/open.c). It
should work fine as the other process that reads it also opens it with
at least FILE_SHARE_READ.

To verify, I started up a backend and did a begin transaction;create
table foo(bar int);
Then I copied the xlog file, and it copied without any errors. 

AFAIK, it shuold also contain the actual data, as long as it's been
synced (which would be the same on unix, right?). (or if the file is
opened with o_dsync). I haven't verified it myself, though.

//Magnus



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group