查找postgresql数据库中所有表的最小值(已创建)

查找postgresql数据库中所有表的最小值(已创建),postgresql,Postgresql,所以,我现在知道我找不到postgresql表(.)的表创建时间。我希望仍然能够获得特定日期后创建的表的代理。我数据库中的大多数表都有一个在日期创建的表。有没有办法在所有表格中检查最小(创建时间)日期>x的表格,而不逐个表格进行查询?免责声明:事实上,这不是整个问题的答案,而只是 所以,我现在知道我找不到postgresql表的表创建时间 是的,但是您可以自己使用收集这些数据 例如: /* drop table if exists t1; drop table if exists public.

所以,我现在知道我找不到postgresql表(.)的表创建时间。我希望仍然能够获得特定日期后创建的表的代理。我数据库中的大多数表都有一个在日期创建的表。有没有办法在所有表格中检查最小(创建时间)日期>x的表格,而不逐个表格进行查询?

免责声明:事实上,这不是整个问题的答案,而只是

所以,我现在知道我找不到postgresql表的表创建时间

是的,但是您可以自己使用收集这些数据

例如:

/*
drop table if exists t1;
drop table if exists public.t2;
drop event trigger if exists tg_table_created_at;
drop function if exists fn_table_created_at(); 
drop table if exists table_created_at;
*/    

create table table_created_at(
  toid oid,
  tname text,
  created_at timestamptz default clock_timestamp());

create function fn_table_created_at()
  returns event_trigger
  language plpgsql
  as $$
begin
  insert into table_created_at(toid, tname)
    select objid, object_identity
    from pg_event_trigger_ddl_commands()
    where command_tag = 'CREATE TABLE';
end $$;

create event trigger tg_table_created_at on ddl_command_end
  execute procedure fn_table_created_at();

create temp table t1();
select pg_sleep(1);
create table public.t2();

select *, toid::regclass from table_created_at;
结果:

╔═══════╤════════════╤═══════════════════════════════╤══════════════╗ ║ toid │ tname │ created_at │ toid ║ ╠═══════╪════════════╪═══════════════════════════════╪══════════════╣ ║ 87803 │ pg_temp.t1 │ 2017-03-03 20:05:44.339811+02 │ pg_temp_3.t1 ║ ║ 87806 │ public.t2 │ 2017-03-03 20:05:45.344503+02 │ public.t2 ║ ╚═══════╧════════════╧═══════════════════════════════╧══════════════╝ ╔═══════╤════════════╤═══════════════════════════════╤══════════════╗ ║ 托伊德│ 名称│ 创建于│ 托伊德║ ╠═══════╪════════════╪═══════════════════════════════╪══════════════╣ ║ 87803│ pg_温度t1│ 2017-03-03 20:05:44.339811+02 │ pg_温度_3.t1║ ║ 87806│ 公共图书馆2│ 2017-03-03 20:05:45.344503+02 │ 公共图书馆2║ ╚═══════╧════════════╧═══════════════════════════════╧══════════════╝
还有几个附加链接:,。

免责声明:实际上,这并不是整个问题的答案,而只是

所以,我现在知道我找不到postgresql表的表创建时间

是的,但是您可以自己使用收集这些数据

例如:

/*
drop table if exists t1;
drop table if exists public.t2;
drop event trigger if exists tg_table_created_at;
drop function if exists fn_table_created_at(); 
drop table if exists table_created_at;
*/    

create table table_created_at(
  toid oid,
  tname text,
  created_at timestamptz default clock_timestamp());

create function fn_table_created_at()
  returns event_trigger
  language plpgsql
  as $$
begin
  insert into table_created_at(toid, tname)
    select objid, object_identity
    from pg_event_trigger_ddl_commands()
    where command_tag = 'CREATE TABLE';
end $$;

create event trigger tg_table_created_at on ddl_command_end
  execute procedure fn_table_created_at();

create temp table t1();
select pg_sleep(1);
create table public.t2();

select *, toid::regclass from table_created_at;
结果:

╔═══════╤════════════╤═══════════════════════════════╤══════════════╗ ║ toid │ tname │ created_at │ toid ║ ╠═══════╪════════════╪═══════════════════════════════╪══════════════╣ ║ 87803 │ pg_temp.t1 │ 2017-03-03 20:05:44.339811+02 │ pg_temp_3.t1 ║ ║ 87806 │ public.t2 │ 2017-03-03 20:05:45.344503+02 │ public.t2 ║ ╚═══════╧════════════╧═══════════════════════════════╧══════════════╝ ╔═══════╤════════════╤═══════════════════════════════╤══════════════╗ ║ 托伊德│ 名称│ 创建于│ 托伊德║ ╠═══════╪════════════╪═══════════════════════════════╪══════════════╣ ║ 87803│ pg_温度t1│ 2017-03-03 20:05:44.339811+02 │ pg_温度_3.t1║ ║ 87806│ 公共图书馆2│ 2017-03-03 20:05:45.344503+02 │ 公共图书馆2║ ╚═══════╧════════════╧═══════════════════════════════╧══════════════╝
还有几个额外的链接:,。

这篇文章似乎有你想要的信息。这篇文章似乎有你想要的信息。