Re: background jobs

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Kumar S <ps_postgres(at)yahoo(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: background jobs
Date: 2005-03-06 13:28:04
Message-ID: 20050306132804.GA81378@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On Sat, Mar 05, 2005 at 09:28:57PM -0800, Kumar S wrote:

> I am using a laptop and some of my .sql files with
> insert statements (300K insert statements) take very
> long time.

How long is "very long"? Have you seen the "Performance Tips" chapter
in the documentation, in particular the "Populating a Database" section?

http://www.postgresql.org/docs/8.0/interactive/populate.html

Are you using transactions? Wrapping a lot of INSERTs in a transaction
should be significantly faster than doing each INSERT as its own
transaction.

Have you considered using COPY instead of INSERT? COPY should be
significantly faster than INSERT for bulk loads.

> Could any one help to setup a background job where I
> can start a job and forget until the next morning to
> see that the job is finished.
>
> Should it be something like the following:
> myserver$ psql -d mydb -d node2|\i /insert.sql &>

See the psql documentation and your shell's documentation on how to run
a background job and redirect its output; you might also need to use
"nohup". For example, the following might work in Bourne-like shells
(bash, sh, ksh, etc.):

nohup psql -d mydb -f insert.sql > insert.log 2>&1 &

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Kumar S 2005-03-06 16:05:44 Re: background jobs
Previous Message Philip Pinkerton 2005-03-06 13:21:28 Database drivers