مرحباً،
لدينا نسخة من Discourse نعجز عن عمل نسخة احتياطية منها (وترقيتها) منذ فترة.
عند تشغيل النسخ الاحتياطي، نحصل على هذا الخطأ:
pg_dump: dumping contents of table "public.email_change_requests"
pg_dump: processing data for table "public.email_logs"
pg_dump: dumping contents of table "public.email_logs"
pg_dump: error: Dumping the contents of table "email_logs" failed: PQgetResult() failed.
pg_dump: error: Error message from server: ERROR: could not access status of transaction 4156776275
DETAIL: Could not open file "pg_xact/0F7C": No such file or directory.
pg_dump: error: The command was: COPY public.email_logs (id, to_address, email_type, user_id, created_at, updated_at, post_id, bounce_key, bounced, message_id, smtp_group_id, cc_addresses, cc_user_ids, raw, topic_id) TO stdout;
EXCEPTION: pg_dump failed
بعد قراءة الكثير من المشاركات هنا وتجربة الكثير من الأشياء، انتهى بي الأمر بمحاولة الاستعلام عن هذا الجدول والحصول على هذا الخطأ:
discourse=# select * from email_logs;
ERROR: could not access status of transaction 4156776275
DETAIL: Could not open file "pg_xact/0F7C": No such file or directory.
discourse=#
هذه المشكلة مستمرة منذ فترة طويلة، لذا فإن الاستعادة من آخر نسخة احتياطية ليست خيارًا حقيقيًا. بخلاف “مشكلة النسخ الاحتياطي” هذه، فإن Discourse تعمل بشكل جيد.
يبدو أن email_logs هو مجرد جدول سجلات، وليس لدي مشكلة في فقدان أي سجلات محتملة للبريد الإلكتروني إذا كان هذا يعني أن النسخ الاحتياطية تعمل مرة أخرى. هل يمكنني ببساطة استخدام TRUNCATE لجدول email_logs أم أن البيانات المفقودة ستؤدي إلى المزيد من الأخطاء؟
شكراً لمساعدتكم.