Onde estão os logs do PostgreSQL no macOS?

103

Gostaria de dar uma olhada nos arquivos de log do PostgreSQL para ver o que meu aplicativo grava neles, mas não consigo localizá-los.

Alguma ideia?

basilikode
fonte

Respostas:

35

No OS X, se você estiver usando a instalação EnterpriseDB do PostgreSQL, seus arquivos de log estarão em /Library/PostgreSQL/8.4/data/pg_log

Claro, você vai querer substituir o número 8.4 por qualquer número de versão que você está executando.

Jeremiah Peschka
fonte
170

Na instalação do OSX Homebrew, o log pode ser encontrado em:

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

ou para uma versão anterior do postgres (<9.6)

/usr/local/var/postgres/server.log
Mikko Ohtamaa
fonte
1
Tive que descomentar algumas linhas relacionadas ao registro em/usr/local/var/postgres/postgresql.conf
raine
63

Basta perguntar ao seu banco de dados:

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

No meu caso, está em "/Library/PostgreSQL/8.4/data/pg_log"

Frank Heikens
fonte
1
hmm, no meu caso é stderr: / sql result as csv aqui: pastebin.com/20C92z2v
basilikode
u Gosto da solução "plataforma cruzada"
basilikode,
41
Isso não funciona se o banco de dados falhar ao iniciar e você ainda não sabe onde os arquivos de log estão.
Iain Samuel McLean Ancião
41

O plistusado para iniciar seu Postgres na inicialização também pode definir o arquivo de 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>

Portanto, neste caso /usr/local/var/postgres/server.log,.

lambshaanxy
fonte
6

Se você estiver usando Postgres.app , poderá encontrar o local do Diretório de dados na caixa de diálogo Preferências. Nesse diretório, o log está empostgres-server.log .

Por exemplo, na minha máquina, o log está em /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.

nofinador
fonte
2

Tenho diferentes versões de Postgresql instaladas no meu mac (com macports), e todos os logs podem ser encontrados aqui

/opt/local/var/log/postgresql84/postgres.log
/opt/local/var/log/postgresql91/postgres.log
/opt/local/var/log/postgresql92/postgres.log
plang
fonte
0

Postgresapp 9.3.5.1 e posterior mantém um log do servidor. O log está dentro do diretório de dados, denominado postgres-server.log.

Martin Sommer
fonte
-1

Procure em / var / log / pg_log / pasta

systempuntoout
fonte
1
Não existe, provavelmente é porque usou o pacote EnterpriseDB MacOS.
basilikode,