diff --git a/doc/src/sgml/limits.sgml b/doc/src/sgml/limits.sgml
index d5b2b62..fe1b138 100644
--- a/doc/src/sgml/limits.sgml
+++ b/doc/src/sgml/limits.sgml
@@ -51,14 +51,14 @@
rows per table
- limited by the number of tuples that can fit onto 4,294,967,295 pages
+ limited by the number of rows that can fit onto 4,294,967,295 pagescolumns per table1600
- further limited by tuple size fitting on a single page; see note
+ further limited by row size fitting on a single page; see note
below
@@ -102,25 +102,29 @@
- The maximum number of columns for a table is further reduced as the tuple
- being stored must fit in a single 8192-byte heap page. For example,
- excluding the tuple header, a tuple made up of 1600 int columns
- would consume 6400 bytes and could be stored in a heap page, but a tuple of
+ Tables and indexes, both, are referred to as relations in Postgres code.
+
+
+
+ The maximum number of columns for a table is further reduced as the row
+ being stored must fit in a single database block (usually 8192-bytes). For example,
+ excluding the row-header, a row made up of 1600 int columns
+ would consume 6400 bytes and could be stored in a database block, but a row of
1600 bigint columns would consume 12800 bytes and would
- therefore not fit inside a heap page.
- Variable-length fields of
+ therefore not fit inside a database block.
+ Variable-length columns of
types such as text, varchar, and char
- can have their values stored out of line in the table's TOAST table when the
+ can have their values stored out of line in the table's TOAST table when the
values are large enough to require it. Only an 18-byte pointer must remain
- inside the tuple in the table's heap. For shorter length variable-length
- fields, either a 4-byte or 1-byte field header is used and the value is
- stored inside the heap tuple.
+ inside the row in the table's storage. For shorter length variable-length
+ columns, either a 4-byte or 1-byte column header is used and the value is
+ stored inside the row.
Columns that have been dropped from the table also contribute to the maximum
column limit. Moreover, although the dropped column values for newly
- created tuples are internally marked as null in the tuple's null bitmap, the
+ created rows are internally marked as null in the rows's null bitmap, the
null bitmap also occupies space.