[SQL] Drop all indexes of a table w/o knowing the index names

2004-11-09 Thread Giulio Orsero
7.4.6 on Linux.

I need a way to drop all indexes of a table without knowing the names of the
indexes.

Say I have a table

table1
index1
index2
index3

I don't want to do

drop index1;
drop index2;
drop index3;

but I want

drop 

is this possible? I looked in the manual at pg_index, but couldn't build an
sql string to do it.

Thanks

-- 
[EMAIL PROTECTED]

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [SQL] Drop all indexes of a table w/o knowing the index names

2004-11-09 Thread Giulio Orsero
On Tue, 9 Nov 2004 17:30:25 +0200 (EET), Achilleus Mantzios
<[EMAIL PROTECTED]> wrote:

>O Giulio Orsero Ýãñáøå óôéò Nov 9, 2004 :
>> I need a way to drop all indexes of a table without knowing the names of the
>> indexes.

>% foreach i ( `psql -t -q -c "SELECT ci.relname from pg_index i,pg_class 
>ci,pg_class ct where i.indexrelid=ci.oid and i.indrelid=ct.oid and 
>ct.relname='YOUR_TABLE_HERE'"` )
>foreach? psql -c "drop index $i" 
>foreach? end

Ok, worked as expected.

thanks

-- 
[EMAIL PROTECTED]

---(end of broadcast)---
TIP 8: explain analyze is your friend