这是AWS RDS下的Postgres 10.3。
在下面的摘录中,我仅使用public作为search_path。
我正在尝试采用如下定义的现有事件触发器:
FragmentPagerAdapter
哪个是过去创建的,并显示如下:
CREATE EVENT TRIGGER update_last_modified ON ddl_command_end
WHEN tag IN ('CREATE TABLE')
EXECUTE PROCEDURE mll_audit();
新触发器将调用一个新过程,但是暂时,我只是在尝试验证是否可以创建一个新过程:
=> \df *modified*
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+----------------------+------------------+---------------------+---------
public | update_last_modified | trigger | | trigger
显然,这可以很好地显示,但不会显示:
CREATE EVENT TRIGGER deltest_update_last_modified ON ddl_command_end
WHEN tag IN ('CREATE TABLE')
EXECUTE PROCEDURE mll_audit();
如果我尝试不删除就重新创建,它会错误地指出它已经存在:
=> CREATE EVENT TRIGGER deltest_update_last_modified ON ddl_command_end
WHEN tag IN ('CREATE TABLE')
EXECUTE PROCEDURE mll_audit();
CREATE EVENT TRIGGER
rwe=> \df *deltest*modified*
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
=> \df *modified*
List of functions
Schema | rwe=> \df *deltest*modified*
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
=> \df *modified*
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+----------------------+------------------+---------------------+---------
public | update_last_modified | trigger | | trigger
(1 row)
=> select proname from pg_proc where proname like '%modified%';
proname
----------------------
update_last_modified
(1 row)
我觉得我必须缺少一些基本知识。我只想在公共架构中创建它。
答案 0 :(得分:1)
\df
列出函数,而不是事件触发器。 \dy
用于列出事件触发器。您只是碰巧 还有一个名为update_last_modified
的函数(也许是无意的?)。