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