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