macOS上的PostgreSQL日志在哪里?

macOS上的PostgreSQL日志在哪里?,postgresql,logging,macos,Postgresql,Logging,Macos,我想查看一下PostgreSQL日志文件,看看我的应用程序向它们写入了什么,但我找不到它们 有什么想法吗?查看/var/log/pg\u log/文件夹只需询问您的数据库: SELECT * FROM pg_settings WHERE category IN( 'Reporting and Logging / Where to Log' , 'File Locations') ORDER BY category, name; 在我的例子中,

我想查看一下PostgreSQL日志文件,看看我的应用程序向它们写入了什么,但我找不到它们


有什么想法吗?

查看/var/log/pg\u log/文件夹

只需询问您的数据库:

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

在我的例子中,它位于OS X上的“/Library/PostgreSQL/8.4/data/pg_log”

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


当然,您会希望用8.4替换您正在运行的任何版本号。

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

$ 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>
$dir~/Library/launchagent
org.postgresql.postgres.plist
$cat~/Library/LaunchAgents/org.postgresql.postgres.plist
[...]
标准错误路径
/usr/local/var/postgres/server.log

因此,在本例中,
/usr/local/var/postgres/server.log

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

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

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

/usr/local/var/log/postgres.log 
或者对于较旧版本的postgres(<9.6)


Postgresapp 9.3.5.1及更高版本保留服务器日志。日志位于名为postgres server.log的数据目录中。

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

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

对于使用自制软件安装Postgres的Apple M1(Big Sur)用户,其位置为-

 /opt/homebrew/var/log/postgres.log

嗯,在我的例子中,它是stderr:/sql result as csv here:u我喜欢“跨平台”解决方案如果您的数据库无法启动,并且您还不知道日志文件在哪里,则此解决方案不起作用。不在那里,可能是因为使用了EnterpriseDB MacOS包。我不得不在
/usr/local/var/postgres/postgresql.conf
 /opt/homebrew/var/log/postgres.log