Euler,
         muito obrigado. Segue abaixo novos comentários/dúvidas...

sds
Fábio Gibon
----- Original Message ----- 
From: "Euler Taveira de Oliveira" <[email protected]>
To: <[email protected]>
Sent: Thursday, April 07, 2011 10:34 AM
Subject: Re: [pgbr-geral] Wal_buffers e wal files


Em 07-04-2011 09:59, Fábio Gibon - Comex System escreveu:
> Wal_buffers é um espaço de memória (na shared_buffers) utilizado para
> armazenar dados das transações correntes.
Não. É o espaço de memória compartilhada (não é do shared buffers) utilizado
para armazenar dados de uma transação.
[Gibon] Mas onde eu defino a memória compartilhada?

> Quando uma transação inicia ela grava seus dados na wal_buffers, porém
> ao terminar (checkpoint por commit ou outros fatores) os dados são
> gravados nos WAL files (pg_xlog).
Não. Os dados só vão para wal buffers no momento do COMMIT; eles permanecem 
no
shared buffers até que a transação seja efetivada.
[Gibon] Mas se wal_buffers é uma estrutura de memória e no commit os dados 
ainda estão nela, qual a garantia da transação comitada em caso de queda do 
banco? (falta de energia, por exemplo)

> Se wal_buffers for muito pequeno e tivermos transações grandes irá
> ocorrer gravações nos WAL files com uma frequência maior do que o
> necessário, se o wal_buffers tivesse uma capacidade maior. Ok?
Não. Só há escrita no wal buffers no momento do COMMIT. Neste caso, se o wal
buffers é pequeno para transação, é escrito algumas páginas nele (e dali 
para
disco) e assim sucessivamente até que todos os dados da transação estejam
escritos no WAL.
[Gibon] Acho que estamos falando de coisas diferentes. Existe uma estrutura 
de memória (RAM) chamada WAL_BUFFERS? E também existem os WAL files (log 
transaction)... ?!

> Um outro processo fica lendo os WAL files e gravando definitivamente nos
> data files?
Não. No PostgreSQL, os logs de transação só são lidos durante o *recovery*. 
Ao
invés disso, os dados são lidos do shared buffers e escritos nos data files
pelo processo writer (aka bgwriter).

> * trabalho com outro banco já há muito tempo, então estou tentando
> relacionar os conceitos de UNDO, Redo Log, SGA,...
>
O conceito é um pouco diferente. Talvez lendo [1] te esclareça alguns 
pontos.
[Gibon] Ok, acho que é leitura obrigatória mesmo... valeus.

[1] http://wiki.postgresql.org/wiki/PostgreSQL_for_Oracle_DBAs


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a