PostgreSQL在macOS上的日志在哪里?


103

我想看一下PostgreSQL日志文件,看看我的应用程序写了些什么,但找不到。

有任何想法吗?

Answers:


35

在OS X上,如果您使用的是PostgreSQL的EnterpriseDB安装,则日志文件将位于 /Library/PostgreSQL/8.4/data/pg_log

当然,您将要用8.4替代您正在运行的任何版本号。


169

在OSX Homebrew安装上,可以在以下位置找到日志:

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

或旧版本的postgres(<9.6)

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

1
我不得不取消注释一些与日志记录相关的行/usr/local/var/postgres/postgresql.conf
Raine'Sep

63

只需询问您的数据库:

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

就我而言,它位于“ /Library/PostgreSQL/8.4/data/pg_log”中


1
嗯,就我而言,它是stderr:/ sql结果是csv此处:pastebin.com/20C92z2v
basilikode 2010年

我喜欢“跨平台”解决方案
basilikode 2010年

41
如果您的数据库无法启动,并且您不知道日志文件在何处,则此方法不起作用。
伊恩·塞缪尔·麦克莱恩

41

plist用于启动你的Postgres上的引导也可以设置日志文件:

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

因此,在这种情况下,/usr/local/var/postgres/server.log


6

如果使用Postgres.app,则可以在“首选项”对话框中找到“数据目录”位置。在该目录中,日志位于postgres-server.log

例如,在我的机器上,日志位于/Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log


2

我在Mac(带有macports)上安装了不同的Postgresql版本,所有日志都可以在此处找到

/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及更高版本保留服务器日志。日志位于数据目录内部,名为postgres-server.log。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.