我在Ubuntu中使用Postgres 9.6。
有许多表和许多外键,当我删除某些数据时,它会隐式生成相应的命令以清理外来关系。
当长时间运行的DELETE
语句被中断时,可以“看到” CTRL-c
它显示正在运行的“背景”语句。
有没有办法查看在后台生成/执行的所有语句? log_statement
配置也不会显示它们。
答案 0 :(得分:3)
没有内置方式,但ExecutorStart_hook
可以实现。
auto_explain
contrib module可以跟踪"嵌套"声明。见auto_explain.log_nested_statements
。我不确定它是否忽略FK检查或考虑它们;嵌套语句功能主要用于PL / PgSQL等。