Re: Fwd: Identify system databases

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, Igor Korot <ikorot01(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Fwd: Identify system databases
Date: 2025-04-15 19:10:53
Message-ID: 1715575.1744744253@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Tue, Apr 15, 2025 at 11:20 AM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
> wrote:
>> If what you say is true why does initdb lack an option to not create
>> them on creating a cluster?

> By creating the initial three databases the system is more usable due to
> having established conventions. They are conventional databases, not
> system ones.

Precisely. For example, the only reason for the "postgres" database
to exist is so that there is a reasonable default database for clients
to connect to. If we didn't have it we'd need some other convention.
(Indeed, we used to not have it, and back then the default client
behavior was usually to connect to template1. That led to people
creating random junk in template1 and then being surprised when
CREATE DATABASE copied it into new databases.)

In the end this discussion is about terminology. These three
databases are part of the ecosystem and clients generally expect them
to be there. But the server doesn't depend on them to function.
Does that make them "system" databases? All depends on what you
think that means.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2025-04-15 21:17:57 Re: Fwd: Identify system databases
Previous Message David G. Johnston 2025-04-15 18:35:34 Re: Fwd: Identify system databases