Em 07-04-2011 10:41, Fábio Gibon - Comex System escreveu:
> [Gibon] Mas onde eu defino a memória compartilhada?
>
Qual delas? Há memória compartilhada para wal_buffers e para shared_buffers.

> [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 o COMMIT ainda não estiver retornado para usuário e o banco cair, você 
perde os dados; caso contrário, os dados vão estar escritos no WAL e não nos 
data files e, no momento que o servidor voltar os logs serão lidos do WAL e 
escritos nos data files. Veja que o COMMIT só retorna para o usuário quando os 
dados estiverem gravados (e o sync estiver sido realizado) no WAL file; assim, 
há garantia de durabilidade.

> [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)... ?!
>
Sim. wal_buffers = memória compartilhada. WAL files = arquivos no disco.


-- 
   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

Responder a