Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated) - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated)
Date
Msg-id CABUevEyh3wzBSZ7oA+o5n5=bL5YFtM9B00ZGpvu9MLY0o4Ui=A@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated)  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers


On Sat, Mar 18, 2017 at 9:23 PM, Tom Lane <tgl@sss.pgh.pa.us> 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.

The argument is more that if we are going to break it, now is a good time to do it because we are already forcing people to review their scripts.

If we decide not to break it at all that's one thing. But if we *are* going to break it, it's better to do it in 10 than in 11.

 
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.

I'd suggest doing it in the other direction, but yeah, that seems like a softer way to handle it. As long as we clearly document them as such. Perhaps we should even have them output a little "hey you should be using pg_xyz" if they are used by the wrong name, but I wonder if that might break things.


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.

As long as they have a pg_ prefix, I don't see much harm in them being there, they're tiny. It's not like they're a huge maintenance burden. 

--

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated)
Next
From: Stephen Frost
Date:
Subject: Re: [HACKERS] Removing binaries (was: createlang/droplang deprecated)