Re: CLUSTER not in multi-command string?

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: CLUSTER not in multi-command string?
Дата
Msg-id 20090429142437.GA6316@alvh.no-ip.org
обсуждение исходный текст
Ответ на CLUSTER not in multi-command string?  (Michael Monnerie <michael.monnerie@is.it-management.at>)
Список pgsql-admin
Michael Monnerie wrote:
> ERROR:  CLUSTER cannot be executed from a function or multi-command
> string
>
> I got this error from a script which tried:
> psql -U postgres db1 -c 'cluster ; analyze'
>
> In the docs there's no word that it's not possible, and I wonder why
> this is not allowed. Anybody knows? It's stupid, as I want to cluster
> lots of tables, followed by analyze, and now I have to
> psql -U postgres db1 -c 'cluster'
> psql -U postgres db1 -c 'analyze'

Multi-table cluster (i.e. the one where you don't specify one table to
cluster) cannot be used in a transaction block, function, etc, and the
FM does mention it:

    CLUSTER without any parameter reclusters all the
    previously-clustered tables in the current database that the calling
    user owns, or all such tables if called by a superuser. This form of
    CLUSTER cannot be executed inside a transaction block.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: CLUSTER not in multi-command string?
Следующее
От: Michael Monnerie
Дата:
Сообщение: Re: CLUSTER not in multi-command string?