Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Re-run query on automatic reconnect


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: "Jim C. Nasby" <jnasby(at)pervasive(dot)com>
  • Cc: pgsql-hackers(at)postgresql(dot)org
  • Subject: Re: Re-run query on automatic reconnect
  • Date: Mon, 26 Sep 2005 17:03:53 -0400
  • Message-id: <3248(dot)1127768633(at)sss(dot)pgh(dot)pa(dot)us>

"Jim C. Nasby" <jnasby(at)pervasive(dot)com> writes:
> Is there any particular reason why psql doesn't re-run a query that
> failed due to disconnect from the server after re-connecting? I've
> thought maybe it's because it might somehow be dangerous, but I can't
> think of any case where that's actually true.

You haven't thought very hard.

(1) psql cannot tell whether the query was already completed before the
connection dropped; if so, reissuing it would make its effects if any
happen twice (eg, duplicate insert, or adding something to a bank
balance twice).

(2) If inside a transaction block, the query might or might not depend
on previous operations in the same transaction.

(3) The query might depend on previous session-local operations,
such as SET commands or creation of temp tables.

(4) If the query actually caused the server crash, re-issuing it will
probably cause another crash.  Instant infinite loop, complete with
denial of service to all other database users.

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group