Update mmap details:

<   portability issues. Anonymous mmap is required to prevent I/O
<   overhead.
>   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
>   to prevent I/O overhead.
>
> * Consider mmap()'ing files into a backend?
>
>   Doing I/O to large tables would consume a lot of address space or
>   require frequent mapping/unmapping.  Extending the file also causes
>   mapping problems that might require mapping only individual pages,
>   leading to thousands of mappings.  Another problem is that there is no
>   way to _prevent_ I/O to disk from the dirty shared buffers so changes
>   could hit disk before WAL is written.
This commit is contained in:
Bruce Momjian 2004-11-09 03:57:42 +00:00
parent d9ab482abb
commit 8dd602e41e
1 changed files with 12 additions and 3 deletions

View File

@ -6,7 +6,7 @@ TODO list for PostgreSQL
Bracketed items "[]" have more detail. Bracketed items "[]" have more detail.
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
Last updated: Mon Nov 8 15:16:11 EST 2004 Last updated: Mon Nov 8 22:57:34 EST 2004
The most recent version of this document can be viewed at the PostgreSQL web The most recent version of this document can be viewed at the PostgreSQL web
site, http://www.PostgreSQL.org. site, http://www.PostgreSQL.org.
@ -815,8 +815,17 @@ Miscellaneous
* Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap] * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
This would remove the requirement for SYSV SHM but would introduce This would remove the requirement for SYSV SHM but would introduce
portability issues. Anonymous mmap is required to prevent I/O portability issues. Anonymous mmap (or mmap to /dev/zero) is required
overhead. to prevent I/O overhead.
* Consider mmap()'ing files into a backend?
Doing I/O to large tables would consume a lot of address space or
require frequent mapping/unmapping. Extending the file also causes
mapping problems that might require mapping only individual pages,
leading to thousands of mappings. Another problem is that there is no
way to _prevent_ I/O to disk from the dirty shared buffers so changes
could hit disk before WAL is written.
* Add a script to ask system configuration questions and tune postgresql.conf * Add a script to ask system configuration questions and tune postgresql.conf
* Use a phantom command counter for nested subtransactions to reduce * Use a phantom command counter for nested subtransactions to reduce