উত্তর:
এটিতে কোন টেবিলটির ব্যাকআপ রয়েছে তা --table
বলার জন্য ব্যবহার করুন pg_dump
:
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname
psql -U username -d database -1 -f your_dump.sql
--ignore-version
। প্রশান্ত কুমারের উত্তর, যা সহজ, আমার পক্ষে কাজ করেছিল।
আপনি যদি উবুন্টুতে থাকেন,
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
নিশ্চিত হয়ে নিন যে আপনি যে কমান্ডটি postgres
লেখার অনুমতি পেয়েছেন সেখানে আদেশটি কার্যকর করা হচ্ছে (উদাহরণ /tmp
:)
সম্পাদন করা
আপনি যদি অন্য কম্পিউটারে। এসকিউএল ডাম্প করতে চান তবে আপনার মালিকের তথ্য। এসকিউএল ফাইলে সংরক্ষণ করার বিষয়টি এড়িয়ে যাওয়া বিবেচনা করতে হবে।
তুমি ব্যবহার করতে পার pg_dump --no-owner -d <database_name> -t <table_name> > file.sql
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.sql
pg_dump -h লোকালহোস্ট -p 5432 -U পোস্টগ্র্যাস -d mydb -t my_table> ব্যাকআপ.এসকিউএল
আপনি একটি একক টেবিলের ব্যাকআপ নিতে পারেন তবে আমি পুরো ডাটাবেসের ব্যাকআপ নেওয়ার এবং তারপরে আপনার যে কোনও টেবিলটি পুনরুদ্ধার করার পরামর্শ দেব। পুরো ডাটাবেসের ব্যাকআপ রাখা সর্বদা ভাল।
max(id)
আমার টেবিলের একটি থেকে সিকোয়েন্সের শেষ আইডি আপডেট করার উপায়গুলি সন্ধান করব। এটি সেই উত্তরটির জন্য কাজ করেছে এবং আমি আত্মবিশ্বাসী, উত্পন্ন স্কয়ারের দিকে তাকিয়ে, আমি এটি পুনরুদ্ধার করতে পারতাম।
আপনি যদি গ্রাফিক্যাল ইউজার ইন্টারফেসটি পছন্দ করেন তবে আপনি পিজএডমিন তৃতীয় (লিনাক্স / উইন্ডোজ / ওএস এক্স) ব্যবহার করতে পারেন। আপনার পছন্দের টেবিলটিতে কেবল ডান ক্লিক করুন, তারপরে "ব্যাকআপ"। এটি pg_dump
আপনার জন্য একটি আদেশ তৈরি করবে ।
ফ্র্যাঙ্ক হেইকেনের উত্তরের সংযোজন হিসাবে আপনি যদি এর INSERT
পরিবর্তে বিবৃতি ব্যবহার করতে চান copy from stdin
তবে আপনার --inserts
পতাকাটি নির্দিষ্ট করা উচিত
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
লক্ষ্য করুন যে আমি --ignore-version
পতাকাটি রেখে দিয়েছি , কারণ এটি অবনমিত রয়েছে।
pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
কিন্তু এটি বের হয়ে এলpg_restore: [tar archiver] corrupt tar header found in --