differentiated memory settings

Hello,

I need to implement differentiate memory settings in order to favor some
given operations.
(see function below)

I miss an admin function to reset the settings to the initial values.

Do I oversight something ?

For the case such a function is not yet available, I guess that
following may prove useful:

- reset_setting (setting_name [, is_local])
- (read)initial_value(setting_name)

best regards,

Marc Mamin



CREATE OR REPLACE FUNCTION public.cic_set_memory_plan (p_plan varchar)
returns int AS
$$
BEGIN

--LSORT, MSORT, LMAINT, RESET

if p_plan  = 'RESET' then

  SELECT set_config('work_mem', ???), false);
  SELECT set_config('maintenance_work_mem', ??, false);

elsif p_plan  = 'LSORT' then

  SELECT set_config('work_mem', current_setting('cic.large_sortmem'),
false);

elsif p_plan  = 'MSORT' then

  SELECT set_config('work_mem', current_setting('cic.mid_sortmem'),
false);

elsif p_plan  = 'LMAINT' then

  SELECT set_config('maintenance_work_mem',
current_setting('cic.large_maintenance_mem'), false);

else  
  
  raise warning 'cic_set_memory_plan called with unsupportted parameter:
%', p_plan;

end if;  

return 0;

END;
$$
language 'PLPGSQL' VOLATILE;

-- 
Sent via pgsql-admin mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Reply via email to