On Wed, 20 Mar 2019 13:56:55 -0400
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Julien Rouhaud <rjuju123@gmail.com> writes:
> > On Wed, Mar 20, 2019 at 6:25 PM Euler Taveira <euler@timbira.com.br>
> > wrote:
> >> createdb, dropdb, createuser, dropuser, reindexdb are binaries that
> >> confuse most newbies. Which tool is theses binaries from? The names
> >> does not give a hint. How often those confusing name tools are used?
>
> > initdb is probably an order of magnitude worse name than all of these.
>
> Meh. The ones with "db" in the name don't strike me as mortal sins;
> even if you don't recognize them as referring to a "database", you're
> not likely to guess wrongly that you know what they do. The two that
> seem the worst to me are createuser and dropuser, which not only have
> no visible connection to "postgres" or "database" but could easily
> be mistaken for utilities for managing operating-system accounts.
>
> We managed to get rid of createlang and droplang in v10, and there
> hasn't been that much push-back about it. So maybe there could be
> a move to remove createuser/dropuser? Or at least rename them to
> pg_createuser and pg_dropuser.
If you rename them, rename as pg_createrole and pg_droprole :)
I teach people not to use "CREATE USER/GROUP", but each time I have to tell
them "Yes, we kept createuser since 8.1 where roles has been introduced for
backward compatibility. No, there's no createrole".
++