У индекса нет возможности изменения типа. Ни самого типа индекса (btree, hash, gin, gist) ни типов полей.
Нужно сначала создавать новый индекс, затем удалять старый. Имена индексов при этом должны будут различаться. Сначала удалить, потом построить новый - чревато развлечениями на production, когда на время построения нового индекса уже нет старого индекса и потому ранее быстрые запросы едят 100% cpu и диска, превращая задачу построения нового индекса во что-то около невозможное. На dev машине, конечно, без разницы.
Просто работаю через Valentina Studio и не совсем понятно что происходит под капотом.
Сделайте log_statement = all (или ddl) - и увидите в логе базы, что приложение делает. Бывает полезно не только с gui всякими, но и с чрезмерно "умными" orm.