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

ActiveRecord ::StatementInvalid:PG InFailedSqlTransaction

अन्य कोई भी उत्तर मूल कारण को ठीक नहीं करता है मुद्दे का।

समस्या यह है कि जब Postgres एक अपवाद उठाता है, तो यह उसी कनेक्शन पर भविष्य के लेन-देन में जहर घोल देता है।

आपत्तिजनक लेन-देन को रोलबैक करना ठीक है:

begin
  ActiveRecord...do something...
rescue Exception => e
  puts "SQL error in #{ __method__ }"
  ActiveRecord::Base.connection.execute 'ROLLBACK'

  raise e
end

संदर्भ देखें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL तालिका बनाएँ

  2. Django विकास डेटाबेस को डिफ़ॉल्ट SQLite से PostgreSQL में बदलना

  3. psycopg2 के साथ बाइनरी कॉपी टेबल का उपयोग करें

  4. विंडोज़ के लिए अच्छा पोस्टग्रेस्क्ल क्लाइंट?

  5. टाइप कैरेक्टर अलग-अलग के लिए बहुत लंबा मान (एन)