Re: Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?
Дата
Msg-id CAKFQuwYKYk5E=LBjhxmWBwAZSFuJsZyoLLyf0catEySdQHghJg@mail.gmail.com
обсуждение исходный текст
Ответ на Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?  (Bryn Llewellyn <bryn@yugabyte.com>)
Список pgsql-general

On Mon, Feb 20, 2023 at 12:57 PM Bryn Llewellyn <bryn@yugabyte.com> wrote:
3. Chapter 55 also has a section "Multiple Statements In A Simple Query". But this feature seems to do no more semantically beyond implicitly achieving what I could do by surrounding several statements explicitly with "begin; ... commit;". There is, though, the non-semantic aspect of round-trip reduction. It seems that psql doesn't expose doing many statements in a simple query. (At least, that's what I see in the server log when I put several statements on a single line (with psql's autocommit on).

IIRC psql -c 'insert into tbl values (1); select * from tbl;' uses the simply query protocol with multiple statements.

Then, 55.2.2.1:

> When a simple Query message contains more than one SQL statement (separated by semicolons), those statements are executed as a single transaction

So in effect bundling within the Simple Query Protocol has a similar effect to wrapping all statements in a begin/commit pair.

David J.

В списке pgsql-general по дате отправления:

Предыдущее
От: Christophe Pettus
Дата:
Сообщение: Re: Thanks! Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?
Следующее
От: Marc Millas
Дата:
Сообщение: Re: pg_reload_conf()