Обсуждение: Bug with sequences and WAL ?
Hi, If a new sequence is created, its creation is propagated via WAL. However, instead of getting the property 'is_called'=false (the correct value before its first use), we get 'is_called'=true after a PITR recovery. Is it a bug, or a normal behaviour ? (version of PostgreSQL : 8.0.4) Thank you, Philippe Ferreira.
Philippe Ferreira <phil.f@worldonline.fr> writes:
> If a new sequence is created, its creation is propagated via WAL.
> However, instead of getting the property 'is_called'=false (the correct
> value before its first use),
> we get 'is_called'=true after a PITR recovery.
> Is it a bug, or a normal behaviour ?
I don't think this is very important, because the normal behavior of
sequences is that after a crash the sequence can be up to 32 (IIRC)
counts beyond the last value actually delivered before the crash.
To get "exact" restart behavior we'd need to emit a separate xlog
record for each nextval() command, which seems like a pretty high
price considering that you cannot assume no holes in the sequence
values anyway.
regards, tom lane
>I don't think this is very important, because the normal behavior of >sequences is that after a crash the sequence can be up to 32 (IIRC) >counts beyond the last value actually delivered before the crash. >To get "exact" restart behavior we'd need to emit a separate xlog >record for each nextval() command, which seems like a pretty high >price considering that you cannot assume no holes in the sequence >values anyway. > > Hi, You are right. I've already seen sequences increase up to 24 or 32 after a failover with PITR. However, I'm also using PITR in order to do switchover. In this case, I think that nothing should change... But, I recognize that using PITR for switchover is rather an "unsupported" functionnality... Thank you, Philippe Ferreira.
>To get "exact" restart behavior we'd need to emit a separate xlog >record for each nextval() command, which seems like a pretty high >price considering that you cannot assume no holes in the sequence >values anyway. > > Hi, Why not give the choice at compile-time ? Philippe.