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