O PostgreSQL permite registrar consultas lentas em um arquivo de log ou tabela. A análise desses logs ajudará você a determinar facilmente quais consultas estão deixando seu banco de dados mais lento. Aqui estão as etapas para habilitar o log de consultas lentas no PostgreSQL. Você também pode usá-los para habilitar o log de consultas lentas no RDS, Redshift e outros bancos de dados PostgreSQL.
Como habilitar o log de consultas lentas no PostgreSQL
Você pode identificar consultas lentas no PostgreSQL simplesmente modificando algumas configurações em postgresql.conf Arquivo
1. Encontre a localização do postgresql.conf
Abra o terminal e execute o seguinte comando para encontrar o local do arquivo postgresql.conf para seu banco de dados.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Leitura de bônus:Visualização materializada do PostgreSQL
2. Abra postgresql.conf
Execute o seguinte comando para abrir o arquivo postgresql.conf em um editor de texto
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bônus de leitura:Como obter a última linha por grupo no PostgreSQL
3. Habilitar log de consultas lentas no PostgreSQL
Procure a seguinte linha
#log_min_duration_statement = -1
Descomente-o removendo # no início. Substitua também -1 por um limite de tempo de execução de consulta em milissegundos. Por exemplo, se você deseja registrar consultas que levam mais de 1 segundo para serem executadas, substitua -1 por 1000
log_min_duration_statement = 1000
Salve e saia do arquivo
Procure também a seguinte linha,
logging_collector = on
Certifique-se de que logging_collector está definido como ligado .
Bônus de leitura:Como criar histograma no PostgreSQL
4. Encontrar log de consultas lentas
Você também encontrará outra variável em postgresql.conf
log_directory = 'pg_log'
Isso indica que o arquivo de log do PostgreSQL está localizado em /var/lib/pgsql/data/pg_log/
5. Reinicie o banco de dados PostgreSQL
Execute o seguinte comando para reiniciar o PostgreSQL
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Espero que o artigo acima o ajude a registrar consultas lentas no PostgreSQL.