在 CentOS 上查看 PostgreSQL 日志,通常有以下几种方式,取决于你的安装方式和配置。
psql -U postgres -c "SHOW log_directory;"
psql -U postgres -c "SHOW log_filename;"
常见结果:
log_directory:log 或 /var/lib/pgsql/12/data/logpostgresql-Thu.log 或 postgresql.log日志通常在:
/var/lib/pgsql/<版本>/data/log/
例如:
/var/lib/pgsql/12/data/log/postgresql-Thu.log
查看日志:
ls /var/lib/pgsql/12/data/log/
tail -f /var/lib/pgsql/12/data/log/postgresql-*.log
如果是通过 systemd 启动:
journalctl -u postgresql
journalctl -u postgresql -f
或(老版本):
tail -f /var/log/messages | grep postgres
systemctl status postgresql
ps aux | grep postgres
检查配置:
vi /var/lib/pgsql/12/data/postgresql.conf
确认以下参数:
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%a.log'
log_statement = 'all' # 可选,记录 SQL
修改后重启:
systemctl restart postgresql
# 实时查看日志
tail -f /var/lib/pgsql/12/data/log/postgresql-*.log
# 查看错误
grep ERROR /var/lib/pgsql/12/data/log/postgresql-*.log
# 查看连接问题
grep "connection" /var/lib/pgsql/12/data/log/postgresql-*.log
如果你愿意,可以告诉我:
psql --version)我可以直接给你精确命令。