create or replace function create_partitions()
returns void
language plpgsql
as $$
declare
c_date_format constant varchar(8) := 'yyyymmdd';
meuk varchar(255);
begin
for r in (select tablename from pg_tables where tablename like 'history_%' and substring (tablename from '........$' < to_char(now() + '-7 day', c_date_format))
loop
meuk := r.tablename;
raise notice '%', meuk;
execute format ('drop table %1$s', r.tablename);
end loop;
end;
$$;
do $$
declare
distance float;
begin
distance := (select ST_Distance(ST_Transform(old."location"::geometry, 3857), ST_Transform(new."location"::geometry, 3857)));
if (distance > 4.0) then
perform create_partitions();
end if;
end;
$$
select create_partitions()
select cron.schedule('10 2 * * *', $$select create_partitions()$$);
-- iedere 5 minuten is: '*/5 * * * *'
select * from cron.job
select cron.unschedule(jobid) from cron.job where jobid = {jobid getal}
select * from history where date > TIMESTAMP 'yesterday'
woensdag 14 april 2021
Postgresql paste
Abonneren op:
Reacties (Atom)