Обсуждение: transaction in progress

Поиск
Список
Период
Сортировка

transaction in progress

От
"Rick Gigger"
Дата:
Is there a convenient way to tell in postgres if a transaction has been
started or not?


Re: transaction in progress

От
Bruce Momjian
Дата:
Rick Gigger wrote:
> Is there a convenient way to tell in postgres if a transaction has been
> started or not?

libpq has PQtransactionStatus, though I wonder why we don't have this
visible via a read-only GUC variable to make it easier for other languages.

Anyone?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: transaction in progress

От
Tom Lane
Дата:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> libpq has PQtransactionStatus, though I wonder why we don't have this
> visible via a read-only GUC variable to make it easier for other languages.

Because it'd be useless --- the only way to interrogate it would be via
SHOW or some other SQL command, which would have the effect of changing
your transaction status, at least with client libraries that implement
autocommit.  Not to mention that the SHOW itself would fail if you're
in a failed transaction.

You have to have an out-of-band mechanism for checking xact status.
Thus PQtransactionStatus.  AFAIK there are already equivalent APIs
in other popular libraries.

            regards, tom lane