Dowload the 1.0 here:
Thanks to everybody who helped review and improve this new version.
With PostgreSQL, each Table or Index is splitted in segments of
(usually) 1GB, and each segment is splitted in pages in memory then in
blocks for the filesystem.
Those functions let you know which and how many disk block from a
relation are in the page cache of the operating system.
It can provide the result as a VarBit and can be stored in a table.
Then using this table, it is possible to restore the page cache state
for each block of the relation, even in another node, thanks to
Other functions are used to set a POSIX_FADVISE flag on the entire
relation (each segment). The more usefull are probably WILLNEED and
DONTNEED which push and pop blocks of each segments of a relation from
page cache, respectively.
* New API
* Snapshot are not stored in plain file anymore (thus they can be
stored in a table now)
* Usage on temp table is no longer prohibited
* Fine grain control of the file map (pages to load/unload)
* 9.1 Extension support
- Output varbit containing vector information with pgfincore*()
- Add Debian packaging (Dimitri Fontaine)
- Update to work with PostgreSQL >= 9.1 (Jeff Janes)
- Add total number of pages of memory with pgsysconf()
- Add function pgsysconf_pretty()
- Major rewrite of the functions
- pgfadvise*() to handle simple posix_fadvise call
- pgfadvise_loader() to restore file status (pages in/out cache)
- pgfincore*() to handle mincore usage
- pgsysconf*() to handle sysconf information
- Use get_call_result_type() to build the tuple descriptor (suggested
by RhodiumToad on IRC)
- Remove limitation of usage on temp tables
- Improve 9.1 installation (Extension)
Cédric Villemain +33 (0)6 20 30 22 52
PostgreSQL: Support 24x7 - Développement, Expertise et Formation