public inbox for [email protected]
help / color / mirror / Atom feedFrom: Grzegorz Szpetkowski <[email protected]>
To: [email protected]
Subject: createuser/dropuser username
Date: Wed, 4 May 2011 18:05:39 +0200
Message-ID: <[email protected]> (raw)
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:
createuser -SDRe user -- reserved in PostgreSQL
CREATE ROLE "user" NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
createuser -SDRe myuser
CREATE ROLE myuser NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
createuser -SDRe MYuser
CREATE ROLE "MYuser" NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
psql postgres
ALTER ROLE MYuser CREATEDB; -- fatal mistake, it works for myuser
delimited identifier
ALTER ROLE
ALTER ROLE "MYuser" CREATEDB; -- ok, quoted identifier
ALTER ROLE
ALTER ROLE user CREATEDB;
ERROR: syntax error at or near "user"
LINE 1: ALTER ROLE user CREATEDB;
^
postgres=# ALTER ROLE "user" CREATEDB;
ALTER ROLE
Regards,
Grzegorz Szpetkowski
view thread (18+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: createuser/dropuser username
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox