OK, how is this?


These are the limits:

        Maximum size for a database?             unlimited (60GB databases exist)
        Maximum size for a table?                64 TB on all operating systems
        Maximum size for a row?                  unlimited in 7.1 and later
        Maximum size for a field?                1GB in 7.1 and later
        Maximum number of rows in a table?       unlimited
        Maximum number of columns in a table?    1600
        Maximum number of indexes on a table?    unlimited

    Of course, these are not actually unlimited, but limited to
    available disk space and memory/swap space.  Performance may
    suffer when these values get unusually large.

---------------------------------------------------------------------------



> Bruce, I think section 4.6 of the FAQ is a tad on the short and overly
> optimistic side.  Here's a set of more precise statements ...
> 
> 
>     4.6) What is the maximum size for a row, table, database?
>     
> Maximum size for a database?
> 
> Effectively unlimited, although you may see performance problems with
> more than a few thousand tables in a database, depending on how
> gracefully your filesystem copes with directories containing many files.
> 
> Maximum size for a table?
> 
> 2G blocks, hence 16 to 64 terabytes depending on the BLCKSZ
> configuration constant.  (If someone were to run around and make sure
> all the block-number arithmetic is unsigned, we could claim 4G blocks,
> but I think it's not all unsigned now...)
> 
> Maximum size for a row?
> 
> See limits on field size and number of columns.
> 
> Maximum size for an individual field value?
> 
> Field values are limited to 1Gb, and in practice are more tightly
> limited by memory/swap space available to a backend; a field value that
> is a large fraction of the maximum process memory size will probably
> cause out-of-memory failures.
> 
> Maximum number of columns in a table?
> 
> 1600.  In practice probably quite a bit less, even with TOAST, since the
> master tuple still has to fit in a block.  If all the columns are large
> (toastable) then at most you could fit about 250 columns with BLCKSZ=8K,
> since an out-of-line TOAST value pointer takes 32 bytes.  On the other
> hand, 1600 int4 columns would fit easily.
> 
> Maximum number of rows in a table?
> 
> No specific limit.  Note however that the COUNT() function currently
> uses an int4 counter, so will give bogus results for more than 2G rows.
> 
> Maximum number of indexes on a table?
> 
> No limit.
> 
>                       regards, tom lane
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Reply via email to