PostgreSQL * এ , ক্লায়েন্টরা এর সাথে সংযুক্ত থাকাকালীন আপনি কোনও ডাটাবেস ছাড়তে পারবেন না।
কমপক্ষে, dropdb
ইউটিলিটি সহ নয় - যা DROP DATABASE
সার্ভারের ক্যোয়ারির চারপাশে কেবল একটি সাধারণ মোড়ক ।
বেশ শক্তিশালী কাজ অনুসরণ:
আপনার সার্ভারের সাথে সুপারউসার হিসাবে ব্যবহার করে psql
বা অন্য ক্লায়েন্ট ব্যবহার করুন। আপনি যে ডাটাবেসটি ফেলে দিতে চান তা ব্যবহার করবেন না ।
psql -h localhost postgres postgres
এখন আপনি সরল ডাটাবেস ক্লায়েন্ট ব্যবহার করে ড্রপ ডাটাবেসকে তিনটি সহজ পদক্ষেপ ব্যবহার করে জোর করতে পারেন:
নিশ্চিত করুন যে কেউ এই ডাটাবেসে সংযুক্ত হতে পারে না। আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করতে পারেন (দ্বিতীয়টি নিরাপদ বলে মনে হচ্ছে তবে সুপারউসারদের থেকে সংযোগগুলি আটকাবে না)।
/* Method 1: update system catalog */
UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'mydb';
/* Method 2: use ALTER DATABASE. Superusers still can connect!
ALTER DATABASE mydb CONNECTION LIMIT 0; */
ব্যবহার করে এই ডাটাবেসের সাথে সংযুক্ত সমস্ত ক্লায়েন্টের সংযোগ বিচ্ছিন্ন করুন pg_terminate_backend
।
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'mydb';
/* For old versions of PostgreSQL (up to 9.1), change pid to procpid:
SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity
WHERE datname = 'mydb'; */
ডাটাবেসটি ফেলে দিন।
DROP DATABASE mydb;
ধাপ 1 প্রয়োজন সুপার-ইউজার 1 ম পদ্ধতির জন্য বিশেষাধিকার, এবং ডাটাবেসের মালিক 2nd এক জন্য বিশেষাধিকার। পদক্ষেপ 2 প্রয়োজন সুপার-ইউজার বিশেষাধিকার। পদক্ষেপ 3 ডাটাবেসের মালিকের অধিকার প্রয়োজন ge
* এটি পোস্টগ্র্রেএসকিউএল এর সমস্ত সংস্করণে প্রযোজ্য, সংস্করণ 11 পর্যন্ত।