| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | David Rysdam <drysdam(at)ll(dot)mit(dot)edu> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Check for existence of index |
| Date: | 2005-04-05 18:19:55 |
| Message-ID: | 26226.1112725195@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
David Rysdam <drysdam(at)ll(dot)mit(dot)edu> writes:
> Why can't I have the same index name be on
> different tables?
You can ... if they are in different schemas. Indexes and tables share
the same namespace, ie, they must be unique within a schema.
As for your original question, you probably want something like
SELECT ... FROM pg_class c, pg_namespace n WHERE c.relnamespace = n.oid
AND relname = 'indexname' AND nspname = 'schemaname' AND relkind = 'i';
If you actually want to verify that this index is on a specific table,
you'll need a more complicated join involving pg_index and a second
scan of pg_class. See
http://www.postgresql.org/docs/8.0/static/catalogs.html
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Grzegorz Przeździecki | 2005-04-05 18:26:51 | Re: change attnum in pg_catalog.pg_attribute |
| Previous Message | Tom Lane | 2005-04-05 18:13:01 | Re: change attnum in pg_catalog.pg_attribute |