>           Apenas para ratificar então, o work_mem é por conexão, mas é um
> limitador apenas, não uma memória préalocada, ok?

O work_mem não é por conexão.
Do manual:
"Note that for a complex query, several sort or hash operations might
be running in parallel; each operation will be allowed to use as much
memory as this value specifies before it starts to write data into
temporary files."
Explica que o work_mem pode ser alocado diversas vezes numa consulta complexa.
Sim, o work_mem é um limite, não é uma alocação imediata.

Minha regra de ouro pra evitar falta de memória num servidor PostgreSQL:
shared_buffers + 2 * work_mem * max_connections + maintenance_work_mem
* autovacuum_max_workers < RAM disponível

Lembrando que "RAM disponível" é o que sobra dela, subtraia aí o que
seu SO precisa pra rodar e outras eventuais aplicações na mesma
máquina.

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

Responder a