PostgreSQL básico - Testado e pronto para ser usado

Veremos tópicos relacionados com a instalação, configuração, backup, restauração, otimização e manuseio do banco de dados PostgreSQL. Espero que aproveitem... Vamos lá.

[ Hits: 21.567 ]

Por: Thiago Henrique F. Margonar em 08/04/2014


Otimizando o PostgreSQL



Vou mostrar cada opção válida no arquivo apresentado abaixo.

# vim /opt/Postgres/versão/data postgresql.conf

Procure as seguintes linhas:

shared_buffers = 32MB # Uma boa configuração seria entre 8% a 12% do total de RAM do servidor.

work_mem = 2048 # Este parâmetro configura o tamanho em KBytes utilizado no servidor para cada conexão efetivada ao SGBD (Configura 2 MBytes de RAM do servidor para operações de ORDER BY, CREATE INDEX e JOIN disponíveis para cada conexão ao banco.)

maintenance_work_mem = 16384 # O total de memória configurada neste parâmetro é utilizado somente durante as operações de manutenção do banco (como VACUUM e REINDEX), sendo liberada durante o seu uso normal. Se o seu processo de VACUUM está muito custoso, tente aumentar o valor deste parâmetro.

max_fsm_pages = 120000 # Realiza a procura por até 120.000 páginas sujas na limpeza pelo VACUUM utilizando cerca de 71 Kb de RAM para isto.

wal_buffers = 64 # Seta para 512 KBytes a memória destinada ao buffer de escrita no WAL.

effective_cache_size = 32768 # Seta o cache de dados do PostgreSQL para 256 MBytes de RAM.

random_page_cost = 2 # Diminui o tempo para seleção aleatória de páginas do otimizador de consultas.

Fonte: Otimizando bancos PostgreSQL - Parte 01

Desmarque as linhas abaixo para inicializar o autovacuum:

#autovacuum = on

#log_autovacuum_min_duration = -1
#autovacuum_max_workers = 3
#autovacuum_naptime = 1min
#autovacuum_vacuum_threshold = 50

#autovacuum_analyze_threshold = 50
#autovacuum_vacuum_scale_factor = 0.2
#autovacuum_analyze_scale_factor = 0.1
#autovacuum_freeze_max_age = 200000000
#autovacuum_vacuum_cost_delay = 20
# autovacuum, -1 means use
# vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1

Página anterior    

Páginas do artigo
   1. Características
   2. Instalando
   3. Manuseio do banco
   4. pg_dump pg_restore e psql
   5. Otimizando o PostgreSQL
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

HowTo: Como criar Cluster Linux - Ativo/Passivo para Postgres com DRBD, Pacemaker e Corosync

Replicando banco de dados PostgreSQL

psql - Conheça o básico

Checklist de performance do PostgreSQL 8.0

Como instalar Postgres 8 no Linux em 10 passos rápidos

  
Comentários
[1] Comentário enviado por rafaelbernini em 08/04/2014 - 10:32h

Sensacional o artigo, uso PostgreSQL a um bom tempo, e a versão 8.x é minha favorita no PHP, e agora ando me arriscando junto com java, ta de parabéns, muito bom artigo.

Abs

[2] Comentário enviado por diego.agudo em 14/04/2014 - 16:47h

Esta parte de tuning do postgresql tem que tomar muito, mas muito cuidado mesmo... Não basta saber quanto de RAM você possui e já sair setando os valores e talz, o buraco é bem mais embaixo.
Esta outra parte de ativar o autovacuum eu particularmente prefiro deixar desativado e implementar um cron para executar o vacuum de madrugada.


Contribuir com comentário