Re: How to use int2vector
От | Tom Lane |
---|---|
Тема | Re: How to use int2vector |
Дата | |
Msg-id | 24238.1075396311@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | How to use int2vector (Rich Cullingford <rculling@sysd.com>) |
Список | pgsql-admin |
Rich Cullingford <rculling@sysd.com> writes: > In trying to write a utility to drop/restore table indexes (as an aid to > a fast reload of the associated tables), I ran into the definition of > the field pg_index.indkey as an int2vector. > How can I deal with this type in plpgsql? You should be able to index into it (indkey[0], etc), but I cannot think of any good reason to be looking at the details of the pg_index row for your purposes. It is certainly not reasonable to think of writing plpgsql code to reconstruct 7.4 expressional index definitions from what's in pg_index :-(. I would suggest using the pg_get_indexdef function instead. Perhaps something like regression=# select pg_get_indexdef(indexrelid) from pg_index where indrelid = 'tenk1'::regclass; pg_get_indexdef ----------------------------------------------------------- CREATE INDEX tenk1_hundred ON tenk1 USING btree (hundred) CREATE INDEX tenk1_unique2 ON tenk1 USING btree (unique2) CREATE INDEX tenk1_unique1 ON tenk1 USING btree (unique1) (3 rows) regression=# pg_get_indexdef() exists at least as far back as 7.0, and probably further (pg_dump has relied on it for a long time). regards, tom lane
В списке pgsql-admin по дате отправления: