سؤال

لقد كنت ألعب مع 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

http://www.postgresql.org/docs/9.0/static/app-pgdump.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top