কিভাবে পোস্টগ্রিস্কল ডাটাবেস সদৃশ?


17

আমার বিদ্যমান ডাটাবেসটির স্কিমা এবং কাঠামো সহ অন্য একটি নতুন ডাটাবেসে সদৃশ করতে হবে। আমার এটি শেল কমান্ড এনভায়রনমেন্টে দরকার, প্যাগাডমিনে নয়। দয়া করে আমাকে সাহায্য করুন।

nohup pg_dump exampledb > example-01.sql
createdb -O postgres exampledbclone_01

আমার ব্যবহারকারী "পোস্টগ্রিজ"

nohup psql exampledbclone_01 < example-01.sql
$ pg_dump mydb > db.sql
$ psql -d newdb -f db.sql

উত্তর:


36

আপনি যদি এটি একই পোস্টগ্রাইএসকিউএল ইনস্টল এর মধ্যে সদৃশ করতে চান এবং আপনার সক্রিয়ভাবে সংযুক্ত ব্যবহারকারীদের কাছে একটি সহজ শর্টকাট নেই:

CREATE DATABASE my_new_database TEMPLATE my_old_database;

বা শেল থেকে

createdb -T my_old_database my_new_database;

অন্যথায় আপনাকে ব্যবহার করতে হবে pg_dump, createdbএবং pg_restore, যেমন

pg_dump -Fc -f olddb.pgdump -d olddb &&\
createdb newdb &&\
pg_restore -d newdb olddb.pgdump

আপনি যদি ব্যবহার করেন nohupতবে কমান্ডটি মারা যায় না যদি আপনি আপনার ssh অধিবেশন হারাতে পারেন তবে screenপরিবর্তে ব্যবহার করার কথা বিবেচনা করুন।


1
দুর্দান্তCREATE DATABASE my_new_database TEMPLATE my_old_database;
আনজানিউলুবট্ট 505

1
উজ্জ্বল! এটি কেবল অনুলিপি গঠন নয়, ডেটাও!
ফোটন

@ ফোটন ইয়েপ, যদিও আপনি ব্যবহার করতে পারেন pg_dumpএবং pg_restoreআপনি যদি আরও বেছে বেছে বেছে ডাম্প (বলতে) চান তবে কেবল কাঠামো।
ক্রেগ রিঞ্জার

1

একটি নতুন ডাটাবেস তৈরি করার সময় পোস্টগ্রিস সার্ভারে বিদ্যমান যে কোনও ডাটাবেসটিকে টেমপ্লেট হিসাবে ব্যবহারের অনুমতি দেয়। আমি নিশ্চিত নই যে পিজএডমিন আপনাকে তৈরি ডেটাবেস কথোপকথনের বিকল্পটি দেয় বা না তবে আপনার যদি একটি কোয়েরি উইন্ডোতে নিম্নলিখিতটি সম্পাদন করতে সক্ষম হয় তবে তা না করে:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

তবুও, আপনি পেতে পারেন:

ত্রুটি: উত্স ডাটাবেস "originaldb" অন্যান্য ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা হচ্ছে

ডাটাবেস থেকে অন্যান্য সমস্ত ব্যবহারকারীকে সংযোগ বিচ্ছিন্ন করতে, আপনি এই কোয়েরিটি ব্যবহার করতে পারেন:

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity 
WHERE pg_stat_activity.datname = 'originaldb' AND pid <> pg_backend_pid();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.