On 2017-03-18 16:23:17 -0400, Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
> > createuser, dropuser - definitely pollutes the namespace, people do
> > sometimes try them for the wrong thing. Unlike the db ones they do add
> > value though -- I don't think we have a psql way of in a single command
> > doing what --pwprompt on createuser does, do we? But given that we are in
> > the process of breaking a lot of other scripts for 10, perhaps we should
> > rename it to pg_createuser?
>
> I'm not particularly on board with arguments like "we already broke a ton
> of stuff so let's break some more". Eventually you've managed to create
> a daunting barrier to upgrading at all.
+1
> I think a more reasonable way to proceed is to install symlinks
> pg_createuser -> createuser (or the other direction), mark the older names
> as deprecated, and announce that we'll remove the old names a few releases
> from now. That gives people time to adjust.
+1
> Maybe we should handle createdb likewise, rather than just kicking it to
> the curb. I know I use it quite often; it's less typing than psql -c
> 'create database ...' postgres, and still would be with a pg_ prefix.
I think we should add pg_createdb, and do a normal deprecation cycle for
removing createdb.
I wish 'pg' wasn't an already used binary name. It'd be much nicer if
we had a '/usr/bin/pg' wrapper binary in the git style, that we could easily
expand over time, without hitting new conflicts. I'd even consider a
'/usr/bin/pgsql' that has commands for all our binaries a considerable
improvement in the long term.
Greetings,
Andres Freund