I am trying to create an ActiveRecord Object.But I'm getting this error while creating it.
(0.1ms) ROLLBACK
ActiveRecord::StatementInvalid: PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
Any ideas folks regarding the issue.
None of the other answers fix the root cause of the issue.
The problem is that when Postgres raises an exception, it poisons future transactions on the same connection.
The fix is to rollback the offending transaction:
begin
ActiveRecord...do something...
rescue Exception => e
puts "SQL error in #{ __method__ }"
ActiveRecord::Base.connection.execute 'ROLLBACK'
raise e
end
See reference.