postgresql/contrib
Tom Lane b142068622 Allow CREATE FOREIGN TABLE to include SERIAL columns.
The behavior is that the required sequence is created locally, which is
appropriate because the default expression will be evaluated locally.
Per gripe from Brad Nicholson that this case was refused with a confusing
error message.  We could have improved the error message but it seems
better to just allow the case.

Also, remove ALTER TABLE's arbitrary prohibition against being applied to
foreign tables, which was pretty inconsistent considering we allow it for
views, sequences, and other relation types that aren't even called tables.
This is needed to avoid breaking pg_dump, which sometimes emits column
defaults using separate ALTER TABLE commands.  (I think this can happen
even when the default is not associated with a sequence, so that was a
pre-existing bug once we allowed column defaults for foreign tables.)
2013-05-15 19:03:29 -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 Remove prototype for cube(text) function that doesn't exist anymore. 2013-04-23 13:49:06 +03:00
dblink Fix contrib/dblink to handle inconsistent DateStyle/IntervalStyle safely. 2013-03-22 15:22:54 -04: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 Fix typo in comment. 2013-04-19 09:32:49 -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 Add pageinspect--1.0--1.sql for checksum changes 2013-03-18 14:39:17 +00: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 Editorialize a bit on new ProcessUtility() API. 2013-04-28 00:18:45 -04:00
pg_test_fsync pg_test_fsync: update output to show usecs/op clearer 2013-05-02 10:27:12 -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 Improve GiST index search performance for trigram regex queries. 2013-04-15 12:49:29 -04:00
pg_upgrade pg_upgrade: Replace tabs in output string constants by spaces 2013-05-13 21:42:19 -04:00
pg_upgrade_support Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_xlogdump pg_xlogdump: Improve --help output 2013-05-11 22:02:53 -04:00
pgbench pgbench: Fix order of options in --help output 2013-05-11 22:02:53 -04:00
pgcrypto Fix pgp_pub_decrypt() so it works for secret keys with passwords. 2013-05-10 13:06:48 -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 Allow CREATE FOREIGN TABLE to include SERIAL columns. 2013-05-15 19:03:29 -04:00
seg Add noreturn attributes to some error reporting functions 2013-02-12 07:13:22 -05:00
sepgsql Editorialize a bit on new ProcessUtility() API. 2013-04-28 00:18:45 -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 The data structure used in unaccent is a trie, not suffix tree. 2013-05-08 20:58:50 +03: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 Make worker_spi sample code more complete 2013-04-10 13:29:25 -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.