Jeff Eckermann <jeckermann@verio.net> writes:
> extracts=# cluster dc2_acct_i on dedcolo2;
> ERROR: temp_28a1899 is an index relation
> extracts=# \d dedcolo
> Did not find any relation named "dedcolo".
> extracts=# \d temp_28a1899
> Index "temp_28a1899"
> Attribute | Type
> ---------------+---------
> arbor_acct_no | integer
> btree
Now that I think about it, the "temp_xxx" name does not correspond to
what we use for temporary tables; rather it is the form of temporary
name under which the CLUSTER command creates the new table and index.
(Under the hood, CLUSTER builds the new table and index, then drops
the old ones and renames the new ones into place. This is why you
lose all the other indexes and other decoration :-(.)
The cited error seems to indicate that CLUSTER is trying to open the
new index with heap_open instead of index_open. If so, it'd fail
every time :-( ... but the new index and table ought to go away on
failure, not hang around. So I'm still confused.
What version of Postgres did you say you are using?
regards, tom lane