| Slony-I 2.2.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 8. Schema schemadoc | Fast Forward | Next |
Function Properties
Language: PLPGSQL
Return Type: integer
logswitch_start() Initiate a log table switch if none is in progressDECLARE
v_current_status int4;
BEGIN
-- ----
-- Get the current log status.
-- ----
select last_value into v_current_status from sl_log_status;
-- ----
-- status = 0: sl_log_1 active, sl_log_2 clean
-- Initiate a switch to sl_log_2.
-- ----
if v_current_status = 0 then
perform "pg_catalog".setval('sl_log_status', 3);
perform registry_set_timestamp(
'logswitch.laststart', now());
raise notice 'Slony-I: Logswitch to sl_log_2 initiated';
return 2;
end if;
-- ----
-- status = 1: sl_log_2 active, sl_log_1 clean
-- Initiate a switch to sl_log_1.
-- ----
if v_current_status = 1 then
perform "pg_catalog".setval('sl_log_status', 2);
perform registry_set_timestamp(
'logswitch.laststart', now());
raise notice 'Slony-I: Logswitch to sl_log_1 initiated';
return 1;
end if;
raise exception 'Previous logswitch still in progress';
END;