The following bug has been logged online:
Bug reference: 2690
Logged by: Nick Johnson
Email address: pgsql@spatula.net
PostgreSQL version: 8.1.1
Operating system: FreeBSD 6.1
Description: GRANT does not allow periods in database or schema names
Details:
Though you can create a database with a period in the name (e.g.,
"example.com"), you cannot issue a GRANT on that database name from the
command line.
pgsql=# GRANT ALL ON DATABASE example.com TO someuser;
ERROR: syntax error at or near "." at character 30
LINE 1: GRANT ALL ON DATABASE example.com TO someuser;
The same syntax works okay for databases without a period in the name.
Either GRANT should work on any database name that works when creating a
database, or CREATE should disallow the same things that GRANT disallows.