Re: Index expressions: how to recreate
От | Andreas Pflug |
---|---|
Тема | Re: Index expressions: how to recreate |
Дата | |
Msg-id | 3F020091.4040309@pse-consulting.de обсуждение исходный текст |
Ответ на | Index expressions: how to recreate (Andreas Pflug <pgadmin@pse-consulting.de>) |
Ответы |
Re: Index expressions: how to recreate
|
Список | pgsql-hackers |
Tom Lane wrote: >Andreas Pflug <pgadmin@pse-consulting.de> writes: > > >>I noticed the new expression functionality of indices and while >>implementing them in pgadmin3 was wonderingnow to extract the definition >>from the catalog. >> >> > >The best way is to use pg_get_indexdef(indexOID), same as pg_dump and >psql do. > > So far for the SQL window, which will show just a plain (and hopefully nicely formatted. readable) sql query to recreate the index. Still, a verbose display of the indexes property is not possible this way, unless I parse the pg_get_indexdef output... pg_get_indexdef converts that string to a list of nodes (not surprising), while pg_get_expr whill join these list elements with an explicit and (according to a comment, needed for partial index). Do I need to retrieve indexprs and split it myself (counting brackets) or is there a pg_xxx function that could help me (pg_get_element(indexprs, 0...n)) ? >Actually it should be read as 1 0 4 0. The output converter for >int2vector suppresses trailing zeroes, for largely-historical reasons. > Ok, I understand that, because indkey[n>4] will deliver 0 too, and indnatts will show that 4 arguments are needed. Regards, Andreas
В списке pgsql-hackers по дате отправления: