heroku上のRailsアプリケーションから書き込みができなくなりました。
PGに書き込めないというエラー
heroku logs
でログを確認します。
エラー抜粋
Completed 500 Internal Server Error in 16ms (ActiveRecord: 4.8ms)
ActiveRecord::StatementInvalid (PG::InsufficientPrivilege: ERROR: permission denied for relation events
・・・
Internal Server Error
がでていて、PGにpermission denied
というエラーがでています。
pg:infoを確認
herokuのpgの状態を確認します。
pgの状態を確認
heroku pg:info
Write access revokedになっている
pgを確認
heroku pg:info --app pugiemonn-com
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 2/20
PG Version: 9.4.9
Created: 2015-06-22 12:09 UTC
Data Size: 20.1 MB
Tables: 9
Rows: 62634/10000 (Write access revoked)
Fork/Follow: Unsupported
Rollback: Unsupported
Add-on: gazing-quickly-4990
Rowsに注目するとWrite access revokedと表示されています。
上限が1万行とあるのに6万行書き込まれているのが問題なのかと考えました。
レコードを削除
heroku pg:psqlを使用して1万行以上レコードがあるテーブルを確認し、レコードを削除しました。
再度pg:infoを確認
再びpg:infoを実行します。
pgを確認
heroku pg:info --app pugiemonn-com
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 2/20
PG Version: 9.4.9
Created: 2015-06-22 12:09 UTC
Data Size: 20.0 MB
Tables: 9
Rows: 301/10000 (Write access revoked) - refreshing
Fork/Follow: Unsupported
Rollback: Unsupported
Add-on: gazing-quickly-4990
Write access revokedとは表示されていますが、こんどはrefreshingがついています。
少し待ってから再度pg:info
pgを確認
heroku pg:info --app pugiemonn-com
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 2/20
PG Version: 9.4.9
Created: 2015-06-22 12:09 UTC
Data Size: 16.7 MB
Tables: 9
Rows: 303/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Add-on: gazing-quickly-4990
Rowsの箇所がIn complianceに変わっています。
Railsから書き込み
今度は書き込みができました
参考