Обсуждение: BUG #16645: pg_upgrade does not mark template1 as a system database
The following bug has been logged on the website: Bug reference: 16645 Logged by: Y. NAKAGAWA Email address: nakagawa@goodf.co.jp PostgreSQL version: 13.0 Operating system: Windows 10 64bit Description: Repro steps: 1. Install postgresql-12.4-1-windows-x64.exe and postgresql-13.0-1-windows-x64.exe. 2. Edit pg_hba.conf's on both servers to be able to connect to the servers without password. 3. Open command prompt with administrator privilege and type: cd %HOMEDRIVE%%HOMEPATH% "C:\Program Files\PostgreSQL\13\bin\pg_upgrade.exe" -d "C:\Program Files\PostgreSQL\12\data" -D "C:\Program Files\PostgreSQL\13\data" -b "C:\Program Files\PostgreSQL\12\bin" -B "C:\Program Files\PostgreSQL\13\bin" -U postgres 4. Open pgAdmin 4, connect to the PostgreSQL 13.0 server and expand the Databases node. Expected result: The node has [postgres]. Actual result: The node has [postgres] and [template1].
PG Bug reporting form <noreply@postgresql.org> writes:
> 4. Open pgAdmin 4, connect to the PostgreSQL 13.0 server and expand the
> Databases node.
> Expected result:
> The node has [postgres].
> Actual result:
> The node has [postgres] and [template1].
There's no particular concept of a "system database" in Postgres,
so I don't know what pgadmin is doing to decide which databases
to show or not show, but evidently it's not too well thought out.
(The closest concept I can think of is whether a DB is marked
datistemplate, but a test confirms that pg_upgrade successfully
preserves that property on template0 and template1.)
I'd suggest you file this complaint on the pgadmin lists.
regards, tom lane
Thank you for your suggestion.
According to pgAdmin4, [System database?] is [No] and [Template?] is [Yes].
I will post this to the pgadmin lists later.
Regards,
--
Nakagawa, Y.
-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Wednesday, September 30, 2020 11:46 AM
To: nakagawa@goodf.co.jp
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #16645: pg_upgrade does not mark template1 as a system
database
PG Bug reporting form <noreply@postgresql.org> writes:
> 4. Open pgAdmin 4, connect to the PostgreSQL 13.0 server and expand
> the Databases node.
> Expected result:
> The node has [postgres].
> Actual result:
> The node has [postgres] and [template1].
There's no particular concept of a "system database" in Postgres, so I don't
know what pgadmin is doing to decide which databases to show or not show,
but evidently it's not too well thought out.
(The closest concept I can think of is whether a DB is marked datistemplate,
but a test confirms that pg_upgrade successfully preserves that property on
template0 and template1.)
I'd suggest you file this complaint on the pgadmin lists.
regards, tom lane
I had created a ticket #5875 on pgAdmin 4 redmine.
However, after some grep-ing on pgAdmin4 source tree, I found that [System
Database?] shows pg_database.oid <= pg_database.datlastsysoid.
pg_database:
on initdb-ed 12.4:
oid datname datlastsysoid
1 template1 13317
13317 template0 13317
13318 postgres 13317
on pg_upgrade-d 13.0:
oid datname datlastsysoid
13441 template0 13441
16400 template1 13441
16401 postgres 13441
Are these differences by design?
Regards,
--
Y. Nakagawa
-----Original Message-----
From: Y. NAKAGAWA <nakagawa@goodf.co.jp>
Sent: Wednesday, September 30, 2020 1:11 PM
To: 'Tom Lane' <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs@lists.postgresql.org
Subject: RE: BUG #16645: pg_upgrade does not mark template1 as a system
database
Thank you for your suggestion.
According to pgAdmin4, [System database?] is [No] and [Template?] is [Yes].
I will post this to the pgadmin lists later.
Regards,
--
Nakagawa, Y.
-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Wednesday, September 30, 2020 11:46 AM
To: nakagawa@goodf.co.jp
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #16645: pg_upgrade does not mark template1 as a system
database
PG Bug reporting form <noreply@postgresql.org> writes:
> 4. Open pgAdmin 4, connect to the PostgreSQL 13.0 server and expand
> the Databases node.
> Expected result:
> The node has [postgres].
> Actual result:
> The node has [postgres] and [template1].
There's no particular concept of a "system database" in Postgres, so I don't
know what pgadmin is doing to decide which databases to show or not show,
but evidently it's not too well thought out.
(The closest concept I can think of is whether a DB is marked datistemplate,
but a test confirms that pg_upgrade successfully preserves that property on
template0 and template1.)
I'd suggest you file this complaint on the pgadmin lists.
regards, tom lane
"Y. NAKAGAWA" <nakagawa@goodf.co.jp> writes:
> However, after some grep-ing on pgAdmin4 source tree, I found that [System
> Database?] shows pg_database.oid <= pg_database.datlastsysoid.
That is a very meaningless condition, they shouldn't do that.
regards, tom lane