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

यह PostgreSQL लेनदेन चेतावनी क्यों देता है:कोई लेनदेन प्रगति पर नहीं है

ऐसा लगता है कि यह एक गलतफहमी है। मेरे बोल्ड जोर . पर विचार करें :

चेतावनी स्पष्ट रूप से एक विभिन्न समवर्ती लेनदेन . से संबंधित है , जिसने एक स्पष्ट लेनदेन शुरू नहीं किया। commit गलत जगह है वहां , चूंकि यह ऑटोकॉमिट मोड में काम कर रहा है।

यदि आप अपना लॉग पढ़ना जारी रखते हैं, तो संभवत:आपको कमिट के लिए एक प्रविष्टि और नीचे मिल जाएगी:

डीबग

यदि आपको न तो वह मिलता है और न ही कोई rollback प्रविष्टि और न ही कोई त्रुटि, मैं आपके ऐप में अनकमिटेड ज़ोम्बी लेनदेन को छोड़कर समस्याओं की जाँच करूँगा, जो एक बुरी बात होगी।

सिस्टम दृश्य की जाँच करके जाँच शुरू करें pg_stat_activity आपके डेटाबेस से कनेक्ट होने के दौरान:

SELECT *
FROM   pg_stat_activity
WHERE  datname = current_database()  -- only current database
AND    pid <> pg_backend_pid()       -- except your current session
AND    state LIKE 'idle%';

state मान idle अनिवार्य रूप से संदिग्ध नहीं है - बस एक सत्र जो इनपुट की प्रतीक्षा कर रहा है।
लेकिन idle in transaction और idle in transaction (aborted) हैं।

मैन्युअल यहां में अधिक ए> या ये संबंधित उत्तर:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 15 मिनट की विंडो के लिए डेटा चुनें - PostgreSQL

  2. अधिकतम के साथ क्वेरी द्वारा धीमे समूह को पोस्टग्रेज करता है

  3. क्या आप पोस्टग्रेज में पहले से मौजूद कॉलम पर अनुक्रम बना सकते हैं?

  4. SQL के साथ Postgres db 8.1 में सभी अनुक्रमों को सूचीबद्ध करें

  5. PostgreSQL फ़ंक्शन बनाते समय Array_append का उपयोग करने से मुझे सिंटैक्स त्रुटि मिलती है