আমার কাছে সিটিএর কয়েকটি টেবিলের সাথে 9.1 ডাটাবেসের স্থানীয় ইনস্টলেশন রয়েছে। 300 মিও রেকর্ডস এবং ডাটাবেসটি প্রায় 20 জিবি বেড়েছে এরপরে আমি এ 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;
মোট 1 জিবি কম, যদিও
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database
এখনও প্রায় 20 জিবি দেখায়। কোন পরামর্শ অনেক প্রশংসা।
pg_catalog
এবং সারণীসমূহinformation_schema
। সুতরাং ধারাটিতে থাকা এই বিধিনিষেধগুলি সরিয়ে এটির মধ্যে কিছু কিনা তা দেখার চেষ্টা করুনWHERE
। দয়া করে আপনার সঠিক পোস্টগ্রিজ এসকিউএল সংস্করণ (SELECT version()
) এবং আপনি "সম্পূর্ণ ডাটাবেস ভ্যাকুয়াম" করতে হুবহু কী করছেন, অর্থাত্ হুবহু কমান্ডটি প্রদর্শন করুন। যদি সম্ভব হয় তবে চালানVACUUM FULL VERBOSE;
(কোনও যুক্তি নেই) এবং আউটপুট কোথাও পেস্ট করুন তবে এটির সাথে এখানে লিঙ্ক করুন।