Wo sind die PostgreSQL-Protokolle unter macOS?


102

Ich möchte einen Blick auf die PostgreSQL-Protokolldateien werfen, um zu sehen, was meine App auf sie schreibt, aber ich kann sie nicht finden.

Irgendwelche Ideen?

Antworten:


35

Wenn Sie unter OS X die EnterpriseDB-Installation von PostgreSQL verwenden, befinden sich Ihre Protokolldateien in /Library/PostgreSQL/8.4/data/pg_log

Natürlich sollten Sie die von Ihnen verwendete Versionsnummer durch 8.4 ersetzen.


168

Bei der Installation von OSX Homebrew finden Sie das Protokoll unter:

/usr/local/var/log/postgres.log 

oder für ältere Versionen von Postgres (<9.6)

/usr/local/var/postgres/server.log

1
Ich musste einige protokollierungsbezogene Zeilen in/usr/local/var/postgres/postgresql.conf
raine

63

Fragen Sie einfach Ihre Datenbank:

SELECT 
    * 
FROM 
    pg_settings 
WHERE 
    category IN( 'Reporting and Logging / Where to Log' , 'File Locations')
ORDER BY 
    category,
    name;

In meinem Fall befindet es sich in "/Library/PostgreSQL/8.4/data/pg_log".


1
hmm, in meinem Fall ist es stderr: / sql Ergebnis als csv hier: pastebin.com/20C92z2v
basilikode

u Ich mag die "plattformübergreifende" Lösung
Basilikode

41
Dies funktioniert nicht, wenn Ihre Datenbank nicht gestartet werden konnte und Sie noch nicht wissen, wo sich die Protokolldateien befinden.
Iain Samuel McLean Elder

41

Das plistzum Starten Ihrer Postgres beim Booten verwendete Protokoll kann auch die Protokolldatei festlegen:

$ dir ~/Library/LaunchAgents
org.postgresql.postgres.plist

$ cat ~/Library/LaunchAgents/org.postgresql.postgres.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  [...]
  <key>StandardErrorPath</key>
  <string>/usr/local/var/postgres/server.log</string>
</dict>
</plist>

Also in diesem Fall /usr/local/var/postgres/server.log.


6

Wenn Sie Postgres.app verwenden , finden Sie den Speicherort des Datenverzeichnisses im Dialogfeld Einstellungen. In diesem Verzeichnis befindet sich das Protokoll unter postgres-server.log.

Auf meinem Computer befindet sich das Protokoll beispielsweise unter /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.


2

Ich habe verschiedene Postgresql-Versionen auf meinem Mac installiert (mit Macports), und alle Protokolle finden Sie hier

/opt/local/var/log/postgresql84/postgres.log
/opt/local/var/log/postgresql91/postgres.log
/opt/local/var/log/postgresql92/postgres.log

0

Postgresapp 9.3.5.1 und höher führen ein Serverprotokoll. Das Protokoll befindet sich im Datenverzeichnis mit dem Namen postgres-server.log.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.