Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Trabalhando com logs no PostgreSQL

Trabalhando com logs no PostgreSQL

Palestra realizada no FTSL

Fábio Telles Rodriguez

September 18, 2015
Tweet

More Decks by Fábio Telles Rodriguez

Other Decks in Programming

Transcript

  1. Trabalhando com logs no PostgreSQL F´ abio Telles Rodriguez Timbira

    - A empresa brasileira de PostgreSQL 18 de setembro de 2015 FTSL2015
  2. Apresenta¸ c˜ ao F´ abio Telles Rodrigues DBA Oracle e

    PostgreSQL +10 anos Colaborador Comunidade Brasileira de PostgreSQL Blog: http://savepoint.blog.br @telles
  3. Timbira http://www.timbira.com.br A empresa Brasileira de PostgreSQL Consultoria / Desenvolvimento

    Planos de Suporte Parcerias com Empresas Desenvolvedoras de Software Treinamentos In-Company e On-Line Corre¸ c˜ ao de bugs no PostgreSQL garantida em contrato
  4. Sobre esta apresenta¸ c˜ ao esta apresenta¸ c˜ ao est´

    a dispon´ ıvel em: http://www.timbira.com.br/material esta apresenta¸ c˜ ao est´ a sob licen¸ ca Creative Commons Atribui¸ c˜ ao 3.0 Brasil: http://creativecommons.org/licenses/by/3.0/br
  5. Sobre o que estamos falando? Vis˜ ao sobre o passado:

    Erros de configura¸ c˜ ao; Erros na aplica¸ c˜ ao; Volume de conex˜ oes; Tempos de execu¸ c˜ ao; Locks, deadlocks, temp buffers
  6. Onde logar log destination: (stderr, csvlog, syslog e se estiver

    utilizando o Windows, eventlog) logging collector: Ligue e seja feliz log directory: pg log (vocˆ e pode utilizar um ponto de montagem s´ o para os logs tamb´ em) log filename: use ’postgresql-%Y-%m-%d% H%M%S.log ou postgresql − %d.log
  7. Onde logar log file mode: Tire a m˜ ao da´

    ı. log rotation age: ’1d’ log rotation size: 10MB a 1GB log truncate on rotation: use em sistemas embarcados para rotacionar os logs.
  8. Quando logar client min messages, log min messages e log

    min error statement: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL e PANIC log min duration statement: gatilho para logar comandos com valores maiores sejam logados (em ms)
  9. O que logar application name: N˜ ao mexa, mas saiba

    usar na sua aplica¸ c˜ ao (SET application name = ’meu app’;) debug print parse, debug print rewritten, debug print plan, debug pretty print: n˜ ao mexa. log checkpoints: ligue (porque eu estou mandando! S´ erio, n˜ ao custa nada) log connections e log disconnections: use com parcimˆ onia log duration: h´ a quem use. Casos bem espec´ ıficos. N˜ ao substitui o log min duration
  10. O que logar log error verbosity: Em geral, n˜ ao

    mexa. log hostname: S´ o ative se confiar muito no seu DNS. Pode gerar um pouco de overhead. log line prefix: ”%t [%p]: [%l] db=%d,user=%u ‘. Muitas op¸ c˜ oes legais. Vale ` a pena conhecer. log lock waits: Ligue e entenda. log statement: DDL, MOD (DDL + DML), ALL (tudo) ou none (nada). log temp files: ´ Util para ajustar parˆ ametros de mem´ oria. Coloque em zero para ver o que acontece de verdade. log timezone: Espero que vocˆ e n˜ ao tenha que mexer nisso...
  11. GUCs ou Grand Unified Configuration Alguns parˆ ametros podem ser

    alterados em diferentes contextos, como INTERNAL, POSTMASTER, SIGHUP, BACKEND, SUPERUSER e USER Verificar no cat´ alogo em pg settings; Utilizar o pg reload conf() para parˆ ametros alterados no postgresql.conf Utilizar o pg rotate logfile() para rotacionar os logs
  12. GUCs ou Grand Unified Configuration SELECT pg rotate logfile(), pg

    reload conf(); ALTER SYSTEM SET log min messages = ’INFO’; ALTER DATABASE teste SET log min messages = ’NOTICE’; ALTER ROLE abizi SET log min messages = ’DEBUG1’; SET log min messages = ’PANIC’;
  13. Usando o application name SET application name = ’financeiro’; SET

    application name = ’APP=financeiro — SCR=cadastro’; SET application name = ’APP=financeiro — SCR=cadastro — USER=telles’; SET application name = ’APP=financeiro — SCR=cadastro — USER=telles — HOST=m129’;
  14. Para os DBAs... Durma bem antes de um novo deploy.

    Tire uns dias de folga; N˜ ao deixe de tomar cerveja com os amigos... Pratique exerc´ ıcios f´ ısicos regularmente!!!