Hi all,

Is there any way, to know the name of indexes on a table, defined in a database. I mean can I query something like Select Index_name from pg_class where relname = "Table_name" . Thanks in advance.


---  Thanks & Reagrds  ----
Anirban Pal  |  Software Engineer
Newgen Software Technologies Ltd.
Contact: (011) 26815467-72 | Extn: 177

Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the origin al intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for los s or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no bin ding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.




Just take a look at the system catalogs, you'll find the view pg_index as well http://www.postgresql.org/docs/8.3/static/catalog-pg-index.html


Example:
SELECT
        nmsp.nspname AS schemaname,
        tcls.relname AS tablename,
        icls.relname AS indexname
FROM
        pg_index
                JOIN pg_class AS icls ON pg_index.indexrelid = icls.oid
                JOIN pg_class AS tcls ON pg_index.indrelid = tcls.oid
                JOIN pg_namespace AS nmsp ON tcls.relnamespace = nmsp.oid
WHERE
        nmsp.nspname NOT IN ('pg_catalog', 'pg_toast')
ORDER BY
        schemaname ASC,
        tablename ASC,
        indexname ASC;


Kind regards,
Frank

Reply via email to