Za pomocą tej instrukcji możesz sprawdzić, czy indeks o podanej nazwie istnieje.
Jeśli nazwa indeksu to some_table_some_field_idx
SELECT count(*) > 0
FROM pg_class c
WHERE c.relname = 'some_table_some_field_idx'
AND c.relkind = 'i';
Począwszy od Postgres 9.5 możesz nawet używać
CREATE INDEX IF NOT EXISTS