BEGIN; CREATE TABLE IF NOT EXISTS audit_logs_archive (LIKE audit_logs INCLUDING ALL); INSERT INTO audit_logs_archive SELECT * FROM audit_logs WHERE created_at < NOW() - INTERVAL '90 days'; DELETE FROM audit_logs WHERE created_at < NOW() - INTERVAL '90 days'; SELECT 'archive' as source, count(*) FROM audit_logs_archive UNION ALL SELECT 'main' as source, count(*) FROM audit_logs; COMMIT;