Re: postgres limitation - Mailing list pgsql-admin
From | Bruce Momjian |
---|---|
Subject | Re: postgres limitation |
Date | |
Msg-id | 200101272019.PAA19618@candle.pha.pa.us Whole thread Raw |
In response to | Re: postgres limitation (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: postgres limitation
|
List | pgsql-admin |
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@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
pgsql-admin by date: