Re: BUG #12670: Can't create postgis extension in single-user mode

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #12670: Can't create postgis extension in single-user mode
Дата
Msg-id 29161.1422337002@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #12670: Can't create postgis extension in single-user mode  (warrior2031@mail.ru)
Ответы Re: BUG #12670: Can't create postgis extension in single-user mode  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Список pgsql-bugs
warrior2031@mail.ru writes:
> [ Can't create postgis extension in single-user mode ]

Why in the world would you think that's a good thing to do?

Single-user mode is a barely-documented disaster recovery aid.
It's not meant for routine activity.  There are a *whole lot*
of behaviors you want that are turned off in single-user mode.

The specific reason why this doesn't work is this bit in
heap_create_with_catalog:

    /*
     * Decide whether to create an array type over the relation's rowtype. We
     * do not create any array types for system catalogs (ie, those made
     * during initdb). We do not create them where the use of a relation as
     * such is an implementation detail: toast tables, sequences and indexes.
     */
    if (IsUnderPostmaster && (relkind == RELKIND_RELATION ||
                              relkind == RELKIND_VIEW ||
                              relkind == RELKIND_MATVIEW ||
                              relkind == RELKIND_FOREIGN_TABLE ||
                              relkind == RELKIND_COMPOSITE_TYPE))
        new_array_oid = AssignTypeArrayOid();

We could possibly develop some other mechanism for detecting whether
we're within the initdb sequence, but I can't get very excited about
treating this as a bug.  Single-user mode hasn't been considered a
standard user environment since maybe the early 90s.

            regards, tom lane

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

Предыдущее
От: Milan Hronský
Дата:
Сообщение: PostgreSQL for Odroid
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #12664: numeric_recv does not accept large values