postgresql/contrib
Tom Lane 3c07fbf40b Use pqsignal() in contrib programs rather than calling signal(2) directly.
The semantics of signal(2) are more variable than one could wish; in
particular, on strict-POSIX platforms the signal handler will be reset
to SIG_DFL when the signal is delivered.  This demonstrably breaks
pg_test_fsync's use of SIGALRM.  The other changes I made are not
absolutely necessary today, because the called handlers all exit the
program anyway.  But it seems like a good general practice to use
pqsignal() exclusively in Postgres code, now that we have it available
everywhere.
2013-03-17 16:09:47 -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 Make contrib/btree_gist's GiST penalty function a bit saner. 2013-02-07 19:13:59 -05: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 Add noreturn attributes to some error reporting functions 2013-02-12 07:13:22 -05:00
dblink Update copyrights for 2013 2013-01-01 17:15:01 -05: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 Support writable foreign tables. 2013-03-10 14:16:02 -04:00
fuzzystrmatch Update copyrights for 2013 2013-01-01 17:15:01 -05:00
hstore Minor fixes for hstore_to_json_loose(). 2013-03-14 13:51:47 -04: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 Add a materialized view relations. 2013-03-03 18:23:31 -06:00
pageinspect Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
passwordcheck Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_archivecleanup In our source code, make a copy of getopt's 'optarg' string arguments, 2012-10-12 13:35: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 Use pqsignal() in contrib programs rather than calling signal(2) directly. 2013-03-17 16:09:47 -04:00
pg_stat_statements Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_test_fsync Use pqsignal() in contrib programs rather than calling signal(2) directly. 2013-03-17 16:09:47 -04:00
pg_test_timing Move long_options structures to the top of main() functions, for 2012-11-30 14:49:55 -05:00
pg_trgm Fix contrib/pg_trgm's similarity() function for trigram-free strings. 2013-02-13 14:07:06 -05:00
pg_upgrade Add a materialized view relations. 2013-03-03 18:23:31 -06:00
pg_upgrade_support Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_xlogdump Fix typo in "pg_xlogdump --help" and error message. 2013-02-27 21:27:01 +02:00
pgbench Fix inclusions in pgbench.c. 2013-03-17 14:18:33 -04:00
pgcrypto Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
pgrowlocks pgrowlocks: fix bogus lock strength output 2013-01-31 19:15:35 -03:00
pgstattuple Add a materialized view relations. 2013-03-03 18:23:31 -06:00
postgres_fdw Introduce less-bogus handling of collations in contrib/postgres_fdw. 2013-03-13 19:46:31 -04:00
seg Add noreturn attributes to some error reporting functions 2013-02-12 07:13:22 -05:00
sepgsql Update copyrights for 2013 2013-01-01 17:15:01 -05: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 Support Linux's oom_score_adj API as well as the older oom_adj API. 2012-06-13 15:35:52 -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 Update copyrights for 2013 2013-01-01 17:15:01 -05:00
uuid-ossp Update copyrights for 2013 2013-01-01 17:15:01 -05:00
vacuumlo Add a materialized view relations. 2013-03-03 18:23:31 -06:00
worker_spi Background worker processes 2012-12-06 17:47:30 -03: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.