PostgreSQL TODO List
====================
-Last updated: Thu Feb 8 20:29:43 EST 2007
+Last updated: Thu Feb 8 22:37:41 EST 2007
The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html.
could hit disk before WAL is written.
* Add a script to ask system configuration questions and tune postgresql.conf
-* Merge xmin/xmax/cmin/cmax back into three header fields
-
- Before subtransactions, there used to be only three fields needed to
- store these four values. This was possible because only the current
- transaction looks at the cmin/cmax values. If the current transaction
- created and expired the row the fields stored where xmin (same as
- xmax), cmin, cmax, and if the transaction was expiring a row from a
- another transaction, the fields stored were xmin (cmin was not
- needed), xmax, and cmax. Such a system worked because a transaction
- could only see rows from another completed transaction. However,
- subtransactions can see rows from outer transactions, and once the
- subtransaction completes, the outer transaction continues, requiring
- the storage of all four fields. With subtransactions, an outer
- transaction can create a row, a subtransaction expire it, and when the
- subtransaction completes, the outer transaction still has to have
- proper visibility of the row's cmin, for example, for cursors.
-
- One possible solution is to create a phantom cid which represents a
- cmin/cmax pair and is stored in local memory. Another idea is to
- store both cmin and cmax only in local memory.
-
+* -Merge xmin/xmax/cmin/cmax back into three header fields
* Consider ways of storing rows more compactly on disk
o Support a smaller header for short variable-length fields?
-Last updated: Thu Feb 8 20:29:43 EST 2007
+Last updated: Thu Feb 8 22:37:41 EST 2007
The most recent version of this document can be viewed at
could hit disk before WAL is written.
Add a script to ask system configuration questions and tune postgresql.conf
-
Merge xmin/xmax/cmin/cmax back into three header fields
-
Before subtransactions, there used to be only three fields needed to
- store these four values. This was possible because only the current
- transaction looks at the cmin/cmax values. If the current transaction
- created and expired the row the fields stored where xmin (same as
- xmax), cmin, cmax, and if the transaction was expiring a row from a
- another transaction, the fields stored were xmin (cmin was not
- needed), xmax, and cmax. Such a system worked because a transaction
- could only see rows from another completed transaction. However,
- subtransactions can see rows from outer transactions, and once the
- subtransaction completes, the outer transaction continues, requiring
- the storage of all four fields. With subtransactions, an outer
- transaction can create a row, a subtransaction expire it, and when the
- subtransaction completes, the outer transaction still has to have
- proper visibility of the row's cmin, for example, for cursors.
-
-
One possible solution is to create a phantom cid which represents a
- cmin/cmax pair and is stored in local memory. Another idea is to
- store both cmin and cmax only in local memory.
-
+
-Merge xmin/xmax/cmin/cmax back into three header fields
Consider ways of storing rows more compactly on disk
Support a smaller header for short variable-length fields?