Gdzie są dzienniki PostgreSQL w systemie macOS?

103

Chciałbym rzucić okiem na pliki dziennika PostgreSQL, aby zobaczyć, co zapisuje w nich moja aplikacja, ale nie mogę ich znaleźć.

Jakieś pomysły?

basilikode
źródło

Odpowiedzi:

35

W systemie OS X, jeśli używasz instalacji EnterpriseDB PostgreSQL, Twoje pliki dziennika będą w formacie /Library/PostgreSQL/8.4/data/pg_log

Oczywiście będziesz chciał zastąpić 8.4 dla dowolnego używanego numeru wersji.

Jeremiah Peschka
źródło
174

W przypadku instalacji systemu OSX Homebrew dziennik można znaleźć pod adresem:

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

lub dla starszej wersji postgres (<9.6)

/usr/local/var/postgres/server.log
Mikko Ohtamaa
źródło
1
Musiałem odkomentować kilka wierszy związanych z rejestrowaniem w/usr/local/var/postgres/postgresql.conf
raine
63

Po prostu zapytaj swoją bazę danych:

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

W moim przypadku jest to „/Library/PostgreSQL/8.4/data/pg_log”

Frank Heikens
źródło
1
hmm, w moim przypadku jest to stderr: / sql wynik jako csv tutaj: pastebin.com/20C92z2v
basilikode
u Podoba mi się rozwiązanie „wieloplatformowe”
basilikode
41
To nie działa, jeśli baza danych nie została uruchomiona i nie wiesz, gdzie są jeszcze pliki dziennika.
Iain Samuel McLean Elder
41

plistUżywany do uruchamiania swoich Postgresa na bagażnik może także ustawić logfile:

$ 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>

Więc w tym przypadku /usr/local/var/postgres/server.log.

lambshaanxy
źródło
6

Jeśli używasz Postgres.app , możesz znaleźć lokalizację katalogu danych w oknie dialogowym Preferencje. W tym katalogu dziennik znajduje się pod adresem postgres-server.log.

Na przykład na moim komputerze dziennik znajduje się pod adresem /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.

nofinator
źródło
2

Mam różne wersje Postgresql zainstalowane na moim Macu (z macportami), a wszystkie dzienniki można znaleźć tutaj

/opt/local/var/log/postgresql84/postgres.log
/opt/local/var/log/postgresql91/postgres.log
/opt/local/var/log/postgresql92/postgres.log
plang
źródło
0

Postgresapp 9.3.5.1 i nowsze wersje prowadzą dziennik serwera. Dziennik znajduje się w katalogu danych o nazwie postgres-server.log.

Martin Sommer
źródło
-1

Zajrzyj do folderu / var / log / pg_log /

systempuntoout
źródło
1
Nie ma, prawdopodobnie dlatego, że używał pakietu EnterpriseDB MacOS.
basilikode