Обсуждение: AutoCommit statements do no work with postgresql 11.

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

AutoCommit statements do no work with postgresql 11.

От
PG Doc comments form
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/11/ecpg-commands.html
Description:

I have a c++ library built with libpq.so, and I am trying to run the
statements "SET AUTOCOMMIT TO ON" and "SET AUTOCOMMIT TO OFF".  According to
the docs, it looks like those statements are valid.  But, I get errors for
them... 

ERROR:  unrecognized configuration parameter "autocommit"
return code = PGRES_FATAL_ERROR

Looking online, it seems like these autocommit statements are no longer
supported past version 10.  So, I'm guessing this documentation is off.

Re: AutoCommit statements do no work with postgresql 11.

От
Tom Lane
Дата:
PG Doc comments form <noreply@postgresql.org> writes:
> I have a c++ library built with libpq.so, and I am trying to run the
> statements "SET AUTOCOMMIT TO ON" and "SET AUTOCOMMIT TO OFF".  According to
> the docs, it looks like those statements are valid.

Uh ... exactly what documentation are you looking at?

PG hasn't supported server-side autocommit since 7.3.x.  There is
an autocommit variable in psql, but we concluded the server-side
feature broke far more client code than it helped.

            regards, tom lane


Re: AutoCommit statements do no work with postgresql 11.

От
Jae Adams
Дата:
Hello Tom,

Thank you for your reply.

The document that I'm looking at this here.  I apologize for not sending the link.  I had thought that the URL would be included automatically through the link on the documentation website.

Regarding the info on the error message, there were posts mainly like these (nothing authoritative, just googling).

I am confused on the meaning of some of these things.  I built a c++ program that connects to a database, and then issues SQL statements through the native c++ drivers.  It should be acting as a client, rather than the server.  Is the library "libpq.so" really a server library?  Is there a different one I should use for the client?  It was running the command "SET AUTOCOMMIT TO ON" when it reported the error "unrecognized configuration parameter autocommit".

Can the client still specify to have autocommit either turned on or off?  If so, how is that done?

I appreciate any guidance you have.

-Jae


On Fri, Feb 8, 2019 at 7:08 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Doc comments form <noreply@postgresql.org> writes:
> I have a c++ library built with libpq.so, and I am trying to run the
> statements "SET AUTOCOMMIT TO ON" and "SET AUTOCOMMIT TO OFF".  According to
> the docs, it looks like those statements are valid.

Uh ... exactly what documentation are you looking at?

PG hasn't supported server-side autocommit since 7.3.x.  There is
an autocommit variable in psql, but we concluded the server-side
feature broke far more client code than it helped.

                        regards, tom lane

Re: AutoCommit statements do no work with postgresql 11.

От
Tom Lane
Дата:
Jae Adams <appleorange2@gmail.com> writes:
> The document that I'm looking at this here.  I apologize for not sending
> the link.  I had thought that the URL would be included automatically
> through the link on the documentation website.
> -- https://www.postgresql.org/docs/11/ecpg-sql-set-autocommit.html  (shows
> the command syntax)

That is talking about an ecpg ("embedded SQL") command, which like the
psql case is a facility provided by client-side code.  There is no
autocommit-off feature on the server side, and you are not using any
client library that would offer one.

(It's a bit unfortunate that ecpg's command looks exactly like
a server command, but there you have it.)

            regards, tom lane