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.