Preguntas etiquetadas con upsert

3
Manera idiomática de implementar UPSERT en PostgreSQL
He leído sobre diferentes UPSERTimplementaciones en PostgreSQL, pero todas estas soluciones son relativamente antiguas o relativamente exóticas (usando CTE grabable , por ejemplo). Y simplemente no soy un experto en psql para averiguar de inmediato, si estas soluciones son viejas porque son bien recomendadas o si son (bueno, casi todas) …


2
¿Cómo obtener la ID de la fila en conflicto en upsert?
Tengo una tabla tagcon 2 columnas: id(uuid) y name(texto). Ahora quiero insertar una nueva etiqueta en la tabla, pero si la etiqueta ya existe, simplemente quiero obtener la iddel registro existente. Supuse que podría usarlo ON CONFLICT DO NOTHINGen combinación con RETURNING "id": INSERT INTO "tag" ("name") VALUES( 'foo' ) …







2
PostgreSQL Upsert no funciona en la tabla particionada
Tener una mesa como esta: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Esta tabla es el maestro del que heredan muchas particiones. Las particiones se realizan por MES en el campo FECHA. Por ejemplo: la …

1
¿Por qué CTE está abierto a actualizaciones perdidas?
No entiendo a qué se refería Craig Ringer cuando comentó: Esta solución está sujeta a actualizaciones perdidas si la transacción de inserción retrocede; no hay verificación para asegurar que la ACTUALIZACIÓN haya afectado las filas. en https://stackoverflow.com/a/8702291/14731 . Proporcione una secuencia de eventos de muestra (por ejemplo, el subproceso 1 …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.