Translate

Pesquisar este blog

quarta-feira, 24 de setembro de 2014

Configurando o PostgreSQL


O banco PostgreSQL é um banco objeto-relacional, conhecido por sua estabilidade e larga lista de funcionalidades, das quais incluo:

  • Suporte a transações (dãã).
  • Triggers (dãã) .
  • Backups quentes, incrementais (PITR), robustos e em saída SQL opcional.
  • Stored Procedures: em linguagem PL/Pgsql, ou em um vasto número de linguagens plugins.
  • Suporte a XML e JSON!
  • Plugin de geoprocessamento disponível (PostGis).
  • Pode importar e exportar CSV. 
  • Replicação.
  • Commit assíncrono (asynchronous commit).
  • Foreign Data Wrappers (FDW).
  • Full Text Search (FTS) com dois algoritmos de índice diferentes (GIN e GiST).

As versões mais novas melhoraram muito no quesito performance e escalabilidade, e também a popularidade desse banco aumentou nos últimos anos.

A configuração do PostgreSQL pode melhorar em muito sua performance, e chega a assustar quem acredita na sua fama de ser um banco pesado.

Os parâmetros de memória ficam no arquivo postgresql.conf, há alguns que destaco:

  • shared_buffers = Memória compartilhada do banco. Existe apenas um buffer desse em todo o sistema (ele é compartilhado). Em média 25% de toda a RAM do computador. No Linux, em versões antes do 9.3,  você terá também que setar um parâmetro de memória com sysctl -w kernel.shmmax=XXXXXXXXXX.
  • checkpoint_segments = Número de arquivos de segmentos de checkpoint. Quando há escrita intensa, o banco dá um "travadinha" e o arquivo de log do servidor dá uma mensagem para aumentar esse parâmetro. Nesse caso aumente o valor desse parâmetro de 3 para algo como X = shared_buffers/16MB.
  • maitenance_work_mem = Memória usada para operações de DDL, como ALTER TABLE, CREATE INDEX. É usada essa quantia apenas durante essas operações.
  • work_mem = Memória usada para operações de ORDER BY, etc. Cada conexão usa um buffer desses.
  • temp_buffers = Memória usada para tabelas temporárias, etc.Cada conexão usa um buffer desses;

Nenhum comentário:

Postar um comentário