Low OIDs (< 16384) when creating databases in single user mode

Started by Arnold Hendriks11 months ago2 messagesgeneral
Jump to latest
#1Arnold Hendriks
unilynx@gmail.com

When creating a new database using the following script:

PGBINDIR="/opt/homebrew/Cellar/postgresql@16/16.9/bin/"
rm -rf /tmp/db
"$PGBINDIR/initdb" -U postgres -D /tmp/db --auth-local=trust
--encoding 'UTF-8' --locale='C'
"$PGBINDIR/postgres" --single -D /tmp/db postgres <<HERE
CREATE DATABASE test;
select oid,datname from pg_database;
HERE

The id 14022 is assigned. This then confuses pgAdmin which expects
databases to have an ID >= 16384 (unless named postgres/edb)

Am I wrong in creating the database this way? Or is pgAdmin wrong in
assuming ids have to be >=16384 ?

Is there a way to ensure new IDs are in the usual range when starting
in in single user mode?

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Arnold Hendriks (#1)
Re: Low OIDs (< 16384) when creating databases in single user mode

Arnold Hendriks <unilynx@gmail.com> writes:

Is there a way to ensure new IDs are in the usual range when starting
in in single user mode?

No. Start the DB in normal mode, then create objects that you
want to be considered user-defined.

regards, tom lane