Re: File not found error on creating collation

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: File not found error on creating collation
Дата
Msg-id CA+Tgmoag5+6-U9y=huatO-Zj1u37UqR=0_peTiQqKQCh6krAGQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: File not found error on creating collation  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: File not found error on creating collation
Список pgsql-hackers
On Mon, Sep 19, 2011 at 10:04 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marti Raudsepp <marti@juffo.org> writes:
>> On Tue, Sep 20, 2011 at 03:24, Thom Brown <thom@linux.com> wrote:
>>> ERROR:  could not create locale "sr_SB.utf8": No such file or directory
>>> It's correct in that it shouldn't be able to create the locale since
>>> it's not installed, but what file can't it find?  What is the user
>>> supposed to do with this message?
>
>> Unfortunately locales are OS-specific so there's not much universal
>> advice that Postgres could give.
>
> The reason it's doing that is that newlocale() is returning ENOENT,
> which is what it's supposed to do according to the standard:
>
>        ERRORS
>
>        The newlocale() function shall fail if:
>
>        [ENOMEM]
>        There is not enough memory available to create the locale object or load the locale data.
>        [EINVAL]
>        The category_mask contains a bit that does not correspond to a valid category.
>        [ENOENT]
>        For any of the categories in category_mask, the locale data is not available.
>
> The generic meaning of ENOENT is "file not found", and at some level
> this probably *is* a file-not-found situation, but Postgres has no way
> to know which file is missing.
>
> We could possibly add a HINT suggesting that the locale isn't installed,
> but I don't see that we could offer any useful generic advice about how
> to install it.  I'm also worried about how to phrase the hint to cover
> some other obvious possibilities, like "you fat-fingered the locale
> name".

Maybe something like this?

HINT: The operating system was unable to find any locale data for the
locale name you specified.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


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

Предыдущее
От: Darren Duncan
Дата:
Сообщение: Re: Is there really no interest in SQL Standard?
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Grouping Sets