From: | Christophe Pettus <xof(at)thebuild(dot)com> |
---|---|
To: | Bryn Llewellyn <bryn(at)yugabyte(dot)com> |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, rjuju123(at)gmail(dot)com, pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode? |
Date: | 2023-02-20 20:05:21 |
Message-ID: | 931EFF56-1B39-4EA9-B9C1-3D3E2315401B@thebuild.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> On Feb 20, 2023, at 11:57, Bryn Llewellyn <bryn(at)yugabyte(dot)com> wrote:
> 2. If I send over "begin" and then "insert into s.t(v) values(42)", then (so far) a second session will not see the effect of my SQL's. It sees this only when I send over "commit". (If I send over "rollback" instead of "commit", then other sessions never know what I did.)
This may or may not be true. If the second session currently has a transaction open in REPEATABLE READ or SERIALIZABLE mode, it *won't* see the effects of that statement, since it took its snapshot at the start of the transaction (to be technical, at the first statement in that transaction), and holds it until commit time. However, a transaction in READ COMMITTED mode *will* see the results after the statement completes.
> I can't see that a client-side "autocommit off" mode like psql supports brings me anything of value.
There's general agreement on that point.
https://www.cybertec-postgresql.com/en/disabling-autocommit-in-postgresql-can-damage-your-health/
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2023-02-20 20:10:42 | Re: Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode? |
Previous Message | Adrian Klaver | 2023-02-20 19:59:59 | Re: pg_dump'ed file contains "DROP DATABASE" |