在 Debian 上查看 PostgreSQL 日志,常见做法如下:
sudo -u postgres psql -c "SHOW log_directory;"
sudo -u postgres psql -c "SHOW log_filename;"
常见结果:
log_directory:log 或 /var/log/postgresqllog_filename:postgresql-%Y-%m-%d.logDebian 包安装的 PostgreSQL,日志通常在:
/var/log/postgresql/
查看示例:
ls -lh /var/log/postgresql/
sudo tail -f /var/log/postgresql/postgresql-15-main.log
(版本号可能是 12 / 13 / 14 / 15 / 16)
Debian 使用 systemd,PostgreSQL 日志也可能在 journal 中:
sudo journalctl -u postgresql
sudo journalctl -u postgresql -f
sudo journalctl -u postgresql --since "2024-01-01"
如果配置如下:
SHOW log_destination;
返回 syslog 或 stderr,且 logging_collector = off,则日志在:
/var/log/syslog
查看:
grep postgres /var/log/syslog
# 实时看日志
sudo tail -f /var/log/postgresql/*.log
# 看错误
grep ERROR /var/log/postgresql/*.log
# 看连接问题
grep "connection" /var/log/postgresql/*.log
检查:
sudo -u postgres psql -c "SHOW logging_collector;"
off → 日志可能只进 systemd / syslogon → 一定在 log_directory如果你告诉我 PostgreSQL 版本 和 Debian 版本,我可以给你更精确的命令。