On 3/21/17 10:30 AM, David G. Johnston wrote:
> On Tue, Mar 21, 2017 at 5:12 AM, Robert Haas <robertmhaas@gmail.com
> <mailto:robertmhaas@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.
I suppose it would be too big a change to have psql try the username and
then fallback to postgres on failure?
--
-David
david@pgmasters.net