Re: Postgres INSERT performance and scalability

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Jon Nelson <jnelson+pgsql(at)jamponi(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Postgres INSERT performance and scalability
Date: 2011-09-20 05:04:56
Message-ID: 4E781EF8.3000400@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

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

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Gunnlaugur Þór Briem 2011-09-20 09:15:30 Re: Constraint exclusion on UNION ALL subqueries with WHERE conditions
Previous Message Scott Marlowe 2011-09-20 04:49:50 Re: where is max_fsm_pages in PG9.0?