Puoi controllare se esiste un indice con un determinato nome tramite questa istruzione.
Se il nome dell'indice è some_table_some_field_idx
SELECT count(*) > 0
FROM pg_class c
WHERE c.relname = 'some_table_some_field_idx'
AND c.relkind = 'i';
A partire da Postgres 9.5 puoi persino usare
CREATE INDEX IF NOT EXISTS