2010-04-01 10 views

risposta

31

su OS X, se si sta utilizzando l'installazione EnterpriseDB di PostgreSQL, i file di log saranno in /Library/PostgreSQL/8.4/data/pg_log

Naturalmente, y o vorrai sostituire 8.4 per qualsiasi numero di versione che stai utilizzando.

-1

Cerca in /var/log/pg_log/ cartella

+1

Non c'è, probabilmente è perché usato il pacchetto MacOS EnterpriseDB. –

53

Basta chiedere al vostro database:

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

Nel mio caso, è nella "/Library/PostgreSQL/8.4/data/pg_log"

+0

hmm, nel mio caso è stderr:/ sql risultato come csv qui: http://pastebin.com/20C92z2v –

+0

u Mi piace la soluzione "multipiattaforma" –

+26

Questo non funziona se il database non è stato avviato e non sai ancora dove sono i file di registro. –

31

La plist utilizzato per lanciare i vostri Postgres all'avvio può anche impostare il file di log:

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

Quindi, in questo caso, /usr/local/var/postgres/server.log.

+1

+1 anzi, ho usato l'homebrew e il plist come raccomandato. – bsr

1

Ho diversi versione di PostgreSQL installato sul mio Mac (con MacPorts), e tutti i log può essere trovato qui

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

su OSX installazione Homebrew il registro può essere trovato alla:

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

o

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

(prima è la versione < 9.6 e la seconda uno è vers ioni> = 9,6 di PostgreSQL)

+0

Sto usando postgres 10 e non riesco a trovare il registro in /usr/local/var/log/postgres.log. log_destination = 'stderr' logging_collector = off log_statement = 'all' pg_ctl -d/usr/local/var/postgres iniziano Qualsiasi aiuto? –

+0

Stai usando Homebrew? –

-1

Postgresapp 9.3.5.1 e successivi mantenere un registro del server. Il registro si trova nella directory dei dati, denominata postgres-server.log.

5

Se si utilizza Postgres.app, è possibile trovare la posizione della directory dati nella finestra di dialogo Preferenze. In questa directory, il registro è postgres-server.log.

Ad esempio, sulla mia macchina, il registro è /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.