Postgres Cron
Jump to navigation
Jump to search
per poter schedulare jon all'nterno di postgres, è necessario installare un componente aggiuntivo:
apt install postgresql-14-cron
successivamente va configurato:
alter system set shared_preload_libraries = 'pg_cron'; -- serve riavvio per poter eseguire gli altri comandi di configurazione -- NON SERVE: SELECT pg_reload_conf(); -- NON FUNZIONA: load 'pg_cron'; alter system set cron.database_name = 'postgres'; create extension pg_cron; -- grant usage on schema cron to utente01;
per utilizzarlo, ci sono le funzioni:
select * from cron.job;
-- Delete old data on Saturday at 3:30am (GMT) SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);
-- Vacuum every day at 10:00am (GMT) SELECT cron.schedule('0 10 * * *', 'VACUUM');
-- Unschedule all tasks SELECT cron.unschedule(jobid) FROM cron.job;