sql >> Base de Datos >  >> RDS >> PostgreSQL

Interbloqueos de Postgres en upserts concurrentes

Se me ocurren tres soluciones:

  1. Inserta solo una fila por declaración, pero eso es ineficiente.

  2. Ordena las filas antes de insertarlas.

  3. Vuelva a intentar una transacción si obtiene un punto muerto o un error de serialización.

Preferiría la tercera solución a menos que los errores ocurran con mucha frecuencia.