Re: problem calling psql multiple times from a script ? - Mailing list pgsql-general

From Tom Lane
Subject Re: problem calling psql multiple times from a script ?
Date
Msg-id 4104.1180538635@sss.pgh.pa.us
Whole thread Raw
In response to problem calling psql multiple times from a script ?  (Paul Tilles <Paul.Tilles@noaa.gov>)
Responses Re: problem calling psql multiple times from a script ?
List pgsql-general
Paul Tilles <Paul.Tilles@noaa.gov> writes:
> I am wondering if one of the previous executions of psql is doing some
> "back room" work in the database while allowing the script to continue.

It takes finite time for the backend to quit, and psql doesn't wait
around for that to happen.  I've noticed that on many systems it seems
that the kernel scheduler actively discriminates against an exiting
backend --- maybe it thinks it's a low-priority background process?
The amount of work needed to start a new psql and a new backend
vastly exceeds what it takes to quit (unless you've got lots of temp
tables to drop, or some such), and yet people report cases like this
pretty often.

We could fix it by making PQfinish() wait for the connection to drop,
but that cure could be worse than the disease; most apps would just
see this as useless delay.

In the meantime, a sleep(1) or some such before trying to drop a
recently-used database ought to be a usable workaround.

            regards, tom lane

pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: 8.3
Next
From: Gino.Barille@gmail.com
Date:
Subject: On-line / off-line trace of SQL statements presented to the Postgres SQL engine