Re: pg_upgrade should truncate/remove its logs before running
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Daniel Gustafsson <daniel@yesql.se>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Andrew Dunstan <andrew@dunslane.net>, Bruce Momjian <bruce@momjian.us>, pgsql-hackers@lists.postgresql.org
Date: 2021-12-22T16:36:12Z
Lists: pgsql-hackers
Attachments
On Wed, Dec 22, 2021 at 09:52:26AM -0500, Tom Lane wrote: > Michael Paquier <michael@paquier.xyz> writes: > > On Mon, Dec 20, 2021 at 09:39:26PM -0600, Justin Pryzby wrote: > >> Are you suggesting to remove these ? > >> -/pg_upgrade_internal.log > >> -/loadable_libraries.txt > > > Yep, it looks so as these are part of the logs, the second one being a > > failure state. > > >> -/reindex_hash.sql > > > But this one is not, no? > > I'd like to get to a state where there's just one thing to "rm -rf" > to clean up after any pg_upgrade run. If we continue to leave the > we-suggest-you-run-these scripts loose in $CWD then we've not really > improved things much. My patch moves reindex_hash.sql, and I'm having trouble seeing why it shouldn't be handled in .gitignore the same way as other stuff that's moved. But delete-old-cluster.sh is not moved, and I'm not sure how to improve on that. > Perhaps there'd be merit in putting log files into an additional > subdirectory of that output directory, like > pg_upgrade_output.d/logs/foo.log, so that the more-ignorable > output files would be separated from the less-ignorable ones. > Or perhaps that's just gilding the lily. In the case it's successful, everything is removed - except for the delete script. I can see the case for separating the dumps (which are essentially internal and of which there may be many) and the logs (same), from the .txt error files like loadable_libraries.txt (which are user-facing). It could also be divided with each DB having its own subdir, with a dumpfile and a logfile. Should the unix socket be created underneath the "output dir" ? Should it be possible to set the output dir to "." ? That would give the pre-existing behavior, but only if we don't use subdirs for log/ and dump/.
Commits
-
pg_upgrade: Move all the files generated internally to a subdirectory
- 38bfae365266 15.0 landed