From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: postgres limitation |
Date: | 2001-01-27 20:19:21 |
Message-ID: | 200101272019.PAA19618@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-docs |
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
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Miyabara-McCaskey | 2001-01-27 21:34:03 | Sizing of LARGE databases. |
Previous Message | Tom Lane | 2001-01-27 19:47:22 | Re: postgres limitation |
From | Date | Subject | |
---|---|---|---|
Next Message | The Hermit Hacker | 2001-01-28 02:02:10 | Re: postgres limitation |
Previous Message | Tom Lane | 2001-01-27 19:47:22 | Re: postgres limitation |