postgresql/doc/src/sgml
Robert Haas 7aea8e4f2d Determine whether it's safe to attempt a parallel plan for a query.
Commit 924bcf4f16 introduced a framework
for parallel computation in PostgreSQL that makes most but not all
built-in functions safe to execute in parallel mode.  In order to have
parallel query, we'll need to be able to determine whether that query
contains functions (either built-in or user-defined) that cannot be
safely executed in parallel mode.  This requires those functions to be
labeled, so this patch introduces an infrastructure for that.  Some
functions currently labeled as safe may need to be revised depending on
how pending issues related to heavyweight locking under paralllelism
are resolved.

Parallel plans can't be used except for the case where the query will
run to completion.  If portal execution were suspended, the parallel
mode restrictions would need to remain in effect during that time, but
that might make other queries fail.  Therefore, this patch introduces
a framework that enables consideration of parallel plans only when it
is known that the plan will be run to completion.  This probably needs
some refinement; for example, at bind time, we do not know whether a
query run via the extended protocol will be execution to completion or
run with a limited fetch count.  Having the client indicate its
intentions at bind time would constitute a wire protocol break.  Some
contexts in which parallel mode would be safe are not adjusted by this
patch; the default is not to try parallel plans except from call sites
that have been updated to say that such plans are OK.

This commit doesn't introduce any parallel paths or plans; it just
provides a way to determine whether they could potentially be used.
I'm committing it on the theory that the remaining parallel sequential
scan patches will also get committed to this release, hopefully in the
not-too-distant future.

Robert Haas and Amit Kapila.  Reviewed (in earlier versions) by Noah
Misch.
2015-09-16 15:38:47 -04:00
..
ref Determine whether it's safe to attempt a parallel plan for a query. 2015-09-16 15:38:47 -04:00
.gitignore Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:04 -05:00
Makefile doc: Call xmllint for validity also in the fop build 2015-06-10 19:54:28 -04:00
README.links docs: improve xref description for xreflabel and refentry links 2014-01-30 12:26:18 -05:00
acronyms.sgml
adminpack.sgml
advanced.sgml doc: split long query into multiple lines 2013-12-04 10:03:13 -05:00
arch-dev.sgml doc: Fix claim that query is passed as ASCII text 2013-05-30 21:09:27 -04:00
array.sgml Improve documentation about array concat operator vs. underlying functions. 2015-07-09 18:50:31 -04:00
auth-delay.sgml doc: Fix DocBook XML validity 2014-05-06 21:28:58 -04:00
auto-explain.sgml Fix failure of contrib/auto_explain to print per-node timing information. 2014-09-19 13:19:27 -04:00
backup.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
bgworker.sgml Flesh out the background worker documentation. 2015-07-29 14:41:07 -04:00
biblio.sgml
bki.sgml Allow forcing nullness of columns during bootstrap. 2015-02-21 22:31:54 +01:00
brin.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
btree-gin.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
btree-gist.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
catalogs.sgml Determine whether it's safe to attempt a parallel plan for a query. 2015-09-16 15:38:47 -04:00
charset.sgml Docs: fix erroneous claim about max byte length of GB18030. 2015-05-14 14:59:00 -04:00
chkpass.sgml
citext.sgml citext's regexp_matches() functions weren't documented, either. 2015-05-05 16:11:01 -04:00
client-auth.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
config.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
contacts.sgml
contrib-spi.sgml
contrib.sgml Remove *pgaudit* references also. 2015-05-28 13:02:09 -04:00
cube.sgml doc: Remove dead links 2015-09-12 23:49:11 -04:00
custom-scan.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
datatype.sgml 9.5 release notes: mention lack of char() sort improvements 2015-08-26 10:33:02 -04:00
datetime.sgml Support timezone abbreviations that sometimes change. 2014-10-16 15:22:10 -04:00
dblink.sgml dblink docs: fix typo to use "connname" (3 n's), not "conname" 2015-08-27 13:43:10 -04:00
ddl.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
dfunc.sgml doc: Reflect renaming of Mac OS X to OS X 2014-09-09 13:56:29 -04:00
dict-int.sgml
dict-xsyn.sgml
diskusage.sgml Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
dml.sgml
docguide.sgml Document how to build the docs using the website style. 2015-07-29 11:18:32 -04:00
earthdistance.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
ecpg.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
errcodes.sgml Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
event-trigger.sgml Mention table_rewrite as valid event trigger tag 2015-07-15 17:10:54 +03:00
extend.sgml Fix pg_dump handling of extension config tables 2015-03-02 14:12:21 -05:00
external-projects.sgml doc: Correct psycopg URL 2013-10-02 21:33:26 -04:00
fdwhandler.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
features.sgml
file-fdw.sgml Provide a FORCE NULL option to COPY in CSV mode. 2014-03-04 17:31:59 -05:00
filelist.sgml First draft of 9.5 release notes 2015-06-11 00:09:32 -04:00
fixrtf
func.sgml Fix documentation of regular expression character-entry escapes. 2015-09-16 14:50:12 -04:00
fuzzystrmatch.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
generate-errcodes-table.pl Update copyright for 2015 2015-01-06 11:43:47 -05:00
geqo.sgml doc: Improve setup for documentation building with FOP 2013-10-21 06:43:08 -04:00
gin.sgml Rename pending_list_cleanup_size to gin_pending_list_limit. 2014-11-13 12:14:48 +09:00
gist.sgml Remove no-longer-required function declarations. 2015-05-24 12:20:23 -04:00
high-availability.sgml Document that max_worker_processes must be high enough in standby. 2015-09-03 22:30:16 +09:00
history.sgml Add small doc mention that libpq is named after POSTQUEL. 2012-09-02 08:42:03 -04:00
hstore.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
indexam.sgml Add support for index-only scans in GiST. 2015-03-26 19:12:00 +02:00
indices.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
info.sgml
information_schema.sgml Add transforms feature 2015-04-26 10:33:14 -04:00
install-windows.sgml Make TAP tests work on Windows. 2015-07-29 19:17:02 +03:00
installation.sgml doc: Update installation instructions for new shared libperl/libpython handling 2015-05-05 14:41:39 -04:00
intagg.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
intarray.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
intro.sgml Support automatically-updatable views. 2012-12-08 18:26:21 -05:00
isn.sgml Update URL reference material in /contrib/isn docs 2014-09-03 17:22:20 -04:00
jadetex.cfg
json.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
keywords.sgml Update key words table for 9.5 2015-08-14 12:11:05 -04:00
legal.sgml Update copyright for 2015 2015-01-06 11:43:47 -05:00
libpq.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
lo.sgml
lobj.sgml Update copyright for 2015 2015-01-06 11:43:47 -05:00
logicaldecoding.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
ltree.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
maintenance.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
manage-ag.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
mk_feature_tables.pl
monitoring.sgml Add system view pg_stat_ssl 2015-04-12 19:07:46 +02:00
mvcc.sgml Improve documentation about MVCC-unsafe utility commands. 2015-08-15 13:30:16 -04:00
nls.sgml Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
notation.sgml doc: Remove paragraph about typesetting conventions 2013-05-31 22:45:03 -04:00
oid2name.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pageinspect.sgml doc: Whitespace and formatting fixes 2015-08-20 22:47:08 -04:00
passwordcheck.sgml Remove support for native krb5 authentication 2014-01-19 17:05:01 +01:00
perform.sgml Allow foreign tables to participate in inheritance. 2015-03-22 13:53:21 -04:00
pgbuffercache.sgml Add pinning_backends column to the pg_buffercache extension. 2014-08-22 00:28:37 +02:00
pgcrypto.sgml pgcrypto: Report errant decryption as "Wrong key or corrupt data". 2015-05-18 10:02:31 -04:00
pgfreespacemap.sgml doc: Fix DocBook XML validity 2014-05-06 21:28:58 -04:00
pgprewarm.sgml Small grammar fix 2015-08-31 14:07:17 +02:00
pgrowlocks.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
pgstandby.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgstatstatements.sgml doc: adjust ordering of pg_stat_statement paragraphs 2015-05-09 14:11:31 -04:00
pgstattuple.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
pgtrgm.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
planstats.sgml Documentation spell checking and markup improvements 2013-05-20 21:13:13 -04:00
plhandler.sgml Document security implications of check_function_bodies. 2014-02-17 09:33:31 -05:00
plperl.sgml doc: Fix DocBook XML validity 2014-05-06 21:28:58 -04:00
plpgsql.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
plpython.sgml Document that PL/Python now returns floats using repr() not str(). 2015-09-01 19:25:58 -04:00
pltcl.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
postgres-fdw.sgml Add docs about postgres_fdw's setting of search_path and other GUCs. 2015-08-15 14:31:04 -04:00
postgres.sgml Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
problems.sgml
protocol.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
queries.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
query.sgml
rangetypes.sgml docs: consistently uppercase index method and add spacing 2015-05-15 11:42:34 -04:00
recovery-config.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
reference.sgml Add transforms feature 2015-04-26 10:33:14 -04:00
regress.sgml Lock down regression testing temporary clusters on Windows. 2014-12-17 22:48:40 -05:00
release-7.4.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
release-8.0.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.1.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.2.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
release-8.3.sgml Fix recovery_command -> restore_command typo in 8.3 release notes. 2015-02-24 14:41:54 +02:00
release-8.4.sgml Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22. 2014-07-21 14:59:17 -04:00
release-9.0.sgml Release notes for 9.4.4, 9.3.9, 9.2.13, 9.1.18, 9.0.22. 2015-06-09 14:33:43 -04:00
release-9.1.sgml Release notes for 9.4.4, 9.3.9, 9.2.13, 9.1.18, 9.0.22. 2015-06-09 14:33:43 -04:00
release-9.2.sgml Release notes for 9.4.4, 9.3.9, 9.2.13, 9.1.18, 9.0.22. 2015-06-09 14:33:43 -04:00
release-9.3.sgml Release notes for 9.4.4, 9.3.9, 9.2.13, 9.1.18, 9.0.22. 2015-06-09 14:33:43 -04:00
release-9.4.sgml Release notes for 9.4.4, 9.3.9, 9.2.13, 9.1.18, 9.0.22. 2015-06-09 14:33:43 -04:00
release-9.5.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
release-old.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
release.sgml First draft of 9.5 release notes 2015-06-11 00:09:32 -04:00
replication-origins.sgml doc: Spell checking 2015-09-10 21:35:06 -04:00
rowtypes.sgml
rules.sgml docs: fix typo in rules.sgml 2015-08-08 20:40:53 -04:00
runtime.sgml Update our documentation concerning where to create data directories. 2015-07-28 18:43:30 -04:00
seg.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
sepgsql.sgml doc: Fix DocBook XML validity 2014-05-06 21:28:58 -04:00
sourcerepo.sgml
sources.sgml Fix misc typos. 2015-09-05 11:35:49 +03:00
spgist.sgml Add an in-core GiST index opclass for inet/cidr types. 2014-04-08 15:46:43 -04:00
spi.sgml doc: Spell checking 2014-07-16 22:48:11 -04:00
sql.sgml Implement SKIP LOCKED for row-level locks 2014-10-07 17:23:34 -03:00
sslinfo.sgml contrib/sslinfo: add ssl_extension_info SRF 2015-09-07 21:24:17 -03: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
storage.sgml Correct description of PageHeaderData layout in documentation 2015-09-11 13:02:15 +09:00
stylesheet-common.xsl doc: Disable preface.autolabel in XSLT 2013-12-01 17:13:23 -05:00
stylesheet-fo.xsl doc: Fix PDF build with FOP 2015-06-03 20:19:47 -04:00
stylesheet-hh.xsl
stylesheet-man.xsl doc: Work around stylesheet bug for man build 2014-08-17 09:10:28 -04:00
stylesheet.css
stylesheet.dsl doc: Move website-stylesheet setting to a more appropriate location 2014-12-11 21:48:01 -05:00
stylesheet.xsl doc: Disable indentation of XHTML output 2014-02-05 23:49:25 -05:00
syntax.sgml doc: Whitespace and formatting fixes 2015-08-20 22:47:08 -04:00
tablefunc.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -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 Update site address of Snowball project 2015-09-07 15:20:45 +03:00
trigger.sgml Remove no-longer-required function declarations. 2015-05-24 12:20:23 -04:00
tsearch2.sgml
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 Use standard casting mechanism to convert types in plpgsql, when possible. 2015-03-04 11:04:30 -05:00
unaccent.sgml Allow multi-character source strings in contrib/unaccent. 2014-06-30 21:46:29 -04:00
user-manag.sgml
uuid-ossp.sgml doc: Reflect renaming of Mac OS X to OS X 2014-09-09 13:56:29 -04:00
vacuumlo.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
wal.sgml Also trigger restartpoints based on max_wal_size on standby. 2015-06-29 00:09:10 +03:00
xaggr.sgml Support arrays as input to array_agg() and ARRAY(SELECT ...). 2014-11-25 12:21:28 -05:00
xfunc.sgml docs: HTML-escape '>' in '=>' using HTML entities 2015-08-05 23:03:45 -04:00
xindex.sgml doc: Spell checking 2014-07-16 22:48:11 -04:00
xml2.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
xoper.sgml doc: Various typo/grammar fixes 2014-08-30 10:52:36 -05:00
xplang.sgml
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