Canvas LMS + AWS RDS PostreSQL で wal_level を logical にする必要が出た
Posted: | Categories: RDS | Tags: PostgreSQL, RDS
背景
AWS RDS PostgreSQL の wal_level を logical にする必要が出た
Canvas LMS + AWS RDS の構成でセットアップを行おうとすると、 PostgreSQL の wal_level が logical である事を求められた。
通常、postgres.conf を修正するが、RDS ではできないのでパラメーターグループの設定を行った。
rds.logical_replication = 1 と変更する必要がある。
環境
| 設定 | 値 |
|---|---|
| DB エンジン | Aurora PostgreSQL |
| エンジンバージョン | 10.14 |
| DB クラスターのパラメータグループ | default.aurora-postgresql10 |
手順
パラメーターグループをデフォルトのまま使っていたので、別途新しくパラメーターグループを作った。
DB クラスターパラメータグループに作る。
参考
wal_level のエラー
stable/2021-04-14 のリリースを用いての構築では問題なかったが、 stable/2021-08-18 のリリースを用いた構築では
RAILS_ENV=production bundle exec rake db:initial_setup
の段階でエラーがでて先に進まなくなった。
ERROR: wal_level must be set to 'logical'
HINT: WAL control functions cannot be executed when wal_level < logical.
正確には stable/2021-04-14 のリリースでもディスカッション機能で wal_level logical のエラーは出ていた。 Canvas LMS 自体が、この機能を多用するようになったのかもしれない。
Read more...