BUG #5476: sequence corruption

Started by Piergiorgio Buongiovannialmost 16 years ago2 messagesbugs
Jump to latest
#1Piergiorgio Buongiovanni
p.buongiovanni@net-international.com

The following bug has been logged online:

Bug reference: 5476
Logged by: Piergiorgio Buongiovanni
Email address: p.buongiovanni@net-international.com
PostgreSQL version: 8.3.4
Operating system: CentOS (Redhat 5.4)
Description: sequence corruption
Details:

We experimented a sequence corruption on a table:
If we now look at the sequence data using pgAdmin version 1.8.4, we see the
following:

CREATE SEQUENCE business.subject_isid_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 58827944
CACHE 1;
ALTER TABLE business.subject_isid_seq OWNER TO netdw_owner;

The problem is that now the search on the table business.Subject (where the
sequence is used) performs very slowly. It seems the data are corrupted but
at the end I can see that there is a record created with the number 463663
instead of 57. As you can see the next value will be used is 58827944.
Which is the problem? Can I recover this situation and restore the right
sequence value? I tried to set the START value to 58 but, as you can see,
the value changed.

#2Jasen Betts
jasen@xnet.co.nz
In reply to: Piergiorgio Buongiovanni (#1)
Re: BUG #5476: sequence corruption

On 2010-05-27, Piergiorgio Buongiovanni <p.buongiovanni@net-international.com> wrote:

The following bug has been logged online:

Bug reference: 5476
Logged by: Piergiorgio Buongiovanni
Email address: p.buongiovanni@net-international.com
PostgreSQL version: 8.3.4
Operating system: CentOS (Redhat 5.4)
Description: sequence corruption
Details:

We experimented a sequence corruption on a table:
If we now look at the sequence data using pgAdmin version 1.8.4, we see the
following:

CREATE SEQUENCE business.subject_isid_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 58827944
CACHE 1;
ALTER TABLE business.subject_isid_seq OWNER TO netdw_owner;

The problem is that now the search on the table business.Subject (where the
sequence is used) performs very slowly. It seems the data are corrupted but
at the end I can see that there is a record created with the number 463663
instead of 57. As you can see the next value will be used is 58827944.
Which is the problem? Can I recover this situation and restore the right
sequence value? I tried to set the START value to 58 but, as you can see,
the value changed.

have you tried vacuum full on the table? I get the feeling that it
may have several million deleted rows.

VACUUM FULL subject;