0
パーティション(子テーブル)を持つテーブルに挿入時にトリガーを持つPostgres 9.4データベースがあります。トリガは、新しいパーティションテーブルに対して定期的に更新する必要のあるプロシージャを呼び出します。私は、トリガプロシージャを更新した後でも、トリガはそのプロシージャの前のバージョンを呼び出すように見えます。なぜなら、挿入が使用可能なパーティションに関して範囲外であれば例外をスローするからです。 Postgresに正しいトリガプロシージャを使用させるにはどうしたらいいですか?postgresがトリガ機能を更新しましたが、効果がありません
敬具、 甲斐
どのように正しいものを選択しようとしますか?コードなしでは、あなたを助けるのは難しいです。 –
親テーブルの 'BEFORE INSERT ON'トリガで呼び出されたトリガプロシージャ名で 'CREATE OR REPLACE FUNCTION'を実行しました。関数の内容はレコードの作成日をチェックし、それをパーティションの1つにソートします。次の日付範囲で新しいパーティションが追加されましたが、トリガープロシージャが '\ df +'コールで期待通りに表示されていても、トリガー呼び出しは範囲外のままであると文句を言います – Kai
関数を置き換えるとすぐに使用します。 (1)トリガーを変更した場所でトランザクションをコミットした、(2)正しいデータベースとスキーマを探しています。(3)異なる機能を(類似した名前でも)探していませんか? – MatheusOl