[sisyphus] течёт psql?

Andrey Liakhovets liakh на dol.ru
Чт Апр 14 06:16:22 UTC 2011


On Thu, 14 Apr 2011 10:37:33 +0600 Дмитрий Дегтярев wrote:
 ...
>всего строк 8-9 миллионов в день нужно загонять в базу.
>
>Если делать так
>$ awk '{print ....}' | psql -U user -d db -h host.local
>то через пару минут psql уже занял 1,5 ГБ ОЗУ и пришлось прервать,
>т.к. всё залезло в своп.
>
>если сформировать сначала файл(довольно быстро, 2-3 минуты), а потом
>psql -U user -d db -h host.local -f file.sql
>то занимает в ОЗУ всего 6Кб. Работает так минут 15, а затем начинает
>всё свопиться, смотрю память psql опять занял 1,5 Гб.
...
>сейчас заливаю так
>$ awk '{print ....}' | while read l; do
>     echo $l | psql -U user -d db -h host.local
>done;
>это не реально долго из-за 8000000 лишних запусков psql, реконнектов к базе...

А если кусками, скажем, по 1000 строк?
(или на скольких там у вас psql ещё не свопится)

Андрей Ляховец


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