显示Postgres服务器日志输出终端并同时记录到日志

时间:2012-08-04 03:39:00

标签: postgresql psql

我正在运行Postgres 9.1(在Mac OSX上安装Homebrew),我想更密切地监控我的postgres服务器。

我的问题与日志有关。我想在终端窗格中显示日志。以下是Postgres docs对日志的说法:

“在类Unix系统上,默认情况下,服务器的标准输出和标准错误被发送到pg_ctl的标准输出(非标准错误)。然后应将pg_ctl的标准输出重定向到文件或通过管道传输给另一个进程,例如作为一个日志旋转程序,如rotatelogs;否则postgres会将其输出写入控制终端(从后台)并且不会离开shell的进程组。在Windows上,默认情况下服务器的标准输出和标准错误被发送到终端。可以使用-l将服务器的输出附加到日志文件来更改这些默认行为。建议使用-l或输出重定向。“

所以,当我使用以下内容运行我的postgres服务器时:

pg_ctl start -D /usr/local/var/postgres

日志显示在终端窗口中。我跑的时候:

pg_ctl start -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log

日志转到我的日志文件,不显示在终端。

简而言之,如果有人能够在我将日志定向到文件(使用第二个命令)之后告诉我我使用了什么命令以使日志也出现在命令行中,那将会很棒。当我开发(在Django中)观察SQL语句实时执行时,它会有所帮助。

2 个答案:

答案 0 :(得分:15)

您可以使用以下命令查看日志:

tail -f /usr/local/var/postgres/server.log

答案 1 :(得分:0)

我能够在以下位置找到日志:

less /var/log/postgresql/postgresql-10-main.log

ubuntu 18.04postgresql version: 10一起使用