MacOS 上的 PostgreSQL 日志在哪里?

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

有什么想法吗?

75134 次浏览

只要问问你的数据库:

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”中

在 OS X 上,如果您使用 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>

所以在这种情况下,/usr/local/var/postgres/server.log

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

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

在 OSX 家酿安装日志可以找到:

返回文章页面最新自酿:

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

或更老:

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

或旧版本的 postgres (< 9.6)

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

额外奖励-检查 PostgreSQL 是否使用 Homebrew 运行:

brew services info --all

Postgreapp 9.3.5.1及更高版本保存一个服务器日志,日志位于 data 目录中,名为 postgres-server. log。

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

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

对于使用自制程序安装 postgres 的 Apple M1(Big Sur/Monterey)用户,位置是-

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

对于 Macports的用户来说,在升级到 Big Sur 之后,可能会遇到类似于 /opt/local/var/log/postgresql11的东西(假设您正在运行 postgreql 11)。

邮差13

所有的日志都是按照第13版的日期顺序排列的。 找到它的正确文件夹是:

sudo ls /Library/PostgreSQL/13/data/log

在这里,您可以看到为选择任何一个日志文件而创建的所有日志文件

sudo vim /Library/PostgreSQL/13/data/log/postgresql-2021-08-20_051906.log