Обсуждение: how can I get "initial_value"(setting_name) ?

Поиск
Список
Период
Сортировка

how can I get "initial_value"(setting_name) ?

От
"Marc Mamin"
Дата:
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;

Re: how can I get "initial_value"(setting_name) ?

От
Guillaume Lelarge
Дата:
On Mon, 2011-09-12 at 11:59 +0200, Marc Mamin wrote:
> 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])

See RESET command
(http://www.postgresql.org/docs/9.0/interactive/sql-reset.html).

> - (read)initial_value(setting_name)
>

See pg_settings catalog
(http://www.postgresql.org/docs/9.0/interactive/view-pg-settings.html,
columns boot_val and reset_val).


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: how can I get "initial_value"(setting_name) ?

От
"Marc Mamin"
Дата:
Oops,
not my day :-)

many thanks,

Marc Mamin

-----Original Message-----
From: Guillaume Lelarge [mailto:guillaume@lelarge.info] 
Sent: Montag, 12. September 2011 12:16
To: Marc Mamin
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] how can I get "initial_value"(setting_name) ?

On Mon, 2011-09-12 at 11:59 +0200, Marc Mamin wrote:
> 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])

See RESET command
(http://www.postgresql.org/docs/9.0/interactive/sql-reset.html).

> - (read)initial_value(setting_name)
> 

See pg_settings catalog
(http://www.postgresql.org/docs/9.0/interactive/view-pg-settings.html,
columns boot_val and reset_val).


-- 
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com