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

psql:FATAL:भूमिका के लिए बहुत सारे कनेक्शन

क्लस्टर के किसी भी DB के अंदर से:

कैच 22:आपको पहले डेटाबेस से कनेक्ट होना होगा। हो सकता है कि आप किसी अन्य उपयोगकर्ता के रूप में जुड़ सकें? (डिफ़ॉल्ट रूप से, कुछ कनेक्शन superuser_reserved_connections सेटिंग।)

इस उपयोगकर्ता द्वारा प्रत्येक कनेक्शन के लिए विस्तृत जानकारी प्राप्त करने के लिए:

SELECT *
FROM   pg_stat_activity
WHERE  usename = 'user_name';

समान उपयोगकर्ता . के रूप में या सुपरयूज़र के रूप में आप किसी उपयोगकर्ता के सभी (अन्य) कनेक्शन रद्द कर सकते हैं:

SELECT pg_cancel_backend(pid)     -- (SIGINT)
    -- pg_terminate_backend(pid)  -- the less patient alternative (SIGTERM)
FROM   pg_stat_activity
WHERE  usename = 'user_name'
AND    pid <> pg_backend_pid();

बेहतर यह सुनिश्चित करें कि ऐसा करना ठीक है। आप इस तरह महत्वपूर्ण प्रश्नों (या कनेक्शन) को समाप्त नहीं करना चाहते।

pg_cancel_backend() और pg_terminate_backend() मैनुअल में।

लिनक्स शेल से

क्या आपने उन अन्य कनेक्शनों को स्वयं शुरू किया था? शायद आपकी कोई लटकती हुई स्क्रिप्ट? आपको उन्हें मारने में सक्षम होना चाहिए (यदि आप सुनिश्चित हैं कि ऐसा करना ठीक है)।

आप ps . से जांच कर सकते हैं किन प्रक्रियाओं में त्रुटि हो सकती है:

ps -aux
ps -aux | grep psql

यदि आप मारने की प्रक्रिया की पहचान करते हैं (बेहतर सुनिश्चित करें, आप नहीं करते हैं सर्वर को मारना चाहते हैं):

kill  123457689 # pid of process here.

या SIGKILL . के साथ SIGTERM . के बजाय :

kill -9 123457689


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS RDS डेटाबेस इंस्टेंस पर सुरक्षा समूह बदलें

  2. क्या पोस्टग्रेज में डेटाबेस लेनदेन में संग्रहीत कार्यविधियाँ चलती हैं?

  3. अगले चुनिंदा पोस्टग्रेज तक पंक्तियों को लॉक करें

  4. उत्पादन PostgreSQL डेटाबेस को प्रबंधित करना आसान बनाना

  5. C# का उपयोग करके PostgreSql से छवि कैसे डालें और पुनर्प्राप्त करें