postgres 日志在哪里?

cos*_*-14 23 postgresql dbeaver

我正在使用 DBeaver 连接 postgres 数据库,并希望通过 DBeaver 访问日志。

我运行下面的命令来查找日志目标并获取 stderr 作为位置。

show log_destination ;
Run Code Online (Sandbox Code Playgroud)

我如何在数据库应用程序上访问该文件?仅供参考,我想要所有日志,而不是来自 DBeaver 的日志。

Lau*_*lbe 26

在最新的 PostgreSQL 版本中,这很简单:

SELECT  pg_current_logfile();
Run Code Online (Sandbox Code Playgroud)

对于旧版本,请按以下步骤操作:

由于日志文件位于数据库服务器上,因此您可能无法使用客户端工具访问它。

  • 函数 `pg_current_logfile()` 给了我文件名,然后我可以使用 `find / -type f -name "postgresql-Tue.log"` 在这里 `/var/lib/pgsql/14/ 找到它CentOS 7 服务器中的 data/log/postgresql-Tue.log` (3认同)

kri*_*hna 10

You can run pg_lsclusters.

> pg_lsclusters                                                                                                          
Ver Cluster Port Status Owner    Data directory              Log file
11  main    5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
Run Code Online (Sandbox Code Playgroud)