Pracuję nad systemem deweloperów i przywracam do bazy danych, powiedz „foo”, której używam do celów programistycznych. Gdy pracuję nad załamaniami, właśnie uruchomiłem DROP DATABASE foo. Szybko jednak zdałem sobie sprawę, że zjadłem całe miejsce na dysku. Bzdury.
Czy VACUUM FULL z innej logicznej bazy danych zwalnia miejsce z bazy danych, którą wcześniej upuściłem (foo)? Próbowałem tego z innej logicznej bazy danych i odzyskano wolne miejsce, ale nie sądzę, że wystarczyło uwzględnić wszystkie wywołania CREATE DATABASE / DROP DATABASE, które wykonałem. Być może właśnie VACUUM wykorzystało logiczną bazę danych, z której uruchomiłem.
Musi istnieć sposób na odzyskanie tego miejsca bez wykonania całkowitej inicjalizacji bazy danych?
EDYTOWAĆ
Ponownie zainicjowałem bazę danych z kopii zapasowej, z grubsza wykonując te kroki . Po przywróceniu odzyskałem TONĘ miejsca na dysku! Działa to na razie, ale wszelka pomoc dotycząca czyszczenia upuszczonej bazy danych nadal byłaby przydatna.
EDYCJA 2
Udało mi się zebrać więcej informacji o tym problemie ... Oto przykład, który wymyśliłem:
Initial partition size:
Size Used Avail Use% Mounted on
25G 8.1G 16G 35% /apps1
After creating my new database and populating it:
25G 18G 6.4G 73% /apps1
After Dropping the database using "DROP database mydb" from a separate logical DB:
25G 13G 11G 56% /apps1
Wydaje mi się więc, że nowa baza danych zajęła ~ 9,6 GB na dysku. Jednak po upuszczeniu odzyskane miejsce na dysku wzrosło tylko o ~ 4,6G. Jest więc około 5 GB miejsca, co sprawia, że zastanawiam się, co się dzieje !?
I kontynuuje ten cykl, gdy ponownie tworzę, wypełniam i upuszczam.
Czy ktoś ma pojęcie, co pozostaje po wydaniu polecenia „DROP DATABASE”?