postgresql drop表后空间不释放

数据库执行drop table XXX后,查看du -sh 已下降,但df -h /pgdb没有减少,是有还有进程使用对应的文件句柄

1.通过表名确认文件ID

select pg_relation_filepath('table_name');

2.确认使用文件ID的进程是否可以删除

lsof |  grep “文件ID”

select *
from pg_stat_activity
where pid="PID”

3.删除对应进程

select pg_terminate_backend('PID');

 4.数据库drop 对应的表

drop table table_name;

  

原文地址:https://www.cnblogs.com/xyz0601/p/10448702.html