On 09/20/2011 09:21 AM, Jon Nelson wrote:
Isn't the WAL basically COW?
Nope, it's a lot more like a filesystem journal - though it includes all data, not just metadata like filesystem journals usually do.
Now, you could argue that PostgreSQL uses a copy-on-write like system to maintain row versions so that already-running statements (or SERIALIZABLE transactions) don't see data from the future and to maintain rollback data for uncommitted transactions. It's the *new* data that gets written to the WAL, though, not the old data.
(OK, if you have full_page_writes enabled you might get a mix of old and new data written to WAL, but that's an implementation detail).
-- Craig Ringer -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance