----- Mensaje original ----- > De: "Fernando A" <soporteallpurp...@gmail.com> > Para: "Alvaro Herrera" <alvhe...@alvh.no-ip.org> > CC: "Lista PostgreSQL" <pgsql-es-ay...@postgresql.org> > Enviados: Martes, 3 de Octubre 2017 10:29:58 > Asunto: Re: Registros desaparecidos de la BD > > Hola, aqui te adjunto una captura de la consulta que muestra los > "registros" de la tabla en cuestión. > El campo "id" es un campo serial, podes observar en las dos filas > "pintadas" que salta el valor de id, que corresponde a los registros que se > perdieron. > > Si, empiezo a pensar que es algo como lo que tu comentas...........pero > todavia estoy buscando el error! > Gracias! > Saludos > > > El 3 de octubre de 2017, 09:45, Alvaro Herrera<alvhe...@alvh.no-ip.org> > escribió: > > > Fernando A escribió: > > > Estimados, > > > en tres ocasiones, me encuentro con que han desaparecido algunos > > registros > > > de distintas tablas de una BD,. > > > > Por favor explica a qué te refieres con que "han desaparecido algunos > > registros". ¿cómo identificas que desaparecieron? > > > > Lo que suena posible es que una transacción quedó sin cerrar, y luego se > > cerró la conexión, dejando el mensaje del log que mostraste; todos los > > cambios que se hicieron en esa transacción se pierden. > > > > -- > > Álvaro Herrera https://www.2ndQuadrant.com/ > > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services > > >
Los campos seriales (implementados con una sequence) son propensos a tener "baches". Cuando se hace un nextval(), la secuencia *siempre* se incrementa, independientemente de si la transacccion termina en COMMIT o ROLLBACK Entonces, ya no estariamos hablando de registros perdidos, solo de transacciones fallidas. El log te sabra indicar cuales fallan y porque. Saludos, Gerardo