postgresql/contrib
Joe Conway 794e2558be Fix sepgsql regression tests.
The regression tests for sepgsql were broken by changes in the
base distro as-shipped policies. Specifically, definition of
unconfined_t in the system default policy was changed to bypass
multi-category rules, which the regression test depended on.
Fix that by defining a custom privileged domain
(sepgsql_regtest_superuser_t) and using it instead of system's
unconfined_t domain. The new sepgsql_regtest_superuser_t domain
performs almost like the current unconfined_t, but restricted by
multi-category policy as the traditional unconfined_t was.

The custom policy module is a self defined domain, and so should not
be affected by related future system policy changes. However, it still
uses the unconfined_u:unconfined_r pair for selinux-user and role.
Those definitions have not been changed for several years and seem
less risky to rely on than the unconfined_t domain. Additionally, if
we define custom user/role, they would need to be manually defined
at the operating system level, adding more complexity to an already
non-standard and complex regression test.

Back-patch to 9.3. The regression tests will need more work before
working correctly on 9.2. Starting with 9.2, sepgsql has had dependencies
on libselinux versions that are only available on newer distros with
the changed set of policies (e.g. RHEL 7.x). On 9.1 sepgsql works
fine with the older distros with original policy set (e.g. RHEL 6.x),
and on which the existing regression tests work fine. We might want
eventually change 9.1 sepgsql regression tests to be more independent
from the underlying OS policies, however more work will be needed to
make that happen and it is not clear that it is worth the effort.

Kohei KaiGai with review by Adam Brightwell and me, commentary by
Stephen, Alvaro, Tom, Robert, and others.
2015-08-30 11:09:05 -07:00
..
adminpack Update copyright for 2015 2015-01-06 11:43:47 -05:00
auth_delay Add file version information to most installed Windows binaries. 2014-07-14 14:07:52 -04:00
auto_explain Rearrange explain.c's API so callers need not embed sizeof(ExplainState). 2015-01-15 13:39:33 -05:00
btree_gin pgindent run for 9.5 2015-05-23 21:35:49 -04:00
btree_gist Improve spelling 2015-08-22 21:54:35 -04:00
chkpass Avoid returning undefined bytes in chkpass_in(). 2015-02-14 12:20:56 -05:00
citext Fix incorrect declaration of citext's regexp_matches() functions. 2015-05-05 15:51:22 -04:00
cube Move strategy numbers to include/access/stratnum.h 2015-05-15 17:03:16 -03:00
dblink Fix volatile-safety issue in dblink's materializeQueryResult(). 2015-01-26 15:17:33 -05:00
dict_int Update copyright for 2015 2015-01-06 11:43:47 -05:00
dict_xsyn Update copyright for 2015 2015-01-06 11:43:47 -05:00
earthdistance Improve speed of make check-world 2015-04-23 08:59:52 -04:00
file_fdw TABLESAMPLE, SQL Standard and extensible 2015-05-15 14:37:10 -04:00
fuzzystrmatch pgindent run for 9.5 2015-05-23 21:35:49 -04:00
hstore pgindent run for 9.5 2015-05-23 21:35:49 -04:00
hstore_plperl Enable transforms modules to build and test on Cygwin. 2015-07-18 10:09:04 -04:00
hstore_plpython Enable transforms modules to build and test on Cygwin. 2015-07-18 10:09:04 -04:00
intagg Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
intarray Add selectivity estimation functions for intarray operators. 2015-07-21 20:59:24 +03:00
isn contrib/isn now needs a .gitignore file. 2015-08-02 23:57:32 -04:00
lo Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
ltree pgindent run for 9.5 2015-05-23 21:35:49 -04:00
ltree_plpython Enable transforms modules to build and test on Cygwin. 2015-07-18 10:09:04 -04:00
oid2name Add file version information to most installed Windows binaries. 2014-07-14 14:07:52 -04:00
pageinspect Use materialize SRF mode in brin_page_items 2015-08-13 13:02:10 -03:00
passwordcheck Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_buffercache pgindent run for 9.5 2015-05-23 21:35:49 -04:00
pg_freespacemap Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pg_prewarm Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_standby Don't use function definitions looking like old-style ones. 2015-08-15 17:25:00 +02:00
pg_stat_statements Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
pg_trgm This supports the triconsistent function for pg_trgm GIN opclass 2015-07-20 18:18:48 +03:00
pgcrypto pgindent run for 9.5 2015-05-23 21:35:49 -04:00
pgrowlocks Optimize locking a tuple already locked by another subxact 2015-04-10 13:47:15 -03:00
pgstattuple Prevent pgstattuple() from reporting BRIN as unknown index. 2015-07-14 22:36:51 +09:00
postgres_fdw Use appendStringInfoString/Char et al where appropriate. 2015-07-02 12:36:03 +03:00
seg Move strategy numbers to include/access/stratnum.h 2015-05-15 17:03:16 -03:00
sepgsql Fix sepgsql regression tests. 2015-08-30 11:09:05 -07:00
spi Collection of typo fixes. 2015-05-20 16:56:22 +03:00
sslinfo Make Port->ssl_in_use available, even when built with !USE_SSL 2014-11-25 09:46:11 +02:00
start-scripts Fix typo in linux startup script. 2015-04-26 09:43:15 -04:00
tablefunc Fix a number of places that produced XX000 errors in the regression tests. 2015-08-02 23:49:19 -04:00
tcn Update copyright for 2015 2015-01-06 11:43:47 -05:00
test_decoding Remove bogus step from test_decoding isolation tests. 2015-08-14 22:40:55 -04:00
tsearch2 Add an optional missing_ok argument to SQL function current_setting(). 2015-07-02 16:41:07 -04:00
tsm_system_rows Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
tsm_system_time Some platforms now need contrib/tsm_system_time to be linked with libm. 2015-07-25 16:37:12 -04:00
unaccent Update copyright for 2015 2015-01-06 11:43:47 -05:00
uuid-ossp Update copyright for 2015 2015-01-06 11:43:47 -05:00
vacuumlo vacuumlo: Avoid unlikely memory leak. 2015-01-14 15:14:20 -05:00
xml2 Replace a bunch more uses of strncpy() with safer coding. 2015-01-24 13:05:42 -05:00
Makefile Finish removing pg_audit 2015-05-28 12:48:25 -04:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05: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 "make all" and "make
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.