7

RDS Postgres データベースにイベントトリガーが必要です。最終的には、スキーマに変更があるたびに通知を受ける必要があります。単純な古い Postgres (つまり、非 RDS インスタンス) では、これは正常に機能します。ただし、RDS では次を実行します。

CREATE EVENT TRIGGER audit ON ddl_command_start EXECUTE PROCEDURE stat_audit();

結果:

ERROR:  permission denied to create event trigger
HINT:  Must be superuser to create an event trigger.

私が理解している限り、RDS で最も特権的なロールは rds_superuser です。アカウントに rds_superuser を付与しました (例: grant rds_superuser to someuser;)。それでも、イベント トリガーを作成できません。rds_superuser が pg スーパーユーザーとまったく同じ役割ではないことは理解しています (これは、SHOW is_superuserまたはを実行することで確認できますSELECT * FROM pg_user)。また、RDS が真のスーパーユーザー権限をロックダウンする理由も理解していますが、イベント トリガーにアクセスできない場合、かなり重大な制限のようです。何か不足していますか?RDS 上の Postgres でイベント トリガーを設定することは可能ですか? そうでない場合、同じ機能を模倣する代替手段はありますか? RDS イベント通知については認識していますが、スキーマ変更イベントをサブスクライブするオプションがないようです。

4

1 に答える 1