ฉันมีการติดตั้งฐานข้อมูลท้องถิ่น 9.1 กับตารางน้อยซึ่งมี cca บันทึก 300 mio และฐานข้อมูลเพิ่มขึ้นเป็นประมาณ 20 GB หลังจากนั้นฉันออกdelete fromคำสั่งให้ลบระเบียนทั้งหมดจากมัน (ฉันควรจะใช้truncateแต่ฉันก็ไม่รู้) ดังนั้นฉันจึงสูญญากาศเต็มในฐานข้อมูลของฉันเพื่อเรียกคืนพื้นที่ดิสก์ แต่ก็ไม่ได้ช่วย ปัญหาของฉันดูเหมือนกับปัญหานี้แต่ไม่มีวิธีแก้ไข ฉันได้ตรวจสอบเธรดและเอกสารนี้แล้วใน"การกู้คืนพื้นที่ว่างในดิสก์"แต่ยังหาวิธีแก้ปัญหาไม่ได้ ฉันใช้รหัสนี้เพื่อรับขนาดของตารางทั้งหมด
 SELECT nspname || '.' || relname AS "relation",
 pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
 FROM pg_class C
 LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
 WHERE nspname NOT IN ('pg_catalog', 'information_schema')
 AND C.relkind <> 'i'
 AND nspname !~ '^pg_toast'
 ORDER BY pg_total_relation_size(C.oid) DESC
 LIMIT 15;อย่างไรก็ตามมีจำนวนน้อยกว่า 1GB
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database ยังคงแสดงประมาณ 20 GB คำแนะนำใด ๆ ที่ชื่นชมมาก
pg_catalogและตารางinformation_schemaมา ดังนั้นลองดูว่ามันเป็นของใด ๆ โดยการลบข้อ จำกัด เหล่านั้นในWHEREข้อ โปรดแสดงเวอร์ชัน PostgreSQL ที่แน่นอนของคุณ (SELECT version()) และสิ่งที่คุณทำเพื่อ "ดูดข้อมูลฐานข้อมูลทั้งหมด" เช่นคำสั่งที่แน่นอน หากเป็นไปได้ให้เรียกใช้VACUUM FULL VERBOSE;(ไม่มีข้อโต้แย้ง) และวางผลลัพธ์ที่ใดก็ได้จากนั้นลิงก์ไปที่นี่