Fallo de actualización PG::UniqueViolation -- no se pudo crear el índice único "unique_post_links_ccnew"

I’ve got a standard install that is failing to upgrade to 2.8.0.beta2 with this error:

PG::UniqueViolation: ERROR:  could not create unique index "unique_post_links_ccnew"

it’s from

I, [2021-06-25T18:35:47.756688 #1]  INFO -- : == 20210525112226 RemoveLengthConstrainFromTopicLinkUrl: migrating ============

It doesn’t look like a corrupt index.

Does this help?

[6] pry(main)> TopicLink.where(url: bad_url).pluck(:id, :topic_id, :post_id, :user_id)
=> [[15733, 14351, 63616, 911], [16131, 14505, 63986, 911], [27141, 14505, 63986, 1152]]

I ended up just appending a badX to the duplicate URLs and then it worked. I’m not quite clear what problems this might generate in the future…

En nuestra experiencia, muchos de los supuestos errores de corrupción de índices “imposibles” en versiones anteriores de Postgres. ¿Sigues viendo esto?

1 me gusta

Creo que no lo he visto desde que actualicé a pg12.

1 me gusta

Llegamos hasta PG13, y creo que eso lo resolvió en su mayoría (índices corruptos) para nosotros, ¿verdad @sam?

2 Me gusta

@saj ha resuelto este problema. Lo hemos solucionado en nuestra infraestructura. La mayoría de los autoalojadores ya lo han solucionado.

El mecanismo que utilizábamos en el pasado para actualizar PG en nuestra imagen de código abierto tenía algunos problemas de seguridad inherentes debido a que libc cambiaba internamente entre las versiones de PG.

Creo que el problema ha desaparecido en su mayor parte en el ecosistema en general, aunque algunas actualizaciones antiguas aún pueden enfrentarlo. Será una pesadilla arreglar nuestro script de actualización de código abierto existente y lidiar con la enorme matriz de actualizaciones de PG.

Dicho esto, al menos ahora somos muy conscientes de la fuente del problema y estamos mejor posicionados para abordarlo en el futuro.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.