Re: CLUSTER not in multi-command string?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux