"Gurjeet Singh" <singh.gurjeet@gmail.com> writes:
> Please refer the following session snippet. It seems that creating and
> dropping an index on a table, within a transaction, leaves the table marked
> as having an index.
This isn't a bug. Refer to catalogs.sgml:
relhasindexTrue if this is a table and it has (or recently had) any indexes.This is set by CREATE INDEX, but not
clearedimmediately by DROPINDEX. VACUUM clears relhasindex if it finds the table has no indexes.
The flag is only used as a hint that it's worth looking in pg_index to
see what rows there are for the table.
As for "tracking it down", read index_drop().
regards, tom lane