Re: Error in ALTER DATABASE command

Поиск
Список
Период
Сортировка
От Douglas McNaught
Тема Re: Error in ALTER DATABASE command
Дата
Msg-id 5ded07e00809230855w7e8865bdi54d02a3d56718de4@mail.gmail.com
обсуждение исходный текст
Ответ на Error in ALTER DATABASE command  (William Garrison <postgres@mobydisk.com>)
Ответы Re: Error in ALTER DATABASE command
Список pgsql-general
On Tue, Sep 23, 2008 at 11:49 AM, William Garrison
<postgres@mobydisk.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

В списке pgsql-general по дате отправления:

Предыдущее
От: William Garrison
Дата:
Сообщение: Error in ALTER DATABASE command
Следующее
От: Raymond O'Donnell
Дата:
Сообщение: Re: Error in ALTER DATABASE command