1. ホーム
  2. database

PGError: ERROR: リレーションに対するパーミッションが拒否されました (Heroku 使用時)

2023-07-22 01:58:04

質問

最近、ここで説明されているように、データベースの移行プロセスを実行しました。

https://devcenter.heroku.com/articles/migrating-from-shared-database-to-heroku-postgres

今、このようにログにいくつもエラーが表示されています。

PGError: ERROR: リレーションに対するパーミッションが拒否されました

私はそれを修正するために何をすべきかについての任意のアイデア?

どのように解決するのですか?

同じような問題がありましたが、根本的な原因は、私のアプリが古い開発データベースを指しており、それが 10,000 行の制限を超えていたことです。

新しい基本データベースを作成し、すべてをバックアップしましたが、アプリはまだ古い開発データベースを指していました。

heroku pg:info

行を確認する。10300/10000 (なら問題あり)

を行う必要があります。



1) 行数の多いDBを新規に作成する(Basicまたはquot;Production"のもの -> Herokuはより多くのお金を稼ぐためにアップグレードを強制しているようですerrrrr)



2) pgbackupsを使用して古いDBをバックアップします。 heroku pg:backups:capture SMALL_DB_NAME



3)バックアップを新しいDBにリストアします。 heroku pg:backups:restore BACKUP_ID BIG_DB_NAME (詳細は以下のリンクを参照してください)



4) 新しいDBをアプリのプライマリにPROMOTEする。 heroku pg:promote BIG_DB_NAME



はいつでも活用できる。

<ブロッククオート <ブロッククオート

heroku maintenance:on (アップデート中にアプリを無効化するため)



<ブロッククオート <ブロッククオート

heroku maintenance:off



<ブロッククオート <ブロッククオート

heroku pg:info (状態を確認するため)

もしこれが問題なら、あなたはチェックアウトしたいかもしれません。 https://devcenter.heroku.com/articles/heroku-postgres-starter-tier https://devcenter.heroku.com/articles/migrating-from-shared-database-to-heroku-postgres