I use Apartment gem in Rails 4 to support multi-tenancy in Postgres 9.3.3 on Heroku.
An error is occurred when Apartment gem creates a new tenant.
Deep investigation showed that a schema was created, but no tables inside.
Heroku logs showed an error:
PG::Error: ERROR: function pg_stat_statements_reset() does not exist
When a new schema is created Postgres is trying to reset stats by executing the function pg_stat_statements_reset()
By default, this function can only be executed by superusers (from original doc).
Heroku doesn't give you superuser privileges. So you need to disable extension pg_stat_statements.
Solution 1 - Quick hot fix directly in DB
Execute SQL statement in schema public
Solution 2 - via migration
1) Check the file db/schema.rb. Most probably it contains a line
2) Create a migration file
3) define self.up method
4) apply the migration
5) Now the file db/schema.rb should not contain that line
6) Commit changes (schema and migration files) and deploy to Heroku
Regarding the rake task see deploy.rake