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

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

From
Arnold Hendriks
Date:
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?



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