title: Is postgresl SERIAL guaranteeing no gaps within single insert statement?
body: <p>Let's start with:</p>
  
  <pre><code>CREATE TABLE "houses" (
    "id" serial NOT NULL PRIMARY KEY, 
    "name" character varying NOT NULL)
  </code></pre>
  
  <p>Imagine I try to concurrently (!) insert into the table in a single statement multiple records (maybe 10 maybe 1000).</p>
  
  <pre><code>INSERT INTO houses (name) VALUES
      ('B6717'),
      ('HG120');
  </code></pre>
  
  <p>Is it guaranteed that when a single thread inserts X records in a single statement (when in the same time other threads simultaneously try to insert other records to the same table) that those records will have IDs numbered from A to A+X-1 ? Or is it possible A+100 will be taken by thread 1 and A+99 by thread 2?</p>