Re: [v15 beta] pg_upgrade failed if earlier executed with -c switch
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Daniel Gustafsson <daniel@yesql.se>, Tom Lane <tgl@sss.pgh.pa.us>, tushar <tushar.ahuja@enterprisedb.com>, pgsql-hackers@postgresql.org, Andrew Dunstan <andrew@dunslane.net>
Date: 2022-06-04T03:32:27Z
Lists: pgsql-hackers
On Sat, Jun 04, 2022 at 12:13:19PM +0900, Michael Paquier wrote: > On Fri, Jun 03, 2022 at 06:55:28PM +0200, Daniel Gustafsson wrote: > > On 3 Jun 2022, at 18:26, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> How about inserting an additional level of subdirectory? > >> > >> pg_upgrade_output.d/20220603122528/foo.log > >> > >> Then code doing "rm -rf pg_upgrade_output.d" needs no changes. > > > > Off the cuff that seems like a good compromise. Adding Andrew on CC: for input > > on how that affects the buildfarm. > > I am not so sure. My first reaction was actually to bypass the > creation of the directories on EEXIST. But that breaks the original motive behind the patch I wrote - logfiles are appended to, even if they're full of errors that were fixed before re-running pg_upgrade. > But, isn't the problem different and actually older here? In the set of > commands given by Tushar, he uses the --check option without --retain, but > the logs are kept around after the execution of the command. It seems to me > that there is an argument for also removing the logs if the caller of the > command does not want to retain them. You're right that --check is a bit inconsistent, but I don't think we could backpatch any change to fix it. It wouldn't matter much anyway, since the usual workflow would be "pg_upgrade --check && pg_upgrade". In which case the logs would end up being removed anyway. On Sat, Jun 04, 2022 at 12:13:19PM +0900, Michael Paquier wrote: > Seeing the top of the thread, I think that it would be a good idea to > add an extra pg_upgrade --check before the real upgrade run. I've > also relied on --check as a safety measure in the past for automated > workflows. It already does this; --check really means "stop-after-checking". Hmm .. maybe what you mean is that the *tap test* should first run with --check? -- Justin
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Restructure pg_upgrade output directories for better idempotence
- 4fff78f00910 15.0 landed