Slony-I 2.1.4 Documentation | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 8. Schema schemadoc | Fast Forward | Next |
8.85. logswitch_start()
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;