On Wed, Jul 07, 2010 at 04:25:13PM -0500, Justin Graf wrote:
> Are you using PG's  sequence/auto increment???
> 
> If so.
> Once PG fires off the nextval() for the sequence that number is 
> considered used and gone even if the transaction that called nextval() 
> is rolled back
> 
> Depending on how the app is written nextval() might be called, but allow 
> the User to cancel the invoice creation before the insert into table is 
> completed eating up Invoice numbers
> 
> To reset Sequences number call
> Select setval('Sequence_Name', VAlue_To_Set_To);
> 
> Most people ignore this kind of annoyance when sequence numbers jump.  
> Now if it happens all the time where every X hours eating up Z number of 
> sequence numbers then one needs to dig into the logs and figure out what 
> is calling nextval()
> 
> Search the logs to see what is calling nextval('My_Sequence')
> 
> You may need to turn up logging to find it.

Justin, you're missing that John reported that the sequences are
_behind_ the table. This only happens for me if I've been doing
bulk data loads. Then I use:

select setval(sequence_name,max(serial_id_column)) from table_with_serial_id;

You do need to trackdown how this might have happened, though. Any
clever code doing it's own 'serial' incrementing?

Ross
-- 
Ross Reedstrom, Ph.D.                                 reeds...@rice.edu
Systems Engineer & Admin, Research Scientist        phone: 713-348-6166
The Connexions Project      http://cnx.org            fax: 713-348-3665
Rice University MS-375, Houston, TX 77005
GPG Key fingerprint = F023 82C8 9B0E 2CC6 0D8E  F888 D3AE 810E 88F0 BEDE

> 
> 
> On 7/7/2010 2:59 PM, John wrote:
> > I am the only developer, DBA etc.. for a small project.  Today (yesterday 
> > was
> > everything was perfect) many of the sequence numbers fell behind what is the
> > actual PK value.   For example the invoice PK sequence current value = 1056
> > but the table PK was 1071.  Nobody (other than myself) knows how to
> > edit/access the postgres server.  So
> >
> > 1. Does anyone know how this could have happened?????? Other than human
> > interaction.
> >
> > 2. Does anyone have a script to reset the sequences to match the tables?
> >
> > Thanks in advance,
> >
> > Johnf
> >
> >    
> 
> 
> 
> All legitimate Magwerks Corporation quotations are sent in a .PDF file 
> attachment with a unique ID number generated by our proprietary quotation 
> system. Quotations received via any other form of communication will not be 
> honored.
> 
> CONFIDENTIALITY NOTICE: This e-mail, including attachments, may contain 
> legally privileged, confidential or other information proprietary to Magwerks 
> Corporation and is intended solely for the use of the individual to whom it 
> addresses. If the reader of this e-mail is not the intended recipient or 
> authorized agent, the reader is hereby notified that any unauthorized 
> viewing, dissemination, distribution or copying of this e-mail is strictly 
> prohibited. If you have received this e-mail in error, please notify the 
> sender by replying to this message and destroy all occurrences of this e-mail 
> immediately.
> Thank you.


> 
> -- 
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to