pg_dump تجاهل تسلسل الجدول؟
-
25-09-2019 - |
سؤال
لقد كنت ألعب مع PostgreSQL مؤخرًا ، وأواجه مشكلة في فهم كيفية النسخ الاحتياطي واستعادة جدول واحد.
لقد استخدمت PGADMIN3 لنسخ جدول واحد في قاعدة البيانات الخاصة بي ، من أجل نسخها إلى خادم مختلف. عندما أحاول القيام بـ pg_restore على الملف ، أحصل على رسائل خطأ تقول أن التسلسل غير موجود:
pg_restore: [archiver (db)] could not execute query: ERROR: relation "businesses_id_seq" does not exist
Command was:
CREATE TABLE businesses (
id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
name character varyin...
يبدو أن ملف التفريغ لم يتضمن تسلسل العمود المتزايد التلقائي. كيف أحصل عليها لتضمين ذلك؟
المحلول
التخلص من الجدول فقط - سوف يتفريغ الجدول فقط. تحتاج إلى تفريغ التسلسل بشكل منفصل بالإضافة إلى الجدول.
إذا كنت لا تعرف تسلسلك ، يمكنك سرده به \d yourtable
في PSQL. سترى شيئًا ما في الصف يبدو أن تسلسلك يشبه: nextval('yourtable_id_seq'::regclass')
ثم من سطر الأوامر ، pgdump -t yourtable_id_seq
لا تنتمي إلى StackOverflow