2014-10-10 59 views
0

我在postgreSQL裏有一個〜20百萬的表,我想刪除它。刪除一個破損的postgreSQL表

但有操作的每一個不工作(它仍然在運行超過12小時沒有成功):

- DELETE 
- TRUNCATE 
- VACUUM 
- ANALYZE 

我不能在這個表上做anythink ...

一天數的前,我試着重新生成每行的ID(BIGSERIAL):

ALTER SEQUENCE "data_id_seq" RESTART WITH 1 
UPDATE data SET id=nextval('data_id_seq') 

而且我認爲這種操作布洛克表...

如果有人知道如何刪除此表,謝謝您的幫助!

+0

從thattable限制10刪除(或接近 「極限」 語法錯誤)無法正常工作。該表未編入索引。正如我所說的,真空不工作(無限加載) – Macbernie 2014-10-10 10:03:29

+0

嘗試這樣'DELETE FROM thattable WHERE CTID IN(SELECT CTID FROM thattable LIMIT 10 )' – 2014-10-10 10:07:17

+0

是否有任何其他的連接?別的東西可能在桌子上有鎖。 – 2014-10-10 10:08:23

回答

1

嘗試......

DROP TABLE table_name; 

See the doc

+0

同樣認爲,無限加載 – Macbernie 2014-10-10 10:07:10

+0

嘗試CASCADE在你的表名之後。 例如。 DROP TABLE table_name CASCADE; – 2014-10-10 10:15:54