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.