启用自动提交时,Search_path更改

时间:2014-05-12 13:35:04

标签: postgresql

在PostgreSQL v9.2中通过启用了自动提交的psql插入或更新表时,在第一次操作之后,search_path会发生变化。无论我是否发出明确的提交,都会发生这种情况。

非常感谢你的帮助。

$ psql -d db_name -U my_user
AUTOCOMMIT is: off
psql.bin (9.2.4)
Type "help" for help

No entry for terminal type "xterm";
using dumb terminal settings.
db_name=> show search_path;
 search_path
-------------
 my_user
(1 row)

db_name=> select session_user, current_user;
 session_user | current_user
--------------+--------------
 my_user      | my_user
(1 row)

db_name=> update state_list set comments='new comments.' where id_state_list = 1;
UPDATE 1
db_name=> commit;
COMMIT
db_name=> show search_path;
 search_path
-------------
 auditor, public
(1 row)

db_name=> select session_user, current_user;
 session_user | current_user
--------------+--------------
 my_user      | my_user
(1 row)

db_name=> select * from state_list;
ERROR: relation "state_list" does not exist
LINE 1: select * from state_list;
                      ^

db_name=> 

1 个答案:

答案 0 :(得分:1)

ON UPDATE触发器正在更改参数。

如果您需要覆盖函数中的SET,请使用CREATE FUNCTION语句中的search_path子句。