Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version
От | Justin Pryzby |
---|---|
Тема | Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version |
Дата | |
Msg-id | 20201021115416.GK9241@telsasoft.com обсуждение исходный текст |
Ответ на | Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version
|
Список | pgsql-hackers |
On Tue, Oct 20, 2020 at 09:17:22PM -0400, Tom Lane wrote: > Justin Pryzby <pryzby@telsasoft.com> writes: > > I wonder if pg_upgrade should try to rmdir() the tablespace dirs before > > restoring global objects, allowing it to succeed, rather than just "failing > > early". > > I'm a little confused about that. If the directories aren't empty, > that will fail, You mean rmdir() will fail, returning -1, which my patch will ignore, and the pg_upgrade will fail, same as it would have before. The goal of the patch is to improve the "empty" case, only. > but if they are, shouldn't the upgrade just work? It fails in "Restoring global objects", which runs "CREATE TABLESPACE". | errmsg("directory \"%s\" already in use as a tablespace", I considered the possibility of changing that, but it seems like this is specific to pg_upgrade. I wouldn't want to change the core server just for that, and it has a good reason for failing in that case: | * The creation of the version directory prevents more than one tablespace | * in a single location. -- Justin
В списке pgsql-hackers по дате отправления: