Обсуждение: BUG #16645: pg_upgrade does not mark template1 as a system database

Поиск
Список
Период
Сортировка

BUG #16645: pg_upgrade does not mark template1 as a system database

От
PG Bug reporting form
Дата:
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].


Re: BUG #16645: pg_upgrade does not mark template1 as a system database

От
Tom Lane
Дата:
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



RE: BUG #16645: pg_upgrade does not mark template1 as a system database

От
"Y. NAKAGAWA"
Дата:
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




RE: BUG #16645: pg_upgrade does not mark template1 as a system database

От
"Y. NAKAGAWA"
Дата:
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





Re: BUG #16645: pg_upgrade does not mark template1 as a system database

От
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