7.6. LIMIT and OFFSET
  
   LIMIT
  
  and
  
   OFFSET
  
  allow you to retrieve just
   a portion of the rows that are generated by the rest of the query:
 
SELECTselect_listFROMtable_expression[ ORDER BY ... ] [ LIMIT {count| ALL } ] [ OFFSETstart]
  If a limit count is given, no more than that many rows will be
   returned (but possibly fewer, if the query itself yields fewer rows).
  
   LIMIT ALL
  
  is the same as omitting the
  
   LIMIT
  
  clause, as is
  
   LIMIT
  
  with a NULL argument.
 
  
   OFFSET
  
  says to skip that many rows before beginning to
   return rows.
  
   OFFSET 0
  
  is the same as omitting the
  
   OFFSET
  
  clause, as is
  
   OFFSET
  
  with a NULL argument.
 
  If both
  
   OFFSET
  
  and
  
   LIMIT
  
  appear, then
  
   OFFSET
  
  rows are
   skipped before starting to count the
  
   LIMIT
  
  rows that
   are returned.
 
  When using
  
   LIMIT
  
  , it is important to use an
  
   ORDER BY
  
  clause that constrains the result rows into a
   unique order.  Otherwise you will get an unpredictable subset of
   the query's rows. You might be asking for the tenth through
   twentieth rows, but tenth through twentieth in what ordering? The
   ordering is unknown, unless you specified
  
   ORDER BY
  
  .
 
  The query optimizer takes
  
   LIMIT
  
  into account when
   generating query plans, so you are very likely to get different
   plans (yielding different row orders) depending on what you give
   for
  
   LIMIT
  
  and
  
   OFFSET
  
  .  Thus, using
   different
  
   LIMIT
  
  /
  
   OFFSET
  
  values to select
   different subsets of a query result
  
   
    will give
   inconsistent results
   
  
  unless you enforce a predictable
   result ordering with
  
   ORDER BY
  
  .  This is not a bug; it
   is an inherent consequence of the fact that SQL does not promise to
   deliver the results of a query in any particular order unless
  
   ORDER BY
  
  is used to constrain the order.
 
  The rows skipped by an
  
   OFFSET
  
  clause still have to be
   computed inside the server; therefore a large
  
   OFFSET
  
  might be inefficient.