PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So aktivieren Sie das langsame Abfrageprotokoll in PostgreSQL

PostgreSQL ermöglicht das Protokollieren langsamer Abfragen in einer Protokolldatei oder Tabelle. Durch das Analysieren dieser Protokolle können Sie leicht feststellen, welche Abfragen Ihre Datenbank verlangsamen. Hier sind die Schritte zum Aktivieren des langsamen Abfrageprotokolls in PostgreSQL. Sie können sie auch verwenden, um das langsame Abfrageprotokoll in RDS-, Redshift- und anderen PostgreSQL-Datenbanken zu aktivieren.


So aktivieren Sie das Protokoll für langsame Abfragen in PostgreSQL

Sie können langsame Abfragen in PostgreSQL identifizieren, indem Sie einfach einige Einstellungen in postgresql.conf ändern Datei


1. Finden Sie den Speicherort von postgresql.conf

Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um den Speicherort der Datei postgresql.conf für Ihre Datenbank zu finden.

$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf

Bonus-Lesetext:Materialisierte PostgreSQL-Ansicht

2. Öffnen Sie postgresql.conf

Führen Sie den folgenden Befehl aus, um die Datei postgresql.conf in einem Texteditor zu öffnen

$ vi /etc/postgresql/9.1/main/postgresql.conf

Bonuslektüre:So erhalten Sie die letzte Zeile pro Gruppe in PostgreSQL

3. Protokoll für langsame Abfragen in PostgreSQL aktivieren

Suchen Sie nach der folgenden Zeile

#log_min_duration_statement = -1

Kommentieren Sie es aus, indem Sie # am Anfang entfernen. Ersetzen Sie außerdem -1 durch einen Schwellenwert für die Abfragelaufzeit in Millisekunden. Wenn Sie beispielsweise Abfragen protokollieren möchten, deren Ausführung länger als 1 Sekunde dauert, ersetzen Sie -1 durch 1000

log_min_duration_statement = 1000

Speichern und beenden Sie die Datei

Suchen Sie auch nach der folgenden Zeile

logging_collector = on

Stellen Sie sicher, dass logging_collector auf ein eingestellt ist .

Bonuslektüre:So erstellen Sie ein Histogramm in PostgreSQL

4. Protokoll für langsame Abfragen finden

Sie finden auch eine weitere Variable in postgresql.conf

log_directory = 'pg_log'

Dies weist darauf hin, dass sich die PostgreSQL-Protokolldatei unter /var/lib/pgsql/data/pg_log/

befindet



5. PostgreSQL-Datenbank neu starten

Führen Sie den folgenden Befehl aus, um PostgreSQL neu zu starten

Ubuntu/Debian

$ sudo systemctl restart postgresql

CentOS/Redhat

# /etc/init.d/postgresql restart

Hoffentlich hilft Ihnen der obige Artikel dabei, langsame Abfragen in PostgreSQL zu protokollieren.