Thread: pg_upgrade old cluster delete script
You might remember this pg_upgrade bug report where the user complained that user-defined tablespaces _inside_ the old cluster directory were deleted by the old cluster delete script: http://www.postgresql.org/message-id/E1THPDm-00018c-KT@wrigleys.postgresql.org and my reply that we don't want to fix this: http://www.postgresql.org/message-id/20121004191201.GA11759@momjian.us However, creating a script that deletes data is never a good idea so I have created the attached patch to avoid creating the script in these cases, and issue a message to the user. The test isn't perfect but it is probably close enough. I don't think it is worth unlinking a possibly matching filename in such cases. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
Attachment
On Thu, Feb 14, 2013 at 12:29:52AM -0500, Bruce Momjian wrote: > You might remember this pg_upgrade bug report where the user complained > that user-defined tablespaces _inside_ the old cluster directory were > deleted by the old cluster delete script: > > http://www.postgresql.org/message-id/E1THPDm-00018c-KT@wrigleys.postgresql.org > > and my reply that we don't want to fix this: > > http://www.postgresql.org/message-id/20121004191201.GA11759@momjian.us > > However, creating a script that deletes data is never a good idea so I > have created the attached patch to avoid creating the script in these > cases, and issue a message to the user. > > The test isn't perfect but it is probably close enough. I don't think > it is worth unlinking a possibly matching filename in such cases. OK, I have applied a modified version of this patch the uses the port/path.c functions to do proper path comparison, and decided to conditionally unlink the script file just in case. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +