postgresql/doc/src/sgml
Alvaro Herrera 7526e10224 BRIN auto-summarization
Previously, only VACUUM would cause a page range to get initially
summarized by BRIN indexes, which for some use cases takes too much time
since the inserts occur.  To avoid the delay, have brininsert request a
summarization run for the previous range as soon as the first tuple is
inserted into the first page of the next range.  Autovacuum is in charge
of processing these requests, after doing all the regular vacuuming/
analyzing work on tables.

This doesn't impose any new tasks on autovacuum, because autovacuum was
already in charge of doing summarizations.  The only actual effect is to
change the timing, i.e. that it occurs earlier.  For this reason, we
don't go any great lengths to record these requests very robustly; if
they are lost because of a server crash or restart, they will happen at
a later time anyway.

Most of the new code here is in autovacuum, which can now be told about
"work items" to process.  This can be used for other things such as GIN
pending list cleaning, perhaps visibility map bit setting, both of which
are currently invoked during vacuum, but do not really depend on vacuum
taking place.

The requests are at the page range level, a granularity for which we did
not have SQL-level access; we only had index-level summarization
requests via brin_summarize_new_values().  It seems reasonable to add
SQL-level access to range-level summarization too, so add a function
brin_summarize_range() to do that.

Authors: Álvaro Herrera, based on sketch from Simon Riggs.
Reviewed-by: Thomas Munro.
Discussion: https://postgr.es/m/20170301045823.vneqdqkmsd4as4ds@alvherre.pgsql
2017-04-01 14:00:53 -03:00
..
ref BRIN auto-summarization 2017-04-01 14:00:53 -03:00
.gitignore Improve gitignore file 2017-03-10 10:16:04 -05:00
Makefile Create INSTALL file via XSLT 2017-03-08 08:41:23 -05:00
README.links docs: improve xref description for xreflabel and refentry links 2014-01-30 12:26:18 -05:00
acronyms.sgml Document LSN acronym in WAL Internals 2016-09-05 09:47:49 +01:00
adminpack.sgml Doc: write some for adminpack. 2016-08-10 21:39:50 -04:00
advanced.sgml doc: split long query into multiple lines 2013-12-04 10:03:13 -05:00
amcheck.sgml Add amcheck extension to contrib. 2017-03-09 16:33:02 -08:00
arch-dev.sgml
array.sgml Allow omitting one or both boundaries in an array slice specifier. 2015-12-22 21:05:29 -05:00
auth-delay.sgml doc: Fix DocBook XML validity 2014-05-06 21:28:58 -04:00
auto-explain.sgml Rename auto_explain.sample_ratio to sample_rate 2016-03-13 13:18:03 +01:00
backup.sgml Expose waitforarchive option through pg_stop_backup() 2017-03-22 23:44:58 -04:00
bgworker.sgml Don't use bgw_main even to specify in-core bgworker entrypoints. 2017-03-31 20:43:32 -04:00
biblio.sgml doc: Clean up bibliography rendering for XSLT 2017-03-26 14:54:56 -04:00
bki.sgml Allow forcing nullness of columns during bootstrap. 2015-02-21 22:31:54 +01:00
bloom.sgml docs: re-add spaces before units removed 2016-08-05 14:36:17 -04:00
brin.sgml BRIN auto-summarization 2017-04-01 14:00:53 -03:00
btree-gin.sgml Document btree_gin support for enums 2017-03-21 11:11:42 -04:00
btree-gist.sgml Add btree_gist support for enum types. 2017-03-21 10:43:27 -04:00
catalogs.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
charset.sgml doc: add missing closing 'sect3' tag for ICU patch 2017-03-23 16:59:24 -04:00
chkpass.sgml
citext.sgml Support the new regexp_match() function for citext. 2016-08-18 10:52:31 -04:00
client-auth.sgml Allow SCRAM authentication, when pg_hba.conf says 'md5'. 2017-03-24 13:32:21 +02:00
config.sgml Change default of log_directory to 'log' 2017-03-27 10:34:33 -04:00
contacts.sgml
contrib-spi.sgml
contrib.sgml Add amcheck extension to contrib. 2017-03-09 16:33:02 -08:00
cube.sgml Minor hacking on contrib/cube documentation. 2015-12-29 21:21:04 -05:00
custom-scan.sgml Allow custom and foreign scans to have shutdown callbacks. 2017-02-26 13:41:12 +05:30
datatype.sgml doc: adjust 'Infinity' example to include minus 2017-03-20 22:22:18 -04:00
datetime.sgml Don't require dynamic timezone abbreviations to match underlying time zone. 2016-09-02 17:30:02 -04:00
dblink.sgml Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
ddl.sgml Improve documentation for table partitioning. 2017-03-31 17:33:34 -04:00
dfunc.sgml Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
dict-int.sgml
dict-xsyn.sgml
diskusage.sgml
dml.sgml Doc: add a section in Part II concerning RETURNING. 2016-11-22 14:02:52 -05:00
docguide.sgml doc: Update tool sets documentation for modern FreeBSD 2017-03-21 22:11:49 -04:00
earthdistance.sgml Doc: update external URLs for PostGIS project. 2015-12-12 20:02:09 -05:00
ecpg.sgml doc: Fix a few typos and awkward links 2017-03-18 23:43:47 -04:00
errcodes.sgml
event-trigger.sgml Mention table_rewrite as valid event trigger tag 2015-07-15 17:10:54 +03:00
extend.sgml Delete deleteWhatDependsOn() in favor of more performDeletion() flag bits. 2016-12-02 14:57:55 -05:00
external-projects.sgml doc: Update URL for plr 2017-02-21 12:37:30 -05:00
fdwhandler.sgml Allow custom and foreign scans to have shutdown callbacks. 2017-02-26 13:41:12 +05:30
features.sgml
file-fdw.sgml Change default of log_directory to 'log' 2017-03-27 10:34:33 -04:00
filelist.sgml Add amcheck extension to contrib. 2017-03-09 16:33:02 -08:00
fixrtf
func.sgml BRIN auto-summarization 2017-04-01 14:00:53 -03:00
fuzzystrmatch.sgml Improve levenshtein() docs. 2016-01-22 12:29:07 -05:00
generate-errcodes-table.pl Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00
generic-wal.sgml Improve API of GenericXLogRegister(). 2016-04-12 11:42:06 -04:00
geqo.sgml doc: Improve setup for documentation building with FOP 2013-10-21 06:43:08 -04:00
gin.sgml Replace the built-in GIN array opclasses with a single polymorphic opclass. 2016-09-26 14:52:44 -04:00
gist.sgml Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
high-availability.sgml doc: Fix a few typos and awkward links 2017-03-18 23:43:47 -04:00
history.sgml
hstore.sgml Add hstore_to_jsonb() and hstore_to_jsonb_loose() to hstore documentation. 2016-02-03 12:57:13 -05:00
indexam.sgml Allow index AMs to return either HeapTuple or IndexTuple format during IOS. 2017-02-27 17:20:34 -05:00
indices.sgml hash: Add write-ahead logging support. 2017-03-14 13:27:02 -04:00
info.sgml
information_schema.sgml Add CREATE SEQUENCE AS <data type> clause 2017-02-10 15:34:35 -05:00
install-windows.sgml doc: Update URL for Microsoft download site 2017-01-17 10:05:01 -05:00
installation.sgml ICU support 2017-03-23 15:28:48 -04:00
intagg.sgml
intarray.sgml doc: remove GIN vs. GiST performance mention 2016-06-28 16:00:40 -04:00
intro.sgml
isn.sgml Update URL reference material in /contrib/isn docs 2014-09-03 17:22:20 -04:00
jadetex.cfg Improve our workaround for 'TeX capacity exceeded' in building PDF files. 2015-11-10 15:59:59 -05:00
json.sgml Docs: add example clarifying use of nested JSON containment. 2015-10-29 18:55:02 -04:00
keywords.sgml Add keywords for partitioning 2017-02-10 09:07:18 +00:00
legal.sgml Update manual set of copyright files for 2017 2017-01-03 13:45:17 -05:00
libpq.sgml Document new libpq connection statuses for target_session_attrs. 2017-02-15 11:05:44 -05:00
lo.sgml
lobj.sgml Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
logical-replication.sgml Logical replication support for initial data copy 2017-03-23 08:55:37 -04:00
logicaldecoding.sgml Add option to control snapshot export to CREATE_REPLICATION_SLOT 2017-03-14 17:34:22 -04:00
ltree.sgml docs: properly capitalize and space kB, MB, GB, TB 2016-07-30 12:27:39 -04:00
maintenance.sgml Rename "pg_clog" directory to "pg_xact". 2017-03-17 09:48:38 -04:00
manage-ag.sgml Use gender-neutral language in documentation 2015-09-21 22:57:29 -04:00
mk_feature_tables.pl Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00
monitoring.sgml Show more processes in pg_stat_activity. 2017-03-26 22:02:22 -04:00
mvcc.sgml ICU support 2017-03-23 15:28:48 -04:00
nls.sgml Use gender-neutral language in documentation 2015-09-21 22:57:29 -04:00
notation.sgml
oid2name.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pageinspect.sgml pageinspect: Add page_checksum function 2017-03-17 10:55:17 -04:00
parallel.sgml Document some new parallel query capabilities. 2017-03-09 13:06:18 -05:00
passwordcheck.sgml Remove support for native krb5 authentication 2014-01-19 17:05:01 +01:00
perform.sgml Rename "pg_xlog" directory to "pg_wal". 2016-10-20 11:32:18 -04:00
pgbuffercache.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
pgcrypto.sgml Remove support for OpenSSL versions older than 0.9.8. 2016-08-29 20:16:02 +03:00
pgfreespacemap.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
pgprewarm.sgml Small grammar fix 2015-08-31 14:07:17 +02:00
pgrowlocks.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
pgstandby.sgml Replace references to "xlog" with "wal" in docs. 2017-02-14 02:30:46 +09:00
pgstatstatements.sgml Fix broken markup. 2017-03-30 17:13:44 -04:00
pgstattuple.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
pgtrgm.sgml Docs: assorted minor cleanups. 2016-09-12 19:19:41 -04:00
pgvisibility.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
planstats.sgml Fix typo: pg_statistics -> pg_statistic 2017-01-25 14:38:33 -05:00
plhandler.sgml Make UNKNOWN into an actual pseudo-type. 2017-01-25 09:27:09 -05:00
plperl.sgml Remove createlang and droplang 2017-03-23 14:16:45 -04:00
plpgsql.sgml doc: Put callouts in SQL comments 2017-03-03 15:03:03 -05:00
plpython.sgml PL/Python: Add cursor and execute methods to plan object 2017-03-27 11:37:22 -04:00
pltcl.sgml Remove createlang and droplang 2017-03-23 14:16:45 -04:00
postgres-fdw.sgml postgres_fdw: Teach IMPORT FOREIGN SCHEMA about partitioning. 2017-03-31 15:06:34 -04:00
postgres.sgml Logical replication 2017-01-20 09:04:49 -05:00
problems.sgml
protocol.sgml Cleanup slots during drop database 2017-03-28 10:05:21 -04:00
queries.sgml Make UNKNOWN into an actual pseudo-type. 2017-01-25 09:27:09 -05:00
query.sgml doc: Put callouts in SQL comments 2017-03-03 15:03:03 -05:00
rangetypes.sgml docs: Map operator @> to the proper SGML escape for '>' 2015-10-07 09:42:26 -04:00
recovery-config.sgml Remove all references to "xlog" from SQL-callable functions in pg_proc. 2017-02-09 15:10:09 -05:00
reference.sgml Implement multivariate n-distinct coefficients 2017-03-24 14:06:10 -03:00
regress.sgml doc: Mention --enable-tap-tests in regression test chapter 2017-03-28 21:12:30 -04:00
release-7.4.sgml Fix typo: pg_statistics -> pg_statistic 2017-01-25 14:38:33 -05:00
release-8.0.sgml Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
release-8.1.sgml Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
release-8.2.sgml Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
release-8.3.sgml Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
release-8.4.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-9.0.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-9.1.sgml Remove createlang and droplang 2017-03-23 14:16:45 -04:00
release-9.2.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-9.3.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-9.4.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-9.5.sgml Rename user-facing tools with "xlog" in the name to say "wal". 2017-02-09 16:23:46 -05:00
release-9.6.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release-old.sgml Spelling fixes 2017-03-14 12:58:39 -04:00
release.sgml First-draft release notes for Postgres 9.6. 2016-05-05 13:27:59 -04:00
replication-origins.sgml Fix ordering/categorization of some recently-added system views. 2016-05-05 12:33:29 -04:00
rowtypes.sgml Doc: improve documentation about composite-value usage. 2016-11-22 17:56:42 -05:00
rules.sgml Use gender-neutral language in documentation 2015-09-21 22:57:29 -04:00
runtime.sgml Improve postmaster's logging of listen socket creation. 2017-03-10 16:32:25 -05:00
seg.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
sepgsql.sgml doc: Fix typos 2016-07-14 22:28:58 -04:00
sourcerepo.sgml
sources.sgml Fix typo in sources.sgml. 2016-10-31 07:33:00 +09:00
spgist.sgml Make another editorial pass over the 9.6 release notes. 2016-08-28 17:40:06 -04:00
spi.sgml Add infrastructure to support EphemeralNamedRelation references. 2017-03-31 23:17:18 -05:00
sql.sgml Implement SKIP LOCKED for row-level locks 2014-10-07 17:23:34 -03:00
sslinfo.sgml Use gender-neutral language in documentation 2015-09-21 22:57:29 -04:00
standalone-install.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:04 -05:00
start.sgml doc: Update version() and current_date output in tutorial 2016-05-31 16:45:02 -04:00
storage.sgml Rename "pg_clog" directory to "pg_xact". 2017-03-17 09:48:38 -04:00
stylesheet-common.xsl doc: Tweak reference page header style 2017-03-18 14:17:28 -04:00
stylesheet-fo.xsl doc: Improve rendering of notes/cautions using XSL-FO 2017-03-27 13:33:36 -04:00
stylesheet-hh.xsl
stylesheet-man.xsl doc: Supply XSLT template for superscript element in man pages 2016-07-17 17:01:07 -04:00
stylesheet-speedup-common.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-speedup-xhtml.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-text.xsl Create INSTALL file via XSLT 2017-03-08 08:41:23 -05:00
stylesheet.css Build HTML documentation using XSLT stylesheets by default 2016-11-15 23:00:38 -08:00
stylesheet.dsl Create INSTALL file via XSLT 2017-03-08 08:41:23 -05:00
stylesheet.xsl doc: Clean up bibliography rendering for XSLT 2017-03-26 14:54:56 -04:00
syntax.sgml Doc: remove duplicate index entry. 2017-02-16 11:30:07 -05:00
tablefunc.sgml Improve documentation for \crosstabview. 2016-04-13 11:49:47 -04:00
tablesample-method.sgml Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
tcn.sgml
test-decoding.sgml doc: Fix spacing in verbatim environments 2014-07-08 11:39:36 -04:00
textsearch.sgml Remove contrib/tsearch2. 2017-02-13 11:06:11 -05:00
trigger.sgml doc: Add missing include in example code 2017-02-02 16:50:28 -05:00
tsm-system-rows.sgml Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
tsm-system-time.sgml Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
typeconv.sgml Change unknown-type literals to type text in SELECT and RETURNING lists. 2017-01-25 09:17:24 -05:00
unaccent.sgml Update contrib/unaccent documentation about its unaccent.rules file. 2016-04-30 15:06:26 -04:00
user-manag.sgml Default monitoring roles 2017-03-30 14:18:53 -04:00
uuid-ossp.sgml Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
vacuumlo.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
wal.sgml Rename "pg_clog" directory to "pg_xact". 2017-03-17 09:48:38 -04:00
xaggr.sgml Improve speed of aggregates that use array_append as transition function. 2016-10-30 12:27:41 -04:00
xfunc.sgml Try to fix xml docs build broken in 5ded4bd. 2017-03-30 09:42:07 -07:00
xindex.sgml Replace the built-in GIN array opclasses with a single polymorphic opclass. 2016-09-26 14:52:44 -04:00
xml2.sgml Delete contrib/xml2's legacy implementation of xml_is_well_formed(). 2016-11-04 18:29:53 -04:00
xoper.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
xplang.sgml Remove createlang and droplang 2017-03-23 14:16:45 -04:00
xtypes.sgml Support "expanded" objects, particularly arrays, for better performance. 2015-05-14 12:08:49 -04:00

README.links

<!-- doc/src/sgml/README.links -->

Linking within SGML documents can be confusing, so here is a summary:


Intra-document Linking
----------------------

<xref>
	use to get chapter/section number from the title of the target
	link, or xreflabel if defined at the target, or refentrytitle if target
        is a refentry;  has no close tag
	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html

<link>
	use to supply text for the link, requires </link>
	http://www.oasis-open.org/docbook/documentation/reference/html/link.html

linkend=
	controls the target of the link/xref, required

endterm=
	for <xref>, allows the text of the link/xref to be taken from a
	different link target title


External Linking
----------------

<ulink>
	like <link>, but uses a URL (not a document target);  requires
	</ulink>; if no text is specified, the URL appears as the link
	text
	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html

url=
	used by <ulink> to specify the URL, required


Guidelines
----------

o  If you want to supply text, use <link>, else <xref>
o  Do not use text with <ulink> so the URL appears in printed output
o  Specific nouns like GUC variables, SQL commands, and contrib modules
   usually have xreflabels