আমি PostgreSQL 8.4.15 ব্যবহার করছি। pg_dumpএকটি ডাটাবেস ব্যাকআপ চালানোর সময় , আমি নিম্নলিখিত ত্রুটি পেয়েছি:
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: missing chunk number 0 for toast value 123456789 in pg_toast_987654321
pg_dump: The command was: COPY public.my_table (id, .... all the columns ...)
এই ত্রুটি বার্তাটি অনুসন্ধান করার সময়, আমি বেশ কয়েকটি উল্লেখ খুঁজে পেয়েছি ( এখানে এবং এখানে ) যা সারণীটিকে পুনরায় তালিকাভুক্ত করার পরামর্শ দিয়েছে। (এই আলোচনায়, pg_classসঠিক pg_toast_XXXXXXমানটি সন্ধানের জন্য সারণীটি জিজ্ঞাসা করার বিষয়ে একটি উল্লেখ ছিল , তবে মনে হয়েছিল এটি ত্রুটি বার্তাগুলিতে প্রদর্শিত হয়নি কারণ আমি এই অংশটি এড়িয়ে গিয়েছিলাম কারণ ত্রুটি বার্তায় আমার একটি মান প্রদর্শিত হয়েছিল) ) আমার ধারণা পোস্টগ্র্রেএসকিউএল পরবর্তী সংস্করণের কারণে এটি কোনও সুবিধে হতে পারে))
আমি নিম্নলিখিত চালানো:
REINDEX table pg_toast.pg_toast_987654321;
VACUUM ANALYZE my_table;
আমি এখন pg_dumpত্রুটি ছাড়াই ব্যবহার করতে সক্ষম ।
pg_toastএই আদেশগুলি আসলে কী এবং কী করেছিল? এগুলি কি কেবল সাধারণ পরিষ্কার-পরিচ্ছন্নতার বিষয়ে বা তারা এই টেবিলের কিছু সারি থেকে মুক্তি পেতে পারে? সমস্যাটি কি প্রথম জায়গায় ঘটতে পারে?
এই টেবিলটিতে প্রায় 300000 সারি রয়েছে, তবে আমি পূর্ববর্তী সফল ব্যাকআপের পরে প্রায় 250 টি নতুন সারি আশা করব (এই টেবিলটি কেবল ইনসার্ট / নির্বাচন করুন, কোনও আপডেট নেই)।