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:
Posts (Atom)