On 28/03/2019 03:07, Andreas Karlsson wrote:
> On 3/27/19 2:51 PM, Tomas Vondra wrote:
>> I think the consensus in this thread (and the previous ancient ones) is
>> that it's not worth it. It's one thing to introduce new commands with
>> the
>> pg_ prefix, and it's a completely different thing to rename existing
>> ones.
>> That has inherent costs, and as Tom pointed out the burden would fall on
>> people using PostgreSQL (and that's rather undesirable).
>>
>> I personally don't see why having commands without pg_ prefix would be
>> an issue. Especially when placed in a separate directory, which
>> eliminates
>> the possibility of conflict with other commands.
>
> I buy that it may not be worth breaking tens of thousands of scripts
> to fix this, but I disagree about it not being an issue. Most Linux
> distributions add PostgreSQL's executables in to a directory which is
> in the default $PATH (/usr/bin in the case of Debian). And even if it
> would be installed into a separate directory there would still be a
> conflict as soon as that directory is added to $PATH.
>
> And I think that it is also relatively easy to confuse adduser and
> createuser when reading a script. Nothing about the name createuser
> indicates that it will create a role in an SQL database.
>
> Andreas
>
>
Existing users would feel some pain, but continued use of commands
'creatuser' rather than pg_createuser (better still pg_createrole, as
suggested elsewhere) create confusion and display unintended arrogance.
There is a suggestion to use aliases, and I think that is a good interim
step, to introduce the 'pg_' variants. Possible with an option at
install time to force only 'pg_' variants (with the possible exception
of psql).
The only command, that I think warrants a permanent alias is psql, which
I think is not ambiguous, but having a pg_sql for consistency would be good.
Cheers,
Gavin