PostgreSQL umožňuje protokolování pomalých dotazů do souboru protokolu nebo tabulky. Analýza těchto protokolů vám pomůže snadno určit, které dotazy zpomalují vaši databázi. Zde jsou kroky k povolení pomalého protokolu dotazů v PostgreSQL. Můžete je také použít k povolení pomalého protokolu dotazů v RDS, Redshift a dalších databázích PostgreSQL.
Jak povolit pomalé přihlášení do PostgreSQL
Pomalé dotazy v PostgreSQL můžete identifikovat jednoduše úpravou několika nastavení v postgresql.conf soubor
1. Najděte umístění postgresql.conf
Otevřete terminál a spusťte následující příkaz k nalezení umístění souboru postgresql.conf pro vaši databázi.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Bonusové čtení:PostgreSQL Materialized View
2. Otevřete postgresql.conf
Spuštěním následujícího příkazu otevřete soubor postgresql.conf v textovém editoru
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bonusové čtení:Jak získat poslední řádek na skupinu v PostgreSQL
3. Povolit protokol pomalých dotazů v PostgreSQL
Vyhledejte následující řádek
#log_min_duration_statement = -1
Odkomentujte jej odstraněním # na jeho začátku. Také nahraďte -1 prahovou hodnotou doby běhu dotazu v milisekundách. Pokud například chcete protokolovat dotazy, jejichž spuštění trvá déle než 1 sekundu, nahraďte -1 hodnotou 1000
log_min_duration_statement = 1000
Uložte a ukončete soubor
Hledejte také následující řádek,
logging_collector = on
Ujistěte se, že logging_collector je nastaveno na zapnuto .
Bonusové čtení:Jak vytvořit histogram v PostgreSQL
4. Najděte protokol pomalých dotazů
Další proměnnou najdete také v postgresql.conf
log_directory = 'pg_log'
To znamená, že soubor protokolu PostgreSQL je umístěn na /var/lib/pgsql/data/pg_log/
5. Restartujte databázi PostgreSQL
Spuštěním následujícího příkazu restartujte PostgreSQL
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Doufejme, že výše uvedený článek vám pomůže protokolovat pomalé dotazy v PostgreSQL.