既存のテスト環境をAmazon RDS PostgreSQLに移行しています。テストフレームワークには、特定のテーブルのデータを以前の状態にリロードする機能があります。このため、外部キーを無効にし、既存のデータを削除し、保存状態をロードして、外部キーを再度有効にします。
現在、テストフレームワークはすべてのトリガーを無効にすることで外部キーを無効にします(もちろん、これにはスーパーユーザーが必要です)。
alter table tablename disable trigger all;RDSでは、これは失敗します。
エラー:拒否された権限:「RI_ConstraintTrigger_a_20164」はシステムトリガーです
Amazon RDS PostgreSQLで外部キーを一時的に無効にするにはどうすればよいですか?
注:同様の質問がすでに尋ねられています(RDS上のPostgreSQL:FK制約を使用してデータを一括インポートする方法は?)
                  おそらくこれはスタックオーバーフローの質問でしょうか?
                
                
                  
                    —
                    Piotr Findeisen 2015 
                    
                  
                
              
                  そう思わない-それはデータベース管理に非常に明確に関連しています。
                
                
                  
                    —
                    Vérace 
                    
                  
                
              
                  FKを無効にするにはどうすればよいですか?なぜRDSでは異なるものになると思いますか?また、自分で試してみませんか?
                
                
                  
                    —
                    dezso 2015 
                    
                  
                
              
                  @dezso、コメントありがとうございます。もちろん、RDS以外のPostgreSQLで使用されるコードを追加しました。
                
                
                  
                    —
                    Piotr Findeisen 2015 
                    
                  
                
              
                  そうそう、この方法ではうまくいきません。しかし、FK制約を削除して再作成するのはどうですか?
                
                
                  
                    —
                    dezso 2015