有没有办法检查PostgreSQL中何时创建或更改用户定义的函数
这可以使用event trigger完成
create or replace function log_create()
returns event_trigger
as
$$
declare
l_name text;
begin
select object_identity
into l_name
from pg_event_trigger_ddl_commands();
raise notice 'Function %s created', l_name;
end;
$$
language plpgsql;
create event trigger event_trigger_log_create
on ddl_command_end
when tag IN ('CREATE FUNCTION', 'ALTER FUNCTION')
execute procedure log_create();
但除非您事先创建事件触发器以记录函数的创建,否则无法确定何时创建函数。