drop post在postgresql中占用太长时间?

时间:2015-12-28 05:59:44

标签: postgresql ubuntu pgadmin

我在 postgresql 中创建了名为genrate_report()的函数,该函数包含各种查询,包括create table , joins , update, alter等,工作正常,并且 400 ms 执行低数据并减少连接。

现在数据正在增加,现在 300000毫秒(大约5分钟)仍在运行。然后我停止它并开始逐个运行查询。我想知道单一查询drop table if exists fk_pay_cal;需要 781650毫秒并且仍在运行。

这个服务器错误了吗? 或者postgres连接太多了? (远程PgAdmin有4个连接)

还是其他任何东西?

2 个答案:

答案 0 :(得分:0)

如果你想加快这个过程,那么你需要删除表中的所有约束,就像你试图删除表时那样,它首先检查表上的约束,这需要花费时间。

答案 1 :(得分:0)

TRUNCATE将闲置,直到没有其他使用目标表的会话为止。 查看this great stackexchange answer进行更详细的解释。