Обсуждение: ALTER INDEX not working in 9.5.1?
The commands "ALTER INDEX ... RENAME TO..." and "ALTER INDEX ... SET TABLESPACE ..." seem to work as expected in PostgreSQL 9.4.5 but in 9.5.1 they fail with "ERROR: <index_name> is an index". I can't find anything in the docs which would explain this. Sample code: CREATE TABLE test AS SELECT 1 AS x; --Works fine CREATE INDEX test_idx ON test(x); --Works fine ALTER INDEX test_idx RENAME TO other_idx; --Works fine in 9.4.5, throws "is an index" error in 9.5.1 ALTER INDEX test_idx SET TABLESPACE other_tablespace; --Works fine in 9.4.5, throws "is an index" error in 9.5.1
Matthew Byrne <mjw.byrne@gmail.com> writes: > The commands "ALTER INDEX ... RENAME TO..." and "ALTER INDEX ... SET > TABLESPACE ..." seem to work as expected in PostgreSQL 9.4.5 but in 9.5.1 > they fail with "ERROR: <index_name> is an index". [ scratches head... ] Your test case works OK for me. Admittedly, I'm checking 9.5-branch-from-a-day-or-two-back rather than exactly release 9.5.1; but if we'd broken and then fixed something as basic as that, I expect we'd know about it. Is this on a clean compile of 9.5.1 community sources? Using what compiler exactly, on what platform? Maybe you've got something like a badly-written event trigger installed? regards, tom lane
On Sun, Mar 6, 2016 at 11:09 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Matthew Byrne <mjw.byrne@gmail.com> writes: > > The commands "ALTER INDEX ... RENAME TO..." and "ALTER INDEX ... SET > > TABLESPACE ..." seem to work as expected in PostgreSQL 9.4.5 but in 9.5= .1 > > they fail with "ERROR: <index_name> is an index". > > [ scratches head... ] Your test case works OK for me. Admittedly, > I'm checking 9.5-branch-from-a-day-or-two-back rather than exactly > release 9.5.1; but if we'd broken and then fixed something as basic > as that, I expect we'd know about it. > > Is this on a clean compile of 9.5.1 community sources? Using what > compiler exactly, on what platform? Maybe you've got something > like a badly-written event trigger installed? > version PostgreSQL 9.5.1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit =E2=80=8Bapt.postgresql.org/Ubuntu 14.04=E2=80=8B =E2=80=8BI didn't do the tablespace query but the two setups and the ALTER = INDEX ... RENAME worked for me. David J.=E2=80=8B
On Sat, Mar 5, 2016 at 10:32 PM, Matthew Byrne <mjw.byrne@gmail.com> wrote: > The commands "ALTER INDEX ... RENAME TO..." and "ALTER INDEX ... SET > TABLESPACE ..." seem to work as expected in PostgreSQL 9.4.5 but in 9.5.1 > they fail with "ERROR: <index_name> is an index". > > I can't find anything in the docs which would explain this. > > Sample code: > > CREATE TABLE test AS SELECT 1 AS x; --Works fine > CREATE INDEX test_idx ON test(x); --Works fine > ALTER INDEX test_idx RENAME TO other_idx; --Works fine in 9.4.5, throws > "is an index" error in 9.5.1 > ALTER INDEX test_idx SET TABLESPACE other_tablespace; --Works fine in > 9.4.5, throws "is an index" error in 9.5.1 > In PostgreSQL-9.5.1 - it works fine for me - postgres=# alter index idx rename to test_idx; ALTER INDEX postgres=# alter index test_idx set tablespace tbs; ALTER INDEX As said upthread, It must be a trigger or some code blocking the ALTER INDEX command. Regards, Venkata B N Fujitsu Australia
Apologies all - this is a false alarm. It was a buggy back-end hook provided by a colleague. Matt On Mon, Mar 7, 2016 at 10:09 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Matthew Byrne <mjw.byrne@gmail.com> writes: > > The commands "ALTER INDEX ... RENAME TO..." and "ALTER INDEX ... SET > > TABLESPACE ..." seem to work as expected in PostgreSQL 9.4.5 but in 9.5.1 > > they fail with "ERROR: <index_name> is an index". > > [ scratches head... ] Your test case works OK for me. Admittedly, > I'm checking 9.5-branch-from-a-day-or-two-back rather than exactly > release 9.5.1; but if we'd broken and then fixed something as basic > as that, I expect we'd know about it. > > Is this on a clean compile of 9.5.1 community sources? Using what > compiler exactly, on what platform? Maybe you've got something > like a badly-written event trigger installed? > > regards, tom lane >