postgresql/contrib
Heikki Linnakangas 36a35c550a Compress GIN posting lists, for smaller index size.
GIN posting lists are now encoded using varbyte-encoding, which allows them
to fit in much smaller space than the straight ItemPointer array format used
before. The new encoding is used for both the lists stored in-line in entry
tree items, and in posting tree leaf pages.

To maintain backwards-compatibility and keep pg_upgrade working, the code
can still read old-style pages and tuples. Posting tree leaf pages in the
new format are flagged with GIN_COMPRESSED flag, to distinguish old and new
format pages. Likewise, entry tree tuples in the new format have a
GIN_ITUP_COMPRESSED flag set in a bit that was previously unused.

This patch bumps GIN_CURRENT_VERSION from 1 to 2. New indexes created with
version 9.4 will therefore have version number 2 in the metapage, while old
pg_upgraded indexes will have version 1. The code treats them the same, but
it might be come handy in the future, if we want to drop support for the
uncompressed format.

Alexander Korotkov and me. Reviewed by Tomas Vondra and Amit Langote.
2014-01-22 19:20:58 +02:00
..
adminpack Update copyright for 2014 2014-01-07 16:05:30 -05:00
auth_delay Limit values of archive_timeout, post_auth_delay, auth_delay.milliseconds. 2012-11-18 17:15:06 -05:00
auto_explain Update copyright for 2014 2014-01-07 16:05:30 -05:00
btree_gin Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
btree_gist pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
chkpass Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
citext Add record_image_ops opclass for matview concurrent refresh. 2013-10-09 14:26:09 -05:00
cube Use appendStringInfoString instead of appendStringInfo where possible. 2013-10-31 10:55:59 -04:00
dblink Update copyright for 2014 2014-01-07 16:05:30 -05:00
dict_int Update copyright for 2014 2014-01-07 16:05:30 -05:00
dict_xsyn Update copyright for 2014 2014-01-07 16:05:30 -05:00
dummy_seclabel Update copyright for 2014 2014-01-07 16:05:30 -05:00
earthdistance Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
file_fdw Update copyright for 2014 2014-01-07 16:05:30 -05:00
fuzzystrmatch Update copyright for 2014 2014-01-07 16:05:30 -05:00
hstore Add more use of psprintf() 2014-01-06 21:30:26 -05:00
intagg Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
intarray Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
isn Fix calculation of ISMN check digit. 2014-01-13 15:43:29 +02:00
lo Defend against bad trigger definitions in contrib/lo's lo_manage() trigger. 2013-11-23 22:46:43 -05:00
ltree Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
oid2name Replace pg_asprintf() with psprintf(). 2013-10-22 19:40:26 -04:00
pageinspect Update copyright for 2014 2014-01-07 16:05:30 -05:00
passwordcheck Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_archivecleanup pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
pg_buffercache Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
pg_freespacemap Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
pg_prewarm Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_standby Silence benign warnings from clang version 3.0-6ubuntu3. 2013-11-07 16:35:43 -06:00
pg_stat_statements Remove pg_stat_statements--1.1.sql. 2014-01-20 15:03:51 -05:00
pg_test_fsync pg_test_fsync: expand ops/sec display 2013-08-02 00:45:19 -04:00
pg_test_timing Remove undocumented -h (help) option 2013-07-01 12:40:33 -04:00
pg_trgm Fix possible buffer overrun in contrib/pg_trgm. 2014-01-13 13:07:10 -05:00
pg_upgrade Adjust pg_upgrade for move of username lookup functions to /common 2014-01-10 20:56:47 -05:00
pg_upgrade_support Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_xlogdump Update copyright for 2014 2014-01-07 16:05:30 -05:00
pgbench Prevent integer overflow with --progress >= 2148 2014-01-17 10:14:01 +02:00
pgcrypto Add gen_random_uuid() to contrib/pgcrypto. 2014-01-17 16:52:06 -05:00
pgrowlocks pgrowlocks: Use GetActiveSnapshot() rather than SnapshotNow. 2013-07-22 16:21:14 -04:00
pgstattuple Compress GIN posting lists, for smaller index size. 2014-01-22 19:20:58 +02:00
postgres_fdw Update copyright for 2014 2014-01-07 16:05:30 -05:00
seg Fix contrib/cube and contrib/seg to build with bison 3.0. 2013-07-29 10:42:37 -04:00
sepgsql Update copyright for 2014 2014-01-07 16:05:30 -05:00
spi Add use of asprintf() 2013-10-13 00:09:18 -04:00
sslinfo Minor code beautification in contrib/sslinfo. 2014-01-17 20:58:31 -05:00
start-scripts Remove dead URL mention in OSX startup script 2013-09-04 17:04:33 -04:00
tablefunc Update copyright for 2014 2014-01-07 16:05:30 -05:00
tcn Update copyright for 2014 2014-01-07 16:05:30 -05:00
test_parser Update copyright for 2014 2014-01-07 16:05:30 -05:00
test_shm_mq Fix whitespace 2014-01-15 21:14:28 -05:00
tsearch2 Update copyright for 2014 2014-01-07 16:05:30 -05:00
unaccent Update copyright for 2014 2014-01-07 16:05:30 -05:00
uuid-ossp Update copyright for 2014 2014-01-07 16:05:30 -05:00
vacuumlo Update copyright for 2014 2014-01-07 16:05:30 -05:00
worker_spi Fix thinko in worker_spi, count(*) returns a bigint. Thanks RhodiumToad 2013-09-03 13:27:34 +01:00
xml2 Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
Makefile Test code for shared memory message queue facility. 2014-01-14 12:24:12 -05:00
README Update contrib/README 2012-04-14 09:29:54 +03:00
contrib-global.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00

README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "gmake all" and "gmake
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.