PostgreSQL tillåter loggning av långsamma frågor till en loggfil eller tabell. Att analysera dessa loggar hjälper dig enkelt att avgöra vilka frågor som gör din databas långsammare. Här är stegen för att aktivera långsam frågeloggning i PostgreSQL. Du kan också använda dem för att aktivera långsam frågeloggning i RDS, Redshift och andra PostgreSQL-databaser.
Hur man aktiverar långsam inloggning med frågor i PostgreSQL
Du kan identifiera långsamma frågor i PostgreSQL genom att helt enkelt ändra några inställningar i postgresql.conf fil
1. Hitta platsen för postgresql.conf
Öppna terminal och kör följande kommando för att hitta platsen för postgresql.conf-filen för din databas.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Bonusläsning:PostgreSQL materialiserad vy
2. Öppna postgresql.conf
Kör följande kommando för att öppna postgresql.conf-filen i en textredigerare
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bonus Läs:Hur man får sista raden per grupp i PostgreSQL
3. Aktivera långsam frågeloggning i PostgreSQL
Sök efter följande rad
#log_min_duration_statement = -1
Avkommentera den genom att ta bort # i början. Ersätt även -1 med ett tröskelvärde för frågekörtid i millisekunder. Om du till exempel vill logga frågor som tar mer än 1 sekund att köra, ersätt -1 med 1000
log_min_duration_statement = 1000
Spara och avsluta filen
Leta också efter följande rad,
logging_collector = on
Se till att logging_collector är inställd på på .
Bonus Läs:Hur man skapar histogram i PostgreSQL
4. Hitta långsam frågelogg
Du hittar också en annan variabel i postgresql.conf
log_directory = 'pg_log'
Detta indikerar att PostgreSQL-loggfilen finns på /var/lib/pgsql/data/pg_log/
5. Starta om PostgreSQL-databasen
Kör följande kommando för att starta om PostgreSQL
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Förhoppningsvis kommer artikeln ovan att hjälpa dig att logga långsamma frågor i PostgreSQL.