Re: shared_buffers, wal_buffers, WAL files, data files

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: shared_buffers, wal_buffers, WAL files, data files
Дата
Msg-id 20071206192921.GK8451@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: shared_buffers, wal_buffers, WAL files, data files  (Guillaume Lelarge <guillaume@lelarge.info>)
Ответы Re: shared_buffers, wal_buffers, WAL files, data files  (Guillaume Lelarge <guillaume@lelarge.info>)
Список pgsql-hackers
Guillaume Lelarge wrote:
> Tom Lane a écrit :
> > Guillaume Lelarge <guillaume@lelarge.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 ?

That's correct.  WAL buffers are obviously shared; when one transaction
commits it will flush not only its own entries, but also those that any
other transaction could have written.

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/DXLWNGRJD34J
"Endurecerse, pero jamás perder la ternura" (E. Guevara)


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Guillaume Lelarge
Дата:
Сообщение: Re: shared_buffers, wal_buffers, WAL files, data files
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [BUGS] BUG #3799: csvlog skips some logs