Postgresql 用户定义函数创建日期或修改日期

Anu*_*eni 1 postgresql

有什么方法可以检查何时在 PostgreSQL 中创建或更改用户定义的函数

a_h*_*ame 5

这可以使用事件触发器来完成

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(); 
Run Code Online (Sandbox Code Playgroud)

但是除非您提前创建一个事件触发器来记录函数的创建,否则无法知道函数是何时创建的。