Re: Error in ALTER DATABASE command

From: "Douglas McNaught" <doug(at)mcnaught(dot)org>
To: "William Garrison" <postgres(at)mobydisk(dot)com>
Cc: "Postgres General List" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Error in ALTER DATABASE command
Date: 2008-09-23 15:55:16
Message-ID: 5ded07e00809230855w7e8865bdi54d02a3d56718de4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Sep 23, 2008 at 11:49 AM, William Garrison
<postgres(at)mobydisk(dot)com> wrote:
> In Postgresql 8.2.9 on Windows, you cannot rename a database if the name
> contains mixed case.

> 3) Open a query window, or use PSQL to issue the following command
> ALTER DATABASE MixedCase RENAME TO anything_else;
> PostgreSQL will respond with:
> ERROR: database "mixedcase" does not exist
> SQL state: 3D000

You need to quote the identifier using double-quotes to avoid
case-folding (this is a general rule):

ALTER DATABASE "MixedCase" RENAME TO anything_else;

> Postgresql seems to force many things to lower case.

Yes, it's actually a variation on the SQL standard, which specifies
forcing to upper case (as Oracle does).

> Is it a bug that the
> admin tool lets you create a database with mixed case names?

The admin tool is a separate project and works by its own rules.

> Or is it a bug
> that you cannot rename them thereafter?

The FAQ has a good section on identifier case-folding and quoting, I
think. Probably worth a read.

-Doug

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raymond O'Donnell 2008-09-23 15:59:41 Re: Error in ALTER DATABASE command
Previous Message William Garrison 2008-09-23 15:49:18 Error in ALTER DATABASE command