Fix CREATE DATABASE so we can pg_upgrade DBs with OIDs above 2^31.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 Nov 2022 14:39:52 +0000 (10:39 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 Nov 2022 14:39:52 +0000 (10:39 -0400)
commit2c6d43650d16d91a3e731d236315beffd98db729
treeb4a48d893a7a7c11a7195928f719057bd4bb6cda
parent81173264440d7d3bd6479313b1d4611a2bfe8031
Fix CREATE DATABASE so we can pg_upgrade DBs with OIDs above 2^31.

Commit aa0105141 repeated one of the oldest mistakes in our book:
thinking that OID is the same as int32.  It isn't of course, and
unsurprisingly the first person who came along with a database
OID above 2 billion broke it.  Repair.

Per bug #17677 from Sergey Pankov.  Back-patch to v15.

Discussion: https://postgr.es/m/17677-a99fa067d7ed71c9@postgresql.org
src/backend/commands/dbcommands.c
src/backend/commands/define.c
src/backend/parser/gram.y
src/include/commands/defrem.h