Ich habe lokale Installation der Datenbank 9.1 mit wenigen Tabellen, die cca hatten. 300 Millionen Datensätze und die Datenbank wuchs auf etwa 20 GB. Danach gab ich den delete from
Befehl, alle Datensätze daraus zu löschen (ich hätte verwenden sollen truncate
, aber ich wusste das nicht). Also habe ich mein db voll aufgesaugt, um Speicherplatz freizugeben, aber es hilft einfach nicht. Mein Problem sieht genauso aus wie dieses , aber es gibt keine Lösung. Ich habe diesen Thread und die Dokumentation zum Thema "Wiederherstellen von Speicherplatz" bereits überprüft , kann aber immer noch keine Lösung finden. Ich benutze diesen Code, um die Größe aller Tabellen zu ermitteln
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;
Insgesamt jedoch weniger als 1 GB
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database
zeigt immer noch etwa 20 GB. Jeder Rat sehr geschätzt.
pg_catalog
und Tabellen ininformation_schema
. Versuchen Sie also herauszufinden, ob es sich um eine solche handelt, indem Sie diese Einschränkungen in derWHERE
Klausel entfernen . Bitte zeigen Sie Ihre genaue PostgreSQL-Version (SELECT version()
) und was genau Sie tun, um "die gesamte Datenbank zu vakuumieren", dh den genauen Befehl. Führen Sie nach MöglichkeitVACUUM FULL VERBOSE;
(keine Argumente) aus und fügen Sie die Ausgabe irgendwo ein. Verknüpfen Sie sie dann hier.