Tom Lane wrote:
"Justin R. Smith" <jsmith@xxxxxxxxxx> writes:
I've solved the problem.
I was accessing Postgres over an ssh connection and had enabled X
forwarding in the sshd server (not the default configuration). For
reasons that pass understanding, psql attempts to establish an X
connection with EACH elementary operation it performs (unless no such
connection is possible). It doesn't actually USE this X connection for
anything as far as I know, but the attempt to make the connection over a
slow communication line creates an enormous delay,
Now this was happening with external commands like create_user and
create_db?
If so, I would expect you have a really weird library issue. In this
case, a stack trace on a hung process might be very informative.
If not, check your PAGER settings (I find that although I normally
prefer less, more is better in this case).
Reconfiguring the sshd server to NOT forward X connections solved the
problem. Database operations take fractions of a second now...
It still seems likely that you will want to track this down in case
something else is wrong that you only discover later.
Interestingly, it does NOT help to have X forwarding turned off only in
the client: sshd itself must not do any forwarding.
[ scratches head... ] That makes no sense at all. psql doesn't even
know what X is, let alone try to open X connections for every database
operation.
Is it conceivable that the openssl library would do this? That would
seem pretty broken too.
Something is broken. That is for sure. And it probably isn't
PostgreSQL....
How are you using ssh to access the database, exactly? Is psql running
through a tunnel port, or what? What versions of ssl/ssh at each end of
the connection?
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org