Обсуждение: 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