Re: pg_upgrade's interaction with pg_resetwal seems confusing
От | Amit Kapila |
---|---|
Тема | Re: pg_upgrade's interaction with pg_resetwal seems confusing |
Дата | |
Msg-id | CAA4eK1LpWDD9rYYuGpZ74Jft6j6JQHLNz03vmkuFePyvxSjVKQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pg_upgrade's interaction with pg_resetwal seems confusing (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: pg_upgrade's interaction with pg_resetwal seems confusing
|
Список | pgsql-hackers |
On Fri, Oct 13, 2023 at 12:00 AM Robert Haas <robertmhaas@gmail.com> wrote: > > On Thu, Oct 12, 2023 at 7:17 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > Now, as mentioned in the first paragraph, it seems we anyway don't > > need to reset the WAL at the end when setting the next OID for the new > > cluster with the -o option. If that is true, then I think even without > > slots work it will be helpful to have such an option in pg_resetwal. > > > > Thoughts? > > I wonder if we should instead provide a way to reset the OID counter > with a function call inside the database, gated by IsBinaryUpgrade. > I think the challenge in doing so would be that when the server is running, a concurrent checkpoint can also update the OID counter value in the control file. See below code: CreateCheckPoint() { ... LWLockAcquire(OidGenLock, LW_SHARED); checkPoint.nextOid = ShmemVariableCache->nextOid; if (!shutdown) checkPoint.nextOid += ShmemVariableCache->oidCount; LWLockRelease(OidGenLock); ... UpdateControlFile() ... } Now, we can try to pass some startup options like checkpoint_timeout with a large value to ensure that checkpoint won't interfere but not sure if that would be bulletproof. Instead, how about allowing pg_upgrade to update the control file of the new cluster (with the required value of OID) following the same method as pg_resetwal does in RewriteControlFile()? > Having something like pg_resetwal --but-dont-actually-reset-the-wal > seems both self-contradictory and vulnerable to abuse that we might be > better off not inviting. > Fair point. -- With Regards, Amit Kapila.
В списке pgsql-hackers по дате отправления: