Re: v12 and pg_restore -f-
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Stephen Frost <sfrost@snowman.net>, imai.yoshikazu@fujitsu.com, Euler Taveira <euler@timbira.com.br>, Andrew Gierth <andrew@tao11.riddles.org.uk>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-10-17T15:30:06Z
Lists: pgsql-hackers, pgsql-general
On Thu, Oct 17, 2019 at 12:24:10PM +0200, Tom Lane wrote: > Alternatively, we could revoke the requirement to use "-f -" in 12, > and wait a couple releases before enforcing it. The fundamental > problem here is that we tried to go from "-f - doesn't work" to > "you must use -f -" with no grace period where "-f - is optional". > In hindsight that was a bad idea. I'm going to make an argument in favour of keeping the enforcement of -f- in v12. If there's no enforcement, I don't know if many people would naturally start to use -f-, which means that tools which need to work across a wide range of (minor) versions may never confront this until it's enforced in v14/v15, at which point we probably end up revisiting the whole thing again. Failing pg_restore forces people to confront the new/different behavior. If we defer failing for 2 years, it probably just means it'll be an issue again 2 years from now. However, it's still an issue if (old) back branches (like 11.5) don't support -f-, and I think the differing behavior should be called out in the v12 release notes, as succinctly as possible. Also, I'm taking the opportunity to correct myself, before someone else does: On Wed, Oct 16, 2019 at 02:28:40PM -0500, Justin Pryzby wrote: > And vendors (something like pgadmin) will end up "having to" write to a file > to be portable, or else check the full version, not just the major version. I take back that part .. before v12, they'd get stdout by not specifying -f, and since 12.0 they'd get stdout with -f-. No need to check the minor version, since the "need to" specify -f- wouldn't be backpatched, of course. Justin
Commits
-
Change pg_restore -f- to dump to stdout instead of to ./-
- 5ee8f0fe13b4 10.11 landed
- d38635725cad 9.5.20 landed
- 12a51e2ebea7 9.6.16 landed
- 9fb25fda6d56 9.4.25 landed
- 3574c0ac0509 11.6 landed