11

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

我的问题与日志有关。我想让日志显示在终端窗格中。这是 Postgres文档关于日志的内容:

“在类 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 语句实时执行时,它会有所帮助。

4

2 回答 2

19

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

tail -f /usr/local/var/postgres/server.log
于 2012-08-04T05:02:13.123 回答
8

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

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

ubuntu 18.04与_postgresql version: 10

于 2019-07-22T09:23:58.793 回答