Re: pg_basebackup fails on databases with high OIDs

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>
Subject: Re: pg_basebackup fails on databases with high OIDs
Date: 2020-01-06 08:20:53
Message-ID: 20200106082053.GX3598@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

> 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..
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Surafel Temesgen 2020-01-06 08:20:56 Re: A rather hackish POC for alternative implementation of WITH TIES
Previous Message Michael Paquier 2020-01-06 08:15:54 Re: pgbench - use pg logging capabilities