From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50,DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 From: "Andrey Liakhovets" To: sisyphus@lists.altlinux.org X-Mailer: CommuniGate Pro WebUser v5.0.14 Date: Thu, 14 Apr 2011 10:16:22 +0400 Message-ID: In-Reply-To: <4DA67A0D.2090605@bgc.perm.ru> References: <4DA67A0D.2090605@bgc.perm.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="KOI8-R" Content-Transfer-Encoding: 8bit Subject: Re: [sisyphus] =?koi8-r?b?1MXeo9QgcHNxbD8=?= X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2011 06:16:28 -0000 Archived-At: List-Archive: List-Post: 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 ещё не свопится) Андрей Ляховец