Re: Set AUTOCOMMIT to on in script output by pg_dump
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Yugo Nagata <nagata@sraoss.co.jp>,
Shinya Kato <Shinya11.Kato@oss.nttdata.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-10-09T04:10:22Z
Lists: pgsql-hackers
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Tuesday, October 8, 2024, Yugo Nagata <nagata@sraoss.co.jp> wrote: >> On Wed, 09 Oct 2024 11:10:37 +0900 >> Shinya Kato <Shinya11.Kato@oss.nttdata.com> wrote: >>> When SQL scripts created with pg_dump/pg_dumpall/pg_restore are executed >>> in psql with AUTOCOMMIT turned off, they will not succeed in many cases. > Agreed. If we aren’t already outputting psql-only stuff I am a strong -1 > for making this the first such case. I really doubt that this is the only way in which you can break a pg_dump script by executing it in a non-default psql environment. We'd likely be better advised to spend some documentation effort recommending that pg_dump scripts be executed under "psql --no-psqlrc". If AUTOCOMMIT were a mainstream feature then maybe it'd be worth doing something about this, but IMO it's a deprecated backwater, so I'm not very excited about it. If we do want to do something about it, the patch needs more thought about where to put the additional output. As an example, it looks like it breaks the expectation that pg_dump-to-text should generate output identical to pg_dump-to-archive followed by pg_restore-to-text. > ... but this approach breaks well-established > encapsulation and overrides user expectations in a bad way (since > autocommit=on is the default they choose to turn it off so turning it back > on silently - not even documented - is bad.) That particular angle doesn't bother me so much, because pg_dump scripts already feel free to change search_path as well as a bunch of other server parameters. regards, tom lane
Commits
-
Doc: recommend "psql -X" for restoring pg_dump scripts.
- d83a108c10a3 18.0 landed
- c768f54a25a4 15.11 landed
- aaa0f061936a 13.19 landed
- 76601c0c885a 17.3 landed
- 53771e44df81 16.7 landed
- 4106942f004f 14.16 landed