On Tue, Mar 21, 2017 at 5:12 AM, Robert Haas <robertmh...@gmail.com> wrote:
> > Here's another idea: what if we always created the default database at > initdb time? For example, if I initdb as rhaas, maybe it should > create an "rhaas" database for me, so that this works: > > initdb > pg_ctl start > psql > > I think a big part of the usability problem here comes from the fact > that the default database for connections is based on the username, > but the default databases that get created have fixed names (postgres, > template1). So the default configuration is one where you can't > connect. Why the heck do we do it that way? > > I'd be curious to estimate how many users that have difficulties learning how all this works actually run a manual initdb prior to beginning their experimentation. I suspect the percentage is fairly low. Doing away with "the default database for psql is one named after the user" seems like it would be more widely applicable. I for one tend to name things after what they do, or are used for, and thus have never benefited from this particular design decision. David J.