PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql - DB से कुछ ऑटो कनेक्शन के कारण डेटाबेस को छोड़ने में असमर्थ

आप भविष्य के कनेक्शनों को रोक सकते हैं:

REVOKE CONNECT ON DATABASE thedb FROM public;

(और संभवतः अन्य उपयोगकर्ता/भूमिकाएं; देखें \l+ psql . में )

इसके बाद आप इस डीबी के सभी कनेक्शन समाप्त कर सकते हैं, सिवाय अपने को छोड़कर:

SELECT pid, pg_terminate_backend(pid) 
FROM pg_stat_activity 
WHERE datname = current_database() AND pid <> pg_backend_pid();

पुराने संस्करणों पर pid procpid . कहा जाता था तो आपको इससे निपटना होगा।

चूंकि आपने CONNECT . को निरस्त कर दिया है अधिकार, जो कुछ भी ऑटो-कनेक्ट करने का प्रयास कर रहा था वह अब ऐसा करने में सक्षम नहीं होना चाहिए।

अब आप DB को ड्रॉप कर पाएंगे।

यदि आप सामान्य संचालन के लिए सुपरयूज़र कनेक्शन का उपयोग कर रहे हैं तो यह काम नहीं करेगा, लेकिन यदि आप ऐसा कर रहे हैं तो आपको पहले उस समस्या को ठीक करना होगा।

डेटाबेस को छोड़ने के बाद, यदि आप फिर से डेटाबेस बनाते हैं, तो आप एक्सेस को पुनर्स्थापित करने के लिए नीचे दिए गए कमांड को निष्पादित कर सकते हैं

GRANT CONNECT ON DATABASE thedb TO public;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गतिशील (स्तंभ आधारित) अंतराल

  2. PostgreSQL में एक तालिका और एक परिवर्तन लॉग को एक दृश्य में मर्ज करें

  3. PostgreSQL - IN खंड में अधिकतम पैरामीटर?

  4. PostgreSQL डेटाबेस में मुझे कौन सा टाइमस्टैम्प प्रकार चुनना चाहिए?

  5. Postgres उपयोगकर्ता मौजूद नहीं है?