Re: CLUSTER not in multi-command string?

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

 



On Wed, Apr 29, 2009 at 10:24:51PM +0200, Michael Monnerie wrote:
> On Mittwoch 29 April 2009 Alvaro Herrera wrote:
> > 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.
> 
> Ah, found this now, in the docs 8.1-8.3. But strange thing is..
> 
> [I sent this mail this morning at 07:08 local time but it didn't make it 
> through, without me getting any note:]
> 
> I looked further now: Above error was from Postgres 8.3.5 on openSUSE 
> 11.1, but it works on Postgres 8.1.11 from openSUSE 10.2. Why did 
> it become worse? According to docs this shouldn't be possible even in 
> 8.1. Is there any change I can make a single db call with cluster & 
> analyze, like:
> cluster ; begin ; analyze ; commit
> 
> mfg zmi

Issue a cluster command for each table individually in the
command stream.

Cheers,
Ken

-- 
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