select queue_name, pgq.maint_rotate_tables_step1(queue_name) from pgq.queue;
queue_name | maint_rotate_tables_step1
------------+---------------------------
- myqueue | 1
+ myqueue | 0
(1 row)
select pgq.maint_rotate_tables_step2();
maint_rotate_tables_step2
---------------------------
- 1
+ 0
(1 row)
-- test extra
(1 row)
end;
+select * from pgq.maint_operations();
+ func_name | func_arg
+-------------------------------+----------
+ pgq.maint_rotate_tables_step1 | myqueue
+ pgq.maint_rotate_tables_step2 |
+(2 rows)
+
+alter table pgq.queue add column queue_extra_maint text[];
+select * from pgq.maint_operations();
+ func_name | func_arg
+-------------------------------+----------
+ pgq.maint_rotate_tables_step1 | myqueue
+ pgq.maint_rotate_tables_step2 |
+(2 rows)
+
+update pgq.queue set queue_extra_maint = array['baz', 'foo.bar'];
+select * from pgq.maint_operations();
+ func_name | func_arg
+-------------------------------+----------
+ pgq.maint_rotate_tables_step1 | myqueue
+ pgq.maint_rotate_tables_step2 |
+ baz | myqueue
+ foo.bar | myqueue
+(4 rows)
+
-- i_queue_name - Name of the queue
--
-- Returns:
--- 1 if rotation happened, otherwise 0.
+-- 0
-- ----------------------------------------------------------------------
declare
badcnt integer;
where tick_queue = cf.queue_id
and txid_snapshot_xmin(tick_snapshot) < cf.queue_switch_step2;
- return 1;
+ return 0;
end;
$$ language plpgsql; -- need admin access
update pgq.queue
set queue_switch_step2 = txid_current()
where queue_switch_step2 is null;
- return 1;
+ return 0;
end;
$$ language plpgsql; -- need admin access
select pgq.insert_event('myqueue', 'test', 'event3');
end;
+select * from pgq.maint_operations();
+alter table pgq.queue add column queue_extra_maint text[];
+select * from pgq.maint_operations();
+update pgq.queue set queue_extra_maint = array['baz', 'foo.bar'];
+select * from pgq.maint_operations();
\i functions/pgq.maint_retry_events.sql
\i functions/pgq.maint_rotate_tables.sql
\i functions/pgq.maint_tables_to_vacuum.sql
+\i functions/pgq.maint_operations.sql
-- Group: Random utility functions