Configuring Logging for Postgres.app
You're using Postgres.app on a Mac for local development but are getting SQL errors from your application. You're seeing an error message:
ERROR: current transaction is aborted, commands ignored until end of transaction block
This isn't very useful.
Turn on logging and watch the log files when the error is generated.
This is done by editing~/Library/Application Support/Postgres/var/postgresql.conf and setting:
logging_collector = on log_directory = 'pg_log'
then restarting Postgres to pick up the new settings. You can then watch the log files to find out which queries are failing:
$ tail -f ~/Library/Application Support/Postgres/var/pg_log/*
By default, Postgres.app does not have logging enabled which makes local debugging difficult.