Re: shared_buffers, wal_buffers, WAL files, data files

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: shared_buffers, wal_buffers, WAL files, data files
Date: 2007-12-06 18:43:59
Message-ID: 475842EF.5090901@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane a écrit :
> Guillaume Lelarge <guillaume(at)lelarge(dot)info> writes:
>> I try to answer a simple question : what happens when I do a simple
>> "INSERT" on a just started PostgreSQL server.
>
>> From what I understand with the INSERT statement, here is what happens :
>> * backend loads first (and only) block from footable file into a shared
>> buffer
>> * it modifies this block on the shared buffer, and sets it as dirty
>
> Right, and it also makes a WAL log entry about this action.
>

The WAL log entry is made on the wal buffers (in memory). As soon as
this statement is commited (in my example, it's right now, but in a
BEGIN ... COMMIT statement, at COMMIT time), the wal buffer is flushed
on WAL files. It can be flushed before if wal buffer is not big enough
to contain all the current transactions. Am I right ?

Thanks for your answer, I think I better understand the complete process.

Regards.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2007-12-06 19:29:21 Re: shared_buffers, wal_buffers, WAL files, data files
Previous Message Simon Riggs 2007-12-06 18:32:18 Re: pg_dump and BINARY mode COPY