postgresql/contrib
Robert Haas 2e44770fa3 pgrowlocks: Use GetActiveSnapshot() rather than SnapshotNow.
Per discussion, it's desirable to eliminate all remaining uses of
SnapshotNow, because it has unpleasant semantics: race conditions
can result in seeing multiple versions of a concurrently updated
row, or none at all.  By using GetActiveSnapshot() here, callers
will see exactly those rows that would have been visible if the
invoking query had scanned the table using, for example, a SELECT
statement.

This is slightly different from the old behavior, because commits
that happen concurrently with the scan will not affect the results.
In REPEATABLE READ or SERIALIZABLE modes, where transaction
snapshots are used, commits that have happened since the start of
the transaction will also not affect the results.  It is hoped
that this minor incompatibility will be thought an improvement,
or at least no worse than what we did before.
2013-07-22 16:21:14 -04:00
..
adminpack Update copyrights for 2013 2013-01-01 17:15:01 -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 copyrights for 2013 2013-01-01 17:15:01 -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 Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
cube Remove prototype for cube(text) function that doesn't exist anymore. 2013-04-23 13:49:06 +03:00
dblink Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09:00
dict_int Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dict_xsyn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dummy_seclabel Update copyrights for 2013 2013-01-01 17:15:01 -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 pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
fuzzystrmatch Update copyrights for 2013 2013-01-01 17:15:01 -05:00
hstore Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09: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 Remove unreachable code 2012-07-16 22:15:03 +03:00
isn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
lo Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
ltree Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
oid2name pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
pageinspect Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09:00
passwordcheck Update copyrights for 2013 2013-01-01 17:15:01 -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_standby pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
pg_stat_statements Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09:00
pg_test_fsync Fix pg_test_fsync, broken by xloginsert scaling patch. 2013-07-08 13:04:07 +03:00
pg_test_timing Remove undocumented -h (help) option 2013-07-01 12:40:33 -04:00
pg_trgm Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09:00
pg_upgrade Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
pg_upgrade_support Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_xlogdump Fix off-by-one in pg_xlogdump -r option. 2013-06-04 18:51:43 +03:00
pgbench Fix typo in previous pgbench --progress patch. 2013-07-18 01:21:30 +09:00
pgcrypto pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
pgrowlocks pgrowlocks: Use GetActiveSnapshot() rather than SnapshotNow. 2013-07-22 16:21:14 -04:00
pgstattuple Fix pgstattuple functions to use regclass-type as the argument. 2013-07-19 03:50:20 +09:00
postgres_fdw Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
seg Add noreturn attributes to some error reporting functions 2013-02-12 07:13:22 -05:00
sepgsql Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
spi Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
sslinfo Lots of doc corrections. 2012-04-23 22:43:09 -04:00
start-scripts Revert "pg_ctl: Add idempotent option" 2013-04-29 21:55:12 -04:00
tablefunc Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tcn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
test_parser Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tsearch2 Update copyrights for 2013 2013-01-01 17:15:01 -05:00
unaccent pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
uuid-ossp Update copyrights for 2013 2013-01-01 17:15:01 -05:00
vacuumlo vacuumlo: Use a cursor to limit client-side memory usage. 2013-07-15 10:51:27 -04:00
worker_spi Remove bgw_sighup and bgw_sigterm. 2013-07-22 14:13:00 -04:00
xml2 Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
Makefile contrib/Makefile also needs updated 2013-02-22 18:56:42 -03: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.