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

पोस्टग्रेस्क्ल सत्र/कनेक्शन को मारें

आप किसी कनेक्शन को समाप्त करने के लिए pg_terminate_backend() का उपयोग कर सकते हैं। इस फ़ंक्शन का उपयोग करने के लिए आपको सुपरयुसर होना होगा। यह सभी ऑपरेटिंग सिस्टम पर समान रूप से काम करता है।

SELECT 
    pg_terminate_backend(pid) 
FROM 
    pg_stat_activity 
WHERE 
    -- don't kill my own connection!
    pid <> pg_backend_pid()
    -- don't kill the connections to other databases
    AND datname = 'database_name'
    ;

इस क्वेरी को निष्पादित करने से पहले, आपको नए कनेक्शन से बचने के लिए कनेक्ट विशेषाधिकारों को रद्द करना होगा:

REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
<ब्लॉकक्वॉट>

यदि आप Postgres 8.4-9.1 का उपयोग कर रहे हैं, तो pid ​​के बजाय procpid का उपयोग करें

SELECT 
    pg_terminate_backend(procpid) 
FROM 
    pg_stat_activity 
WHERE 
    -- don't kill my own connection!
    procpid <> pg_backend_pid()
    -- don't kill the connections to other databases
    AND datname = 'database_name'
    ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres SQL में `->>` और `->` में क्या अंतर है?

  2. SQL उन तत्वों का चयन करता है जहाँ फ़ील्ड का योग N . से कम है

  3. PostgreSQL में तिथियों के साथ कार्य करना

  4. लगातार दोहराव/डुप्लिकेट की संख्या का आदेश दिया

  5. एसक्यूएल चयन गति int बनाम varchar