postgresql/contrib
Tom Lane cc3f281ffb Fix postgres_fdw's issues with inconsistent interpretation of data values.
For datatypes whose output formatting depends on one or more GUC settings,
we have to worry about whether the other server will interpret the value
the same way it was meant.  pg_dump has been aware of this hazard for a
long time, but postgres_fdw needs to deal with it too.  To fix data
retrieval from the remote server, set the necessary remote GUC settings at
connection startup.  (We were already assuming that settings made then
would persist throughout the remote session.)  To fix data transmission to
the remote server, temporarily force the relevant GUCs to the right values
when we're about to convert any data values to text for transmission.

This is all pretty grotty, and not very cheap either.  It's tempting to
think of defining one uber-GUC that would override any settings that might
render printed data values unportable.  But of course, older remote servers
wouldn't know any such thing and would still need this logic.

While at it, revert commit f7951eef89, since
this provides a real fix.  (The timestamptz given in the error message
returned from the "remote" server will now reliably be shown in UTC.)
2013-03-11 21:31:28 -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 JSON generation improvements. 2013-03-10 17:35:36 -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 In our source code, make a copy of getopt's 'optarg' string arguments, 2012-10-12 13:35:43 -04:00
pg_stat_statements Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_test_fsync Move long_options structures to the top of main() functions, for 2012-11-30 14:49:55 -05: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 Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03: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 Fix postgres_fdw's issues with inconsistent interpretation of data values. 2013-03-11 21:31:28 -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
contrib-global.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02: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

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.