Обсуждение: Sequence "self" change - possible?
Hello,
Is it possible for sequence to decrement its value by itself? Or is it possible to see wether it was changed by someone. The thing is that on one of our clinet's DB sequence rolled back to the state from 8 months ago.
--
Łukasz Brodziak
Łukasz Brodziak
On 28 November 2011 15:04, Lukasz Brodziak <lukasz.brodziak@gmail.com> wrote:
Hello,Is it possible for sequence to decrement its value by itself? Or is it possible to see wether it was changed by someone. The thing is that on one of our clinet's DB sequence rolled back to the state from 8 months ago.--
Łukasz Brodziak
Hi Łukasz,
you can have set the sequence as cycled (http://www.postgresql.org/docs/current/static/sql-createsequence.html) so it can set automatically to minvalue when reaching maxvalue.
Show us the definition of that sequence.
regards
Szymon
Can it be that it wrapped around?
Best,
Oliveiros
----- Original Message -----From: Lukasz BrodziakSent: Monday, November 28, 2011 2:04 PMSubject: [ADMIN] Sequence "self" change - possible?Hello,Is it possible for sequence to decrement its value by itself? Or is it possible to see wether it was changed by someone. The thing is that on one of our clinet's DB sequence rolled back to the state from 8 months ago.--
Łukasz Brodziak
On 11/28/2011 10:04 PM, Lukasz Brodziak wrote: > Hello, > > Is it possible for sequence to decrement its value by itself? Or is it > possible to see wether it was changed by someone. The thing is that on > one of our clinet's DB sequence rolled back to the state from 8 months ago. It shouldn't generally be possible, no. It'd have to be changed by a call to nextval(), setval() or the like, or a direct UPDATE to the underlying sequence pseudo-table. Could someone have tried to restore a backup from 8 months ago? That'd result in a setval(...) call when pg_restore or psql (depending on backup format) tried to set the sequence position. In your case, though, your next post mentions possible database corruption, so I'm wondering if this is related. If something's been scribbling over the database files, someone's half-restored an old file-level backup, or something similarly horrible then anything could happen. -- Craig Ringer