postgresql/doc/src/sgml
Tom Lane 1ed6b89563 Remove support for postfix (right-unary) operators.
This feature has been a thorn in our sides for a long time, causing
many grammatical ambiguity problems.  It doesn't seem worth the
pain to continue to support it, so remove it.

There are some follow-on improvements we can make in the grammar,
but this commit only removes the bare minimum number of productions,
plus assorted backend support code.

Note that pg_dump and psql continue to have full support, since
they may be used against older servers.  However, pg_dump warns
about postfix operators.  There is also a check in pg_upgrade.

Documentation-wise, I (tgl) largely removed the "left unary"
terminology in favor of saying "prefix operator", which is
a more standard and IMO less confusing term.

I included a catversion bump, although no initial catalog data
changes here, to mark the boundary at which oprkind = 'r'
stopped being valid in pg_operator.

Mark Dilger, based on work by myself and Robert Haas;
review by John Naylor

Discussion: https://postgr.es/m/38ca86db-42ab-9b48-2902-337a0d6b8311@2ndquadrant.com
2020-09-17 19:38:05 -04:00
..
images Replace genetic algorithm ASCII-art with a real figure 2019-08-19 12:05:38 -04:00
keywords Update SQL keywords list to SQL:2016 2019-05-14 15:44:37 +02:00
ref Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
.gitignore doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
Makefile doc: Fix image use in PDF build with vpath 2019-08-19 10:30:47 +02:00
README.links doc: document problems with using xreflabel in XML docs 2020-06-11 18:44:49 -04:00
acronyms.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
adminpack.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
advanced.sgml docs: improve 'capitals' inheritance example 2020-08-31 13:43:05 -04:00
amcheck.sgml docs: replace 'master' with 'primary' where appropriate. 2020-07-08 13:03:32 -07:00
arch-dev.sgml docs: replace 'master process' with 'supervisor process' where appropriate. 2020-07-08 13:20:15 -07:00
array.sgml Doc: correct nitpicky mistakes in array_position/array_positions examples. 2020-06-25 13:28:30 -04:00
auth-delay.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auto-explain.sgml Fix collection of typos and grammar mistakes in the tree, volume 2 2020-04-14 14:45:43 +09:00
backup-manifest.sgml doc: Spell checking 2020-07-05 15:37:57 +02:00
backup.sgml docs: replace 'master' with 'primary' where appropriate. 2020-07-08 13:03:32 -07:00
bgworker.sgml Minor fixes in docs and error messages. 2020-09-09 11:53:39 -04:00
biblio.sgml Fix title in reference section 2020-09-10 14:15:26 +02:00
bki.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
bloom.sgml Doc: tweak examples to silence line-too-long PDF build warnings. 2020-05-14 18:13:08 -04:00
brin.sgml doc: Rework tables for built-in operator classes of index AMs 2020-08-28 16:54:59 +09:00
btree-gin.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
btree-gist.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
btree.sgml Minor fixes in docs and error messages. 2020-09-09 11:53:39 -04:00
catalogs.sgml Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
charset.sgml doc: Remove buggy ICU collation from documentation 2020-09-10 15:31:09 +02:00
citext.sgml Add deduplication to nbtree. 2020-02-26 13:05:30 -08:00
client-auth.sgml Allow records to span multiple lines in pg_hba.conf and pg_ident.conf. 2020-09-03 12:16:48 -04:00
color.sgml Document color support 2020-03-29 11:15:11 +02:00
config.sgml doc: Apply more consistently <productname> markup for OpenSSL 2020-09-17 16:33:22 +09:00
contrib-spi.sgml Remove timetravel extension. 2018-10-11 11:43:56 -07:00
contrib.sgml New contrib module, pg_surgery, with heap surgery functions. 2020-09-10 11:14:07 -04:00
cube.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
custom-scan.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
datatype.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
datetime.sgml doc: Fix format, incorrect structure names and markup inconsistencies 2020-08-22 22:26:10 +09:00
dblink.sgml Doc: marginal hacking to remove some PDF build warnings. 2020-05-10 16:20:28 -04:00
ddl.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
dfunc.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
dict-int.sgml Add an "absval" parameter to allow contrib/dict_int to ignore signs. 2020-03-08 18:35:06 -04:00
dict-xsyn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
diskusage.sgml Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
dml.sgml doc: Fix up title case 2020-08-25 07:29:05 +02:00
docguide.sgml Recreate website's formatting for "website" doc builds. 2020-02-14 18:38:35 -08:00
earthdistance.sgml Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
ecpg.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
errcodes.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
event-trigger.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
extend.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
external-projects.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
fdwhandler.sgml Redefine pg_class.reltuples to be -1 before the first VACUUM or ANALYZE. 2020-08-30 12:21:51 -04:00
features.sgml doc: Clean up title case use 2020-06-07 13:18:36 +02:00
file-fdw.sgml Add leader_pid field into the example of file_fdw for csvlog. 2020-09-16 18:47:39 +09:00
filelist.sgml New contrib module, pg_surgery, with heap surgery functions. 2020-09-10 11:14:07 -04:00
func.sgml Remove factorial operators, leaving only the factorial() function. 2020-09-17 16:17:27 -04:00
fuzzystrmatch.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
generate-errcodes-table.pl Update copyrights for 2020 2020-01-01 12:21:45 -05:00
generate-keywords-table.pl Doc: fix remaining over-length entries in SQL keywords table. 2020-05-11 20:03:55 -04:00
generic-wal.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
geqo.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
gin.sgml doc: Rework tables for built-in operator classes of index AMs 2020-08-28 16:54:59 +09:00
gist.sgml Add support for building GiST index by sorting. 2020-09-17 11:33:40 +03:00
glossary.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
high-availability.sgml doc: Fix table cell overflow 2020-09-07 09:59:50 +02:00
history.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
hstore.sgml Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
indexam.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
indices.sgml Fix minor issues in psql's new \dAc and related commands. 2020-08-02 17:00:26 -04:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
install-windows.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
installation.sgml doc: Apply more consistently <productname> markup for OpenSSL 2020-09-17 16:33:22 +09:00
intagg.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
intarray.sgml Minor fixes in docs and error messages. 2020-09-09 11:53:39 -04:00
intro.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
isn.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
jit.sgml Doc: tweak examples to silence line-too-long PDF build warnings. 2020-05-14 18:13:08 -04:00
json.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
keywords.sgml doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
legal.sgml Update copyrights for 2020 2020-01-01 12:21:45 -05:00
libpq.sgml doc: Apply more consistently <productname> markup for OpenSSL 2020-09-17 16:33:22 +09:00
limits.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
lo.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
lobj.sgml Doc: marginal hacking to remove some PDF build warnings. 2020-05-10 16:20:28 -04:00
logical-replication.sgml Fix XML id to match containing page 2020-09-03 12:47:33 +02:00
logicaldecoding.sgml doc: Fix some grammar and inconsistencies 2020-09-10 15:50:19 +09:00
ltree.sgml Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
maintenance.sgml Change XID and mxact limits to warn at 40M and stop at 3M. 2020-08-01 15:31:01 -07:00
manage-ag.sgml docs: improve description of how to handle multiple databases 2020-08-21 20:23:09 -04:00
mk_feature_tables.pl Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
monitoring.sgml Add support for streaming to built-in logical replication. 2020-09-03 07:54:07 +05:30
mvcc.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
nls.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
notation.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
oid2name.sgml Doc: fix some description of environment variables with frontend tools 2020-03-09 10:53:22 +09:00
pageinspect.sgml Doc: tweak examples to silence line-too-long PDF build warnings. 2020-05-14 18:13:08 -04:00
parallel.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
passwordcheck.sgml doc: Update cracklib URL 2020-08-28 08:19:12 +02:00
perform.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
pgbuffercache.sgml Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
pgcrypto.sgml doc: Apply more consistently <productname> markup for OpenSSL 2020-09-17 16:33:22 +09:00
pgfreespacemap.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgprewarm.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgrowlocks.sgml Fix documentation of pgrowlocks using "lock_type" instead of "modes" 2018-10-02 16:34:41 +09:00
pgstandby.sgml docs: replace 'master' with 'primary' where appropriate. 2020-07-08 13:03:32 -07:00
pgstatstatements.sgml doc: Add note about possible performance overhead by enabling track_planning. 2020-07-06 14:27:09 +09:00
pgstattuple.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgsurgery.sgml New contrib module, pg_surgery, with heap surgery functions. 2020-09-10 11:14:07 -04:00
pgtrgm.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
pgvisibility.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
planstats.sgml Doc: tweak examples to silence line-too-long PDF build warnings. 2020-05-14 18:13:08 -04:00
plhandler.sgml Add PL/Sample to src/test/modules/ 2020-08-18 11:10:50 +09:00
plperl.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
plpgsql.sgml doc: Fix up title case 2020-08-25 07:29:05 +02:00
plpython.sgml doc: remove xreflabels from commits 75fcdd2ae2 and 85af628da5 2020-06-11 18:19:25 -04:00
pltcl.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
postgres-fdw.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
postgres.sgml Document the backup manifest file format. 2020-04-14 13:41:32 -04:00
problems.sgml Fix inconsistencies and typos in the tree 2019-07-22 10:01:50 +09:00
protocol.sgml doc: document how the backup manifest is transferred 2020-08-31 18:48:38 -04:00
queries.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
query.sgml doc: Change table alias names to lower case in tutorial chapter 2020-09-04 08:45:57 +02:00
rangetypes.sgml docs: clarify infinite range values from data-type infinities 2019-12-27 14:33:30 -05:00
reference.sgml Rename pg_validatebackup to pg_verifybackup. 2020-04-12 11:26:05 -04:00
regress.sgml Run UTF8-requiring collation tests by default 2019-07-31 09:46:51 +02:00
release-14.sgml Stamp HEAD as 14devel. 2020-06-07 17:16:30 -04:00
release.sgml Stamp HEAD as 14devel. 2020-06-07 17:16:30 -04:00
replication-origins.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
rowtypes.sgml docs: remove use of escape strings and use bytea hex output 2018-09-21 19:55:07 -04:00
rules.sgml Clarify that pg_trgm is used in example 2020-01-09 10:48:22 +01:00
runtime.sgml Doc: mention packager-supplied tools for server start/stop, initdb, etc. 2020-09-03 11:45:26 -04:00
seg.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
sepgsql.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
sourcerepo.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
sources.sgml doc: Fix some grammar and inconsistencies 2020-09-10 15:50:19 +09:00
spgist.sgml doc: Rework tables for built-in operator classes of index AMs 2020-08-28 16:54:59 +09:00
spi.sgml Avoid using a cursor in plpgsql's RETURN QUERY statement. 2020-06-12 12:14:32 -04:00
sslinfo.sgml doc: Apply more consistently <productname> markup for OpenSSL 2020-09-17 16:33:22 +09:00
standalone-install.xml Doc: tweak installation doc edits made by commit 76c2af926. 2019-09-06 11:24:42 -04:00
standalone-profile.xsl Update to DocBook 4.5 2019-08-13 08:40:17 +02:00
start.sgml docs: replace 'master process' with 'supervisor process' where appropriate. 2020-07-08 13:20:15 -07:00
storage.sgml doc: remove xreflabels from commits 75fcdd2ae2 and 85af628da5 2020-06-11 18:19:25 -04:00
stylesheet-common.xsl Doc: re-re-revise markup for tables of functions. 2020-04-30 00:34:12 -04:00
stylesheet-fo.xsl Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
stylesheet-hh.xsl doc: Add some images 2019-03-27 23:10:23 +01:00
stylesheet-html-common.xsl Recreate website's formatting for "website" doc builds. 2020-02-14 18:38:35 -08:00
stylesheet-html-nochunk.xsl doc: Add some images 2019-03-27 23:10:23 +01:00
stylesheet-man.xsl doc: Improve man build speed 2018-02-28 09:26:36 -05: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 Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
stylesheet.xsl doc: Don't hide the "Up" link when it is the same as "Home" 2020-09-06 16:55:36 +02:00
syntax.sgml Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
tableam.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
tablefunc.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
tablesample-method.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
tcn.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
test-decoding.sgml Implement streaming mode in ReorderBuffer. 2020-08-08 07:47:06 +05:30
textsearch.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
trigger.sgml Enable BEFORE row-level triggers for partitioned tables 2020-03-18 18:58:05 -03:00
tsm-system-rows.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
tsm-system-time.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
typeconv.sgml Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
unaccent.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
user-manag.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
uuid-ossp.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
vacuumlo.sgml doc: remove xreflabels from commits 75fcdd2ae2 and 85af628da5 2020-06-11 18:19:25 -04:00
wal.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
xaggr.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
xfunc.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
xindex.sgml Doc: adjust documentation related to index support functions. 2020-09-09 12:00:49 -04:00
xml2.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
xoper.sgml Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
xplang.sgml doc: Remove line breaks after <title> 2020-06-07 13:12:08 +02:00
xtypes.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00

README.links

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

Linking within DocBook 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

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

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


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
----------

- For an internal link, if you want to supply text, use <link>, else
  <xref>.

- Specific nouns like GUC variables, SQL commands, and contrib modules
  usually have xreflabels.

- For an external link, use <ulink>, with or without link text.

- xreflabels added to tags prevent the chapter/section for id's from being
  referenced;  only the xreflabel is accessible.  Therefore, use xreflabels
  only when linking is common, and chapter/section information is unneeded.