আমি যখন pg_restore.exeএকটি ডেটাবেস থেকে ডাম্প ফাইলটি চালানোর চেষ্টা করি , তখন এটি কয়েক ডজন ত্রুটি ফেলে দেয়, সমস্ত একই:
ERROR: insert or update on table "someTable" violates foreign key constraint "aConstraintName"
এটি অবশ্যই ডাম্প ফাইল থেকে পুনরুদ্ধারের আগে ডেটা বেসটি খালি করে দেওয়ার কারণে হয়েছে (এই ফাইলটি একটি প্রোডাকশন ডাটাবেস থেকে আসে) ... তবে অবশ্যই কোনও রেফারেন্স সারণী খালি থাকলে কোনও বিদেশী কী বাধা ঠিকঠাক হতে পারে না ...
আমি কল করার আগে pg_restore.exe, এবং তারপরে, সীমাবদ্ধতা এবং বিদেশী কীগুলি পুনরায় সক্ষম করার জন্য সমস্ত টেবিলের জন্য সীমাবদ্ধতা এবং সমস্ত বিদেশী কীগুলি নিষ্ক্রিয় করার কোনও উপায় আছে কি?
এসওতে আমি আকর্ষণীয় কিছু পেয়েছি: সময় দেওয়ার জন্য সীমাবদ্ধতা পরীক্ষা করা পিছিয়ে । তবে আমি মনে করি না যে সীমাবদ্ধতাগুলি পিছিয়ে দেওয়ার পরে আমি pg_restore.exeভিতরে থেকে কল করতে পারি psql.exe।
রয়েছে এই পোস্টে , 10 বছর আগে ফিরে ডেটিং, সীমাবদ্ধতা পুনরায় যোগ তারপর ড্রপ পরামর্শ। বা pg_class পুনরুদ্ধারকারীদের মান 0 তে পরিবর্তন করতে এবং এটিও সীমাবদ্ধতার পক্ষে সম্ভব হবে ... তবে আমি আশঙ্কা করি এটি ভাল অনুশীলনের চেয়ে বেশি হ্যাকিং ...
আপনি কী পরামর্শ দেবেন, এই ক্ষেত্রে সবচেয়ে ভাল অনুশীলন কী? ব্যবহার করছে pg_dump.exe সঙ্গে -cleanপতাকা একটি ডাম্প যে সীমাবদ্ধতা যখন ডাটাবেসের পুনরূদ্ধার পরীক্ষণ রোধ করা যাবে সৃষ্টি করতে?