title: PostgreSQL auto-increment increases on each update
body: <p>Every time I do an INSERT or UPSERT (ON CONFLICT UPDATE), the increments column on each table increments by the number of updates that came before it.</p>
  
  <p>For instance, if I have this table:</p>
  
  <pre><code>id int4
  title text
  description text
  updated_at timestamp
  created_at timestamp
  </code></pre>
  
  <p>And then run these queries:</p>
  
  <pre><code>INSERT INTO notifications (title, description) VALUES ('something', 'whatever'); // Generates increments ID=1
  
  UPDATE notifications title='something else' WHERE id = 1; // Repeat this query 20 times with different values.
  
  INSERT INTO notifications (title, description) VALUES ('something more', 'whatever again'); // Generates increments ID=22
  </code></pre>
  
  <p>This is a pretty big issue. The script we are running processes 100,000+ notifications every day. This can create gaps between each insert on the order of 10,000, so we might start off with 100 rows but by the time we reach 1,000 rows we have an auto-incremented primary key ID value over 100000 for that last row.</p>
  
  <p>We will quickly run out of auto-increment values on our tables if this continues.</p>
  
  <p>Is our PostgreSQL server misconfigured? Using Postgres 9.5.3.</p>
  
  <p>I'm using Eloquent Schema Builder (e.g. <code>$table-&gt;increments('id')</code>) to create the table and I don't know if that has something to do with it.</p>