Według postgresql's documentation:
Adding a primary key will automatically create a unique btree index on the column
or group of columns used in the primary key.
Hovewer, nie uniemożliwia tworzenie innej indeks na tych samych kolumnach. Może to mieć sens, jeśli używasz różnych zasad indeksowania (np. Indeks GiST). Ale jeśli nie jesteś tego pewien, 99,9%, że właśnie stworzyłeś identyczny indeks.
W rzeczywistości nie wpłynie to w żaden sposób na funkcjonalność aplikacji. Jedyną rzeczą, której należy się obawiać, jest to, że indeksy są przebudowywane na operacjach aktualizacji, więc może to powodować pewne problemy związane z wydajnością. Tak więc, jak sugeruje instrukcja removing seldom-used indexes (ostatnie zdanie), lepiej usunąć te indeksy z db.
Nie jestem do końca zaznajomiony z migracjami RoR, ale uważam, że migracja, która usuwa te indeksy, jest wystarczająca.
Jeśli uruchomię zapytanie, aby usunąć indeks z identyfikatora, usunie "oba"? – Brand
Nie, zapytanie o spadek indeksu powoduje zwrócenie konkretnego indeksu do zrzutu. Tak więc, drop index yada powinien spowodować, że zniknie tylko indeks o nazwie yada. –