Re: pg_basebackup fails on databases with high OIDs
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>,
Magnus Hagander <magnus@hagander.net>
Date: 2020-01-06T08:31:28Z
Lists: pgsql-hackers
On Mon, Jan 6, 2020 at 9:21 AM Michael Paquier <michael@paquier.xyz> wrote: > > On Mon, Jan 06, 2020 at 09:07:26AM +0100, Peter Eisentraut wrote: > > This is a new bug in PG12. When you have a database with an OID above > > INT32_MAX (signed), then pg_basebackup fails thus: > > Yep. Introduced by 6b9e875. Indeed. > > pg_basebackup: error: could not get write-ahead log end position from > > server: ERROR: value "3000000000" is out of range for type integer > > > > The cause appears to be commit 6b9e875f7286d8535bff7955e5aa3602e188e436. > > > > A possible fix is attached. An alternative to using OidInputFunctionCall() > > would be exporting something like oidin_subr(). > > I think that you would save yourself from a lot of trouble if you do > the latter with a subroutine. Not quite like that based on the > process context where the call is done, but remember 21f428eb.. +0.5 to avoid calling OidInputFunctionCall()
Commits
-
Fix base backup with database OIDs larger than INT32_MAX
- 259bbe177808 13.0 landed
- bf65f3c8871b 12.2 landed
-
Track block level checksum failures in pg_stat_database
- 6b9e875f7286 12.0 cited