Re: postgres limitation
От | Tom Lane |
---|---|
Тема | Re: postgres limitation |
Дата | |
Msg-id | 22651.980624842@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: postgres limitation (R D <mrk279@yahoo.com>) |
Ответы |
Re: postgres limitation
|
Список | pgsql-admin |
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
В списке pgsql-admin по дате отправления: