我在PostgreSQL中有一个包含近400个函数的数据库。其中许多函数具有RAISE INFO用于调试目的。现在我想在所有功能中评论这个RAISE INFO。为此,我使用以下查询:
UPDATE information_schema.routines SET routine_definition = REPLACE(routine_definition,'RAISE','-- RAISE') WHERE (routine_definition) like '%RAISE%'
但它给了我以下错误:
ERROR: cannot update view "routines"
SQL state: 55000
Detail: Views that do not select from a single table or view are not automatically updatable.
Hint: To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule.
我不知道该怎么做。
答案 0 :(得分:0)
你想要pg_proc.prosrc,虽然我也担心用你的方法改变其他的RAISE语句。
答案 1 :(得分:0)
谢谢 Richard Huxton
以下是详细信息查询供参考:
UPDATE pg_proc SET prosrc = REPLACE(prosrc,'RAISE','-- RAISE') WHERE (prosrc) like '%RAISE%'