我有以下幾點:
CREATE OR REPLACE TRIGGER trigger_commands
AFTER INSERT ON commands
FOR EACH ROW EXECUTE PROCEDURE on_commands_change();
它在本地 Postgres 實體上作業,但在 AWS 上失敗:
[42601] 錯誤:“TRIGGER”處或附近的語法錯誤
但是,如果我洗掉“OR REPLACE”部分:
CREATE TRIGGER trigger_commands
AFTER INSERT ON commands
FOR EACH ROW EXECUTE PROCEDURE on_commands_change();
然后RDS接受它。這是為什么?在每次代碼重新啟動時更新觸發器的最佳方法是什么?
uj5u.com熱心網友回復:
這很可能是 Postgresql 版本不匹配,CREATE OR REPLACE TRIGGER僅適用于 Postgresql 14(請參閱檔案,14和13)。
我建議使用DROP TRIGGER IF EXISTSthenCREATE TRIGGER來向后兼容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/327448.html
標籤:PostgreSQL 亚马逊网络服务 亚马逊
