[sisyphus] течёт psql?

REAL root на mmedia2.kemsu.ru
Чт Апр 14 05:01:32 UTC 2011


14.04.2011 11:50, Дмитрий Дегтярев пишет:
> В Postgres Хранимые процедуры транзакционны поэтому каждая строка есть
> отдельная транзакция.

Насколько я помню, это зависит от параметров соединения. По крайней 
мере, так в Oracle и DB2, так, по идее, вообще по стандарту, если не 
ошибаюсь. Если параметр autocommit установлен в false, то все 
процедуры идут одной транзакцией вплоть до commit, rollback или 
закрытия соединения.

>> А нельзя ли сделать без реконнектов, т.е. один коннект, а транзакций
>> много? Я в psql ни в зуб ногой, но вообще-то нормальные СУБД обязаны
>> уметь такое.
>>
> Так и делаю, но почему то съедает память.

Вот от этого и мои подозрения, что отключен autocommit. Или, как 
вариант, можно перед каждым инсертом поиграться со времем ожидания 
(должно быть что-то вроде аналога sleep в shell).

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


Подробная информация о списке рассылки Sisyphus