| drunk2 | | нет. придется писать функцию |
Функцию, действительно, придётся писать! :-)
Опираясь на результаты поиска по форуму, и если очень уж невмоготу, можно проделать что-нибудь подобное:
postgresql.conf:
custom_variable_classes = 'public'
blablabla.sql:
drop function var_set (text,text) cascade;
drop function var_get (text) cascade;
create function var_set (text,text) returns text
as
'
select set_config (''public.''||$2, $1, false);
' language 'sql';
create function var_get (text) returns text
as
'
select current_setting(''public.''||$1);
' language 'sql';
create operator >>> (procedure = var_set, leftarg = text, rightarg = text);
create operator <<< (procedure = var_get, rightarg = text);
Проверяем:
test=# select now() >>> 'script start';
?column?
------------------------------
2007-01-17 10:16:46.29551+05
(1 запись)
test=# select <<< 'script start';
?column?
------------------------------
2007-01-17 10:16:46.29551+05
(1 запись)
PS: 2domanix, спасибо за инфу, кстати. |