Tôi đang làm việc trên một hệ thống dev và tôi đã khôi phục lại cơ sở dữ liệu, nói "foo", rằng tôi đang sử dụng cho mục đích dev. Khi tôi đang làm việc thông qua các nút thắt, tôi vừa mới chạy DROP DATABASE foo. Tuy nhiên, tôi nhanh chóng nhận ra mình đã ăn hết dung lượng trên đĩa. Tào lao
VACUUM FULL, từ một cơ sở dữ liệu logic khác, có giải phóng không gian khỏi cơ sở dữ liệu mà trước đây tôi đã bỏ (foo) không? Tôi đã thử điều này từ một cơ sở dữ liệu logic khác và không gian trống đã được thu hồi, nhưng tôi không nghĩ rằng nó đủ để tính tất cả các cuộc gọi CREATE DATABASE / DROP DATABASE mà tôi đã thực hiện. Nó có thể vừa VACUUM là cơ sở dữ liệu logic mà tôi đã chạy từ đó.
Có phải là một cách để lấy lại không gian đó mà không thực hiện một cơ sở dữ liệu init?
BIÊN TẬP
Vì vậy, tôi đã khởi tạo lại cơ sở dữ liệu từ một bản sao lưu, theo các bước sau . Sau khi khôi phục, tôi đã lấy lại TON dung lượng trên đĩa! Điều này hiện đang hoạt động, nhưng bất kỳ trợ giúp nào về cách dọn dẹp cơ sở dữ liệu bị bỏ rơi vẫn sẽ hữu ích.
CHỈNH SỬA 2
Vì vậy, tôi đã quản lý để thu thập thêm một số thông tin về vấn đề này ... Đây là những gì tôi đã đưa ra làm ví dụ:
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
Vì vậy, có vẻ như DB mới chiếm ~ 9,6 GB trên đĩa. Tuy nhiên, sau khi bỏ nó, dung lượng đĩa được thu hồi chỉ tăng ~ 4,6G. Vì vậy, có khoảng 5 GB dung lượng khiến tôi tự hỏi chuyện gì đang xảy ra!?
Và nó tiếp tục chu trình này khi tôi tái tạo, điền và thả lại.
Có ai có ý tưởng gì về việc nán lại sau khi lệnh "DROP DATABASE" được ban hành không?