On 19.05.2011 22:15, Robert Haas wrote:
> On Wed, May 4, 2011 at 12:05 PM, Grzegorz Szpetkowski
> <gszpetkowski@gmail.com> wrote:
>> Hi,
>>
>> I think that createuser/drouser reference documentation could be
>> enhanced for username param. There is:
>>
>> "createuser is a wrapper around the SQL command CREATE ROLE. There is
>> no effective difference between creating users via this utility and
>> via other methods for accessing the server."
>>
>> http://www.postgresql.org/docs/9.0/static/app-createuser.html
>> http://www.postgresql.org/docs/9.0/static/app-dropuser.html
>>
>> But createuser and dropuser wrappers in some cases are doing implicit
>> quoting (when CREATE ROLE is not), which I think is not fully known
>> and is undocumented here. For example:
> I'm not sure this really needs to be documented, but what exactly do
> you have in mind?
Honestly, I think we should document that the scripts use quotes.
I just made an ad-hoc look into the docs and couldn't find something
about it.
Lots of years ago - you could see me sitting in front of my computer and
wondering - because I used:
$ createdb test
$ createdb tEst
I wondered that I didn't got an error message.
Thinking deeper about it just let it get logical to me that createdb
quotes by
automatism.
But this isn't logical on the first view - because we point out that all
will get
to lower case without quotes.
PostgreSQL even is so intelligent - that when you say:
$ createdb "tEst" - it will ignore the quotes - you will get database
named tEst and not
named "tEst".
This all isn't really obvious to a typical user.
Best Regards,
Susanne
--
Susanne Ebrecht - 2ndQuadrant
PostgreSQL Development, 24x7 Support, Training and Services
www.2ndQuadrant.com