删除表花费的时间太长

Pel*_*e G 12 postgresql drop-table postgresql-9.6

我有一张桌子,大约有。2 亿行(约 0.5 TB),我想删除它,但它需要很长时间。

它已经运行了2天了。我怀疑回滚功能是造成这种情况的原因。

有没有办法避免回滚功能,以便我可以加快这个过程?我只是想摆脱表格,因为那里的数据不再有价值。

pet*_*erh 22

您可以列出正在运行的后端

SELECT * FROM pg_stat_activity;
Run Code Online (Sandbox Code Playgroud)

确定试图回滚正在该表上工作的进程的进程。

找到它的pid.

您可以使用查询终止后端SELECT pg_terminate_backend(64738),其中 64738 是您之前的 pid 列SELECT

之后,您可能会删除该表。

如果即使这样也行不通,则重新启动 postgresql,但很可能会。

  • 我设法杀死了桌子上的 autovacuum 任务,然后它很快就放下了桌子。 (2认同)