我做了一些基本的搜索,但找不到答案。
我想知道"analyze“是不是一个解锁语句。我所说的“解锁”是指语句返回,但analyze仍在后端运行。
我问这个问题的原因是,我看过代码(JAVA,使用jdbc)来发出:
statement.executeUpdate("analyze " + tableName + ";")然后查询pg_lock以查看表是否有ShareUpdateExclusiveLock,只有当表没有锁时,代码才会继续。
所以分析就是解锁?
发布于 2020-10-29 04:43:42
不,在统计计算完成之前,ANALYZE语句不会返回。我不知道在PostgreSQL中有任何SQL语句像您所描述的那样异步工作。
您阅读的代码似乎被误导了;也许是cargo cult编程。
https://stackoverflow.com/questions/64580818
复制相似问题