PgFincore 1.0 released : move cache state to PostgreSQL Standbys - Mailing list pgsql-announce

From Cédric Villemain
Subject PgFincore 1.0 released : move cache state to PostgreSQL Standbys
Date
Msg-id CAF6yO=3qmnPTZJ+bKkupMhm5WFipZZHokocnhkmjEL5UPzVu+Q@mail.gmail.com
Whole thread Raw
List pgsql-announce
New version of PgFincore is out!

Dowload the 1.0 here:
http://pgfoundry.org/frs/download.php/3103/pgfincore-v1.0.tar.gz
Homepage: http://villemain.org/projects/pgfincore

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
Streaming Replication.

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.
__________________________

Major changes:

 * 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


Changements :
- 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
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation

pgsql-announce by date:

Previous
From: Nucleon Software
Date:
Subject: Database Master 4 with PostgreSQL and LINQ Released
Next
From: Steve Singer
Date:
Subject: Slony-I 2.0.7 released