From: | Josh Kupershmidt <schmiddy(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: disable prompting by default in createuser |
Date: | 2012-01-15 23:14:16 |
Message-ID: | CAK3UJRE-AZpjEHxCMia7fMzgavdRY64DY=BwNvXegweKy8hzDQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Dec 22, 2011 at 2:26 PM, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
> On lör, 2011-11-26 at 01:28 +0200, Peter Eisentraut wrote:
>> I propose that we change createuser so that it does not prompt for
>> anything by default. We can arrange options so that you can get prompts
>> for whatever is missing, but by default, a call to createuser should
>> just run CREATE USER with default options. The fact that createuser
>> issues prompts is always annoying when you create setup scripts, because
>> you have to be careful to specify all the necessary options, and they
>> are inconsistent and different between versions (although the last
>> change about that was a long time ago), and the whole behavior seems
>> contrary to the behavior of all other utilities. I don't think there'd
>> be a real loss by not prompting by default; after all, we don't really
>> want to encourage users to create more superusers, do we? Comments?
>
> Patch attached. I'll add it to the next commitfest.
I looked at this patch for the 2012-01 CF. I like the idea, the
interactive-by-default behavior of createuser has always bugged me as
well.
I see this patch includes a small change to dropuser, to make the
'username' argument mandatory if --interactive is not set, for
symmetry with createuser's new behavior. That's dandy, though IMO we
shouldn't have "-i" be shorthand for "--interactive" with dropuser,
and something different with createuser (i.e. we should just get rid
of the "i" alias for dropuser).
Another little inconsistency I see with the behavior when no username
to create or drop is given:
$ createuser
createuser: creation of new role failed: ERROR: role "josh" already exists
$ dropuser
dropuser: missing required argument role name
Try "dropuser --help" for more information.
i.e. createuser tries taking either $PGUSER or the current username as
a default user to create, while dropuser just bails out. Personally, I
prefer just bailing out if no create/drop user is specified, but
either way I think they should be consistent.
Oh, and I think the leading whitespace of this help message:
printf(_(" --interactive prompt for missing role name
and attributes rather\n"
should be made the same as for other commands with no short-alias, e.g.
printf(_(" --replication role can initiate replication\n"));
Other than those little complaints, everything looks good.
Josh
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2012-01-16 00:59:26 | Memory usage during sorting |
Previous Message | Thomas Munro | 2012-01-15 23:01:44 | SKIP LOCKED DATA |