From: Peter Eisentraut Date: Thu, 23 Nov 2017 14:39:47 +0000 (-0500) Subject: Convert documentation to DocBook XML X-Git-Tag: REL_11_BETA1~1181 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c49c6facb22cdea979f5d1465ba53f972d32163;p=postgresql Convert documentation to DocBook XML Since some preparation work had already been done, the only source changes left were changing empty-element tags like to , and changing the DOCTYPE. The source files are still named *.sgml, but they are actually XML files now. Renaming could be considered later. In the build system, the intermediate step to convert from SGML to XML is removed. Everything is build straight from the source files again. The OpenSP (or the old SP) package is no longer needed. The documentation toolchain instructions are updated and are much simpler now. Peter Eisentraut, Alexander Lakhin, Jürgen Purtz --- diff --git a/config/docbook.m4 b/config/docbook.m4 index f9307f329e..34b829eade 100644 --- a/config/docbook.m4 +++ b/config/docbook.m4 @@ -1,18 +1,18 @@ # config/docbook.m4 -# PGAC_PROG_NSGMLS -# ---------------- -AC_DEFUN([PGAC_PROG_NSGMLS], -[PGAC_PATH_PROGS(NSGMLS, [onsgmls nsgmls])]) +# PGAC_PATH_XMLLINT +# ----------------- +AC_DEFUN([PGAC_PATH_XMLLINT], +[PGAC_PATH_PROGS(XMLLINT, xmllint)]) # PGAC_CHECK_DOCBOOK(VERSION) # --------------------------- AC_DEFUN([PGAC_CHECK_DOCBOOK], -[AC_REQUIRE([PGAC_PROG_NSGMLS]) -AC_CACHE_CHECK([for DocBook V$1], [pgac_cv_check_docbook], -[cat >conftest.sgml < +[AC_REQUIRE([PGAC_PATH_XMLLINT]) +AC_CACHE_CHECK([for DocBook XML V$1], [pgac_cv_check_docbook], +[cat >conftest.xml < test @@ -27,13 +27,13 @@ EOF pgac_cv_check_docbook=no -if test -n "$NSGMLS"; then - $NSGMLS -s conftest.sgml 1>&AS_MESSAGE_LOG_FD 2>&1 +if test -n "$XMLLINT"; then + $XMLLINT --noout --valid conftest.xml 1>&AS_MESSAGE_LOG_FD 2>&1 if test $? -eq 0; then pgac_cv_check_docbook=yes fi fi -rm -f conftest.sgml]) +rm -f conftest.xml]) have_docbook=$pgac_cv_check_docbook AC_SUBST([have_docbook]) diff --git a/configure b/configure index b31134832e..3203473f87 100755 --- a/configure +++ b/configure @@ -630,12 +630,10 @@ vpath_build PG_VERSION_NUM PROVE FOP -OSX XSLTPROC -XMLLINT DBTOEPUB have_docbook -NSGMLS +XMLLINT TCL_SHLIB_LD_LIBS TCL_SHARED_BUILD TCL_LIB_SPEC @@ -16132,19 +16130,19 @@ fi # # Check for DocBook and tools # -if test -z "$NSGMLS"; then - for ac_prog in onsgmls nsgmls +if test -z "$XMLLINT"; then + for ac_prog in xmllint do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_NSGMLS+:} false; then : +if ${ac_cv_path_XMLLINT+:} false; then : $as_echo_n "(cached) " >&6 else - case $NSGMLS in + case $XMLLINT in [\\/]* | ?:[\\/]*) - ac_cv_path_NSGMLS="$NSGMLS" # Let the user override the test with a path. + ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -16154,7 +16152,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_NSGMLS="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -16165,35 +16163,35 @@ IFS=$as_save_IFS ;; esac fi -NSGMLS=$ac_cv_path_NSGMLS -if test -n "$NSGMLS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NSGMLS" >&5 -$as_echo "$NSGMLS" >&6; } +XMLLINT=$ac_cv_path_XMLLINT +if test -n "$XMLLINT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 +$as_echo "$XMLLINT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$NSGMLS" && break + test -n "$XMLLINT" && break done else - # Report the value of NSGMLS in configure's output in all cases. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NSGMLS" >&5 -$as_echo_n "checking for NSGMLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NSGMLS" >&5 -$as_echo "$NSGMLS" >&6; } + # Report the value of XMLLINT in configure's output in all cases. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XMLLINT" >&5 +$as_echo_n "checking for XMLLINT... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 +$as_echo "$XMLLINT" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook V4.2" >&5 -$as_echo_n "checking for DocBook V4.2... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XML V4.2" >&5 +$as_echo_n "checking for DocBook XML V4.2... " >&6; } if ${pgac_cv_check_docbook+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.sgml < + cat >conftest.xml < test @@ -16208,13 +16206,13 @@ EOF pgac_cv_check_docbook=no -if test -n "$NSGMLS"; then - $NSGMLS -s conftest.sgml 1>&5 2>&1 +if test -n "$XMLLINT"; then + $XMLLINT --noout --valid conftest.xml 1>&5 2>&1 if test $? -eq 0; then pgac_cv_check_docbook=yes fi fi -rm -f conftest.sgml +rm -f conftest.xml fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_check_docbook" >&5 $as_echo "$pgac_cv_check_docbook" >&6; } @@ -16276,60 +16274,6 @@ $as_echo_n "checking for DBTOEPUB... " >&6; } $as_echo "$DBTOEPUB" >&6; } fi -if test -z "$XMLLINT"; then - for ac_prog in xmllint -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XMLLINT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XMLLINT in - [\\/]* | ?:[\\/]*) - ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -XMLLINT=$ac_cv_path_XMLLINT -if test -n "$XMLLINT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 -$as_echo "$XMLLINT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$XMLLINT" && break -done - -else - # Report the value of XMLLINT in configure's output in all cases. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XMLLINT" >&5 -$as_echo_n "checking for XMLLINT... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 -$as_echo "$XMLLINT" >&6; } -fi - if test -z "$XSLTPROC"; then for ac_prog in xsltproc do @@ -16384,60 +16328,6 @@ $as_echo_n "checking for XSLTPROC... " >&6; } $as_echo "$XSLTPROC" >&6; } fi -if test -z "$OSX"; then - for ac_prog in osx sgml2xml sx -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_OSX+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $OSX in - [\\/]* | ?:[\\/]*) - ac_cv_path_OSX="$OSX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_OSX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -OSX=$ac_cv_path_OSX -if test -n "$OSX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OSX" >&5 -$as_echo "$OSX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$OSX" && break -done - -else - # Report the value of OSX in configure's output in all cases. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSX" >&5 -$as_echo_n "checking for OSX... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OSX" >&5 -$as_echo "$OSX" >&6; } -fi - if test -z "$FOP"; then for ac_prog in fop do diff --git a/configure.in b/configure.in index 3f26f038d6..d9c4a50b4b 100644 --- a/configure.in +++ b/configure.in @@ -2091,12 +2091,10 @@ fi # # Check for DocBook and tools # -PGAC_PROG_NSGMLS +PGAC_PATH_XMLLINT PGAC_CHECK_DOCBOOK(4.2) PGAC_PATH_PROGS(DBTOEPUB, dbtoepub) -PGAC_PATH_PROGS(XMLLINT, xmllint) PGAC_PATH_PROGS(XSLTPROC, xsltproc) -PGAC_PATH_PROGS(OSX, [osx sgml2xml sx]) PGAC_PATH_PROGS(FOP, fop) # diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index df77a142e4..f122b4187f 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -37,15 +37,7 @@ ifndef FOP FOP = $(missing) fop endif -SGMLINCLUDE = -D . -D $(srcdir) - -ifndef NSGMLS -NSGMLS = $(missing) nsgmls -endif - -ifndef OSX -OSX = $(missing) osx -endif +XMLINCLUDE = --path . ifndef XMLLINT XMLLINT = $(missing) xmllint @@ -63,19 +55,6 @@ GENERATED_SGML = version.sgml \ ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML) -# Enable some extra warnings -# -wfully-tagged needed to throw a warning on missing tags -# for older tool chains, 2007-08-31 -# -wnet catches XML-style empty-element tags like . -override SPFLAGS += -wall -wno-unused-param -wfully-tagged -wnet -# Additional warnings for XML compatibility. The conditional is meant -# to detect whether we are using OpenSP rather than the ancient -# original SP. -override SPFLAGS += -wempty -ifneq (,$(filter o%,$(notdir $(OSX)))) -override SPFLAGS += -wdata-delim -winstance-ignore-ms -winstance-include-ms -winstance-param-entity -endif - ## ## Man pages @@ -83,9 +62,9 @@ endif man distprep-man: man-stamp -man-stamp: stylesheet-man.xsl postgres.xml - $(XMLLINT) --noout --valid postgres.xml - $(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_MAN_FLAGS) $^ +man-stamp: stylesheet-man.xsl postgres.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_MAN_FLAGS) $(wordlist 1,2,$^) touch $@ @@ -136,27 +115,8 @@ INSTALL.html: %.html : stylesheet-text.xsl %.xml $(XMLLINT) --noout --valid $*.xml $(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $^ >$@ -INSTALL.xml: standalone-profile.xsl standalone-install.xml postgres.xml - $(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(wordlist 1,2,$^) >$@ - - -## -## SGML->XML conversion -## - -# For obscure reasons, GNU make 3.81 complains about circular dependencies -# if we try to do "make all" in a VPATH build without the explicit -# $(srcdir) on the postgres.sgml dependency in this rule. GNU make bug? -postgres.xml: $(srcdir)/postgres.sgml $(ALLSGML) - $(OSX) $(SPFLAGS) $(SGMLINCLUDE) -x lower $< >$@.tmp - $(call mangle-xml,book) - -define mangle-xml -$(PERL) -p -e 's/\[(aacute|acirc|aelig|agrave|amp|aring|atilde|auml|bull|copy|eacute|egrave|gt|iacute|lt|mdash|nbsp|ntilde|oacute|ocirc|oslash|ouml|pi|quot|scaron|uuml) *\]/\&\1;/gi;' \ - -e '$$_ .= qq{\n} if $$. == 1;' \ - <$@.tmp > $@ -rm $@.tmp -endef +INSTALL.xml: standalone-profile.xsl standalone-install.xml postgres.sgml $(ALLSGML) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --xinclude $(wordlist 1,2,$^) >$@ ## @@ -169,20 +129,20 @@ endif html: html-stamp -html-stamp: stylesheet.xsl postgres.xml - $(XMLLINT) --noout --valid postgres.xml - $(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $^ +html-stamp: stylesheet.xsl postgres.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $(wordlist 1,2,$^) cp $(srcdir)/stylesheet.css html/ touch $@ -htmlhelp: stylesheet-hh.xsl postgres.xml - $(XMLLINT) --noout --valid postgres.xml - $(XSLTPROC) $(XSLTPROCFLAGS) $^ +htmlhelp: stylesheet-hh.xsl postgres.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(wordlist 1,2,$^) # single-page HTML -postgres.html: stylesheet-html-nochunk.xsl postgres.xml - $(XMLLINT) --noout --valid postgres.xml - $(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) -o $@ $^ +postgres.html: stylesheet-html-nochunk.xsl postgres.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) -o $@ $(wordlist 1,2,$^) # single-page text postgres.txt: postgres.html @@ -196,13 +156,13 @@ postgres.txt: postgres.html postgres.pdf: $(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets) -%-A4.fo: stylesheet-fo.xsl %.xml - $(XMLLINT) --noout --valid $*.xml - $(XSLTPROC) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $^ +%-A4.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $(wordlist 1,2,$^) -%-US.fo: stylesheet-fo.xsl %.xml - $(XMLLINT) --noout --valid $*.xml - $(XSLTPROC) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $^ +%-US.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) + $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) + $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $(wordlist 1,2,$^) %.pdf: %.fo $(FOP) -fo $< -pdf $@ @@ -213,7 +173,7 @@ postgres.pdf: ## epub: postgres.epub -postgres.epub: postgres.xml +postgres.epub: postgres.sgml $(ALLSGML) $(XMLLINT) --noout --valid $< $(DBTOEPUB) $< @@ -226,7 +186,8 @@ DB2X_TEXIXML = db2x_texixml DB2X_XSLTPROC = db2x_xsltproc MAKEINFO = makeinfo -%.texixml: %.xml +%.texixml: %.sgml $(ALLSGML) + $(XMLLINT) --noout --valid $< $(DB2X_XSLTPROC) -s texi -g output-file=$(basename $@) $< -o $@ %.texi: %.texixml @@ -242,7 +203,7 @@ MAKEINFO = makeinfo # Quick syntax check without style processing check: postgres.sgml $(ALLSGML) check-tabs - $(NSGMLS) $(SPFLAGS) $(SGMLINCLUDE) -s $< + $(XMLLINT) $(XMLINCLUDE) --noout --valid $< ## @@ -312,7 +273,7 @@ check-tabs: # This allows removing some files from the distribution tarballs while # keeping the dependencies satisfied. -.SECONDARY: postgres.xml $(GENERATED_SGML) +.SECONDARY: $(GENERATED_SGML) .SECONDARY: INSTALL.html INSTALL.xml .SECONDARY: postgres-A4.fo postgres-US.fo @@ -326,8 +287,6 @@ clean: rm -f *.fo *.pdf # generated SGML files rm -f $(GENERATED_SGML) -# SGML->XML conversion - rm -f postgres.xml *.tmp # HTML Help rm -f htmlhelp.hhp toc.hhc index.hhk # EPUB diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml index b27a4a325d..1197eefbf3 100644 --- a/doc/src/sgml/adminpack.sgml +++ b/doc/src/sgml/adminpack.sgml @@ -16,9 +16,9 @@ - The functions shown in provide + The functions shown in provide write access to files on the machine hosting the server. (See also the - functions in , which + functions in , which provide read-only access.) Only files within the database cluster directory can be accessed, but either a relative or absolute path is allowable. @@ -107,18 +107,18 @@ pg_logdir_ls returns the start timestamps and path - names of all the log files in the - directory. The parameter must have its + names of all the log files in the + directory. The parameter must have its default setting (postgresql-%Y-%m-%d_%H%M%S.log) to use this function. The functions shown - in are deprecated + in are deprecated and should not be used in new applications; instead use those shown - in - and . These functions are + in + and . These functions are provided in adminpack only for compatibility with old versions of pgAdmin. diff --git a/doc/src/sgml/advanced.sgml b/doc/src/sgml/advanced.sgml index bf87df4dcb..ae5f3fac75 100644 --- a/doc/src/sgml/advanced.sgml +++ b/doc/src/sgml/advanced.sgml @@ -18,12 +18,12 @@ This chapter will on occasion refer to examples found in to change or improve them, so it will be + linkend="tutorial-sql"/> to change or improve them, so it will be useful to have read that chapter. Some examples from this chapter can also be found in advanced.sql in the tutorial directory. This file also contains some sample data to load, which is not - repeated here. (Refer to for + repeated here. (Refer to for how to use the file.) @@ -37,7 +37,7 @@ - Refer back to the queries in . + Refer back to the queries in . Suppose the combined listing of weather records and city location is of particular interest to your application, but you do not want to type the query each time you need it. You can create a @@ -82,7 +82,7 @@ SELECT * FROM myview; Recall the weather and cities tables from . Consider the following problem: You + linkend="tutorial-sql"/>. Consider the following problem: You want to make sure that no one can insert rows in the weather table that do not have a matching entry in the cities table. This is called @@ -129,7 +129,7 @@ DETAIL: Key (city)=(Berkeley) is not present in table "cities". The behavior of foreign keys can be finely tuned to your application. We will not go beyond this simple example in this - tutorial, but just refer you to + tutorial, but just refer you to for more information. Making correct use of foreign keys will definitely improve the quality of your database applications, so you are strongly encouraged to learn about them. @@ -447,7 +447,7 @@ FROM empsalary; There are options to define the window frame in other ways, but this tutorial does not cover them. See - for details. + for details. Here is an example using sum: @@ -554,10 +554,10 @@ SELECT sum(salary) OVER w, avg(salary) OVER w More details about window functions can be found in - , - , - , and the - reference page. + , + , + , and the + reference page. @@ -692,7 +692,7 @@ SELECT name, altitude Although inheritance is frequently useful, it has not been integrated with unique constraints or foreign keys, which limits its usefulness. - See for more detail. + See for more detail. diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml index 0dd68f0ba1..852e260c09 100644 --- a/doc/src/sgml/amcheck.sgml +++ b/doc/src/sgml/amcheck.sgml @@ -31,7 +31,7 @@ index scans themselves, which may be user-defined operator class code. For example, B-Tree index verification relies on comparisons made with one or more B-Tree support function 1 routines. See for details of operator class support + linkend="xindex-support"/> for details of operator class support functions. @@ -192,7 +192,7 @@ ORDER BY c.relpages DESC LIMIT 10; index that is ordered using an affected collation, simply because indexed values might happen to have the same absolute ordering regardless of the behavioral inconsistency. See - and for + and for further details about how PostgreSQL uses operating system locales and collations. @@ -210,7 +210,7 @@ ORDER BY c.relpages DESC LIMIT 10; logical inconsistency to be introduced. One obvious testing strategy is to call amcheck functions continuously when running the standard regression tests. See for details on running the tests. + linkend="regress-run"/> for details on running the tests. @@ -263,7 +263,7 @@ ORDER BY c.relpages DESC LIMIT 10; There is no general method of repairing problems that amcheck detects. An explanation for the root cause of an invariant violation should be sought. may play a useful role in diagnosing + linkend="pageinspect"/> may play a useful role in diagnosing corruption that amcheck detects. A REINDEX may not be effective in repairing corruption. diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml index d49901c690..53f8049df3 100644 --- a/doc/src/sgml/arch-dev.sgml +++ b/doc/src/sgml/arch-dev.sgml @@ -7,7 +7,7 @@ Author This chapter originated as part of - , Stefan Simkovics' + , Stefan Simkovics' Master's Thesis prepared at Vienna University of Technology under the direction of O.Univ.Prof.Dr. Georg Gottlob and Univ.Ass. Mag. Katrin Seyr. @@ -136,7 +136,7 @@ The client process can be any program that understands the PostgreSQL protocol described in - . Many clients are based on the + . Many clients are based on the C-language library libpq, but several independent implementations of the protocol exist, such as the Java JDBC driver. @@ -317,7 +317,7 @@ The query rewriter is discussed in some detail in - , so there is no need to cover it here. + , so there is no need to cover it here. We will only point out that both the input and the output of the rewriter are query trees, that is, there is no change in the representation or level of semantic detail in the trees. Rewriting @@ -347,8 +347,8 @@ involving large numbers of join operations. In order to determine a reasonable (not necessarily optimal) query plan in a reasonable amount of time, PostgreSQL uses a Genetic - Query Optimizer (see ) when the number of joins - exceeds a threshold (see ). + Query Optimizer (see ) when the number of joins + exceeds a threshold (see ). @@ -438,7 +438,7 @@ - If the query uses fewer than + If the query uses fewer than relations, a near-exhaustive search is conducted to find the best join sequence. The planner preferentially considers joins between any two relations for which there exist a corresponding join clause in the @@ -454,7 +454,7 @@ When geqo_threshold is exceeded, the join sequences considered are determined by heuristics, as described - in . Otherwise the process is the same. + in . Otherwise the process is the same. diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml index 9187f6e02e..f4d4a610ef 100644 --- a/doc/src/sgml/array.sgml +++ b/doc/src/sgml/array.sgml @@ -128,7 +128,7 @@ CREATE TABLE tictactoe ( (These kinds of array constants are actually only a special case of the generic type constants discussed in . The constant is initially + linkend="sql-syntax-constants-generic"/>. The constant is initially treated as a string and passed to the array input conversion routine. An explicit type specification might be necessary.) @@ -192,7 +192,7 @@ INSERT INTO sal_emp expressions; for instance, string literals are single quoted, instead of double quoted as they would be in an array literal. The ARRAY constructor syntax is discussed in more detail in - . + . @@ -616,7 +616,7 @@ SELECT * FROM sal_emp WHERE pay_by_quarter[1] = 10000 OR However, this quickly becomes tedious for large arrays, and is not helpful if the size of the array is unknown. An alternative method is - described in . The above + described in . The above query could be replaced by: @@ -644,7 +644,7 @@ SELECT * FROM WHERE pay_by_quarter[s] = 10000; - This function is described in . + This function is described in . @@ -657,8 +657,8 @@ SELECT * FROM sal_emp WHERE pay_by_quarter && ARRAY[10000]; This and other array operators are further described in - . It can be accelerated by an appropriate - index, as described in . + . It can be accelerated by an appropriate + index, as described in . @@ -755,7 +755,7 @@ SELECT f1[1][-2][3] AS e1, f1[1][-1][5] AS e2 or backslashes disables this and allows the literal string value NULL to be entered. Also, for backward compatibility with pre-8.2 versions of PostgreSQL, the configuration parameter can be turned + linkend="guc-array-nulls"/> configuration parameter can be turned off to suppress recognition of NULL as a NULL. @@ -797,7 +797,7 @@ INSERT ... VALUES (E'{"\\\\","\\""}'); with a data type whose input routine also treated backslashes specially, bytea for example, we might need as many as eight backslashes in the command to get one backslash into the stored array element.) - Dollar quoting (see ) can be + Dollar quoting (see ) can be used to avoid the need to double backslashes. @@ -805,7 +805,7 @@ INSERT ... VALUES (E'{"\\\\","\\""}'); The ARRAY constructor syntax (see - ) is often easier to work + ) is often easier to work with than the array-literal syntax when writing array values in SQL commands. In ARRAY, individual element values are written the same way they would be written when not members of an array. diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml index 9221d2dfb6..bd3ef7128d 100644 --- a/doc/src/sgml/auth-delay.sgml +++ b/doc/src/sgml/auth-delay.sgml @@ -18,7 +18,7 @@ In order to function, this module must be loaded via - in postgresql.conf. + in postgresql.conf. diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml index 240098c82f..08b67f2600 100644 --- a/doc/src/sgml/auto-explain.sgml +++ b/doc/src/sgml/auto-explain.sgml @@ -10,7 +10,7 @@ The auto_explain module provides a means for logging execution plans of slow statements automatically, without - having to run + having to run by hand. This is especially helpful for tracking down un-optimized queries in large applications. @@ -25,8 +25,8 @@ LOAD 'auto_explain'; (You must be superuser to do that.) More typical usage is to preload it into some or all sessions by including auto_explain in - or - in + or + in postgresql.conf. Then you can track unexpectedly slow queries no matter when they happen. Of course there is a price in overhead for that. diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index 39bb25c8e2..9d8e69056f 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -32,7 +32,7 @@ commands that, when fed back to the server, will recreate the database in the same state as it was at the time of the dump. PostgreSQL provides the utility program - for this purpose. The basic usage of this + for this purpose. The basic usage of this command is: pg_dump dbname > outfile @@ -79,7 +79,7 @@ pg_dump dbname > PGUSER. Remember that pg_dump connections are subject to the normal client authentication mechanisms (which are described in ). + linkend="client-authentication"/>). @@ -120,9 +120,9 @@ psql dbname < dbname). psql supports options similar to pg_dump for specifying the database server to connect to and the user name to use. See - the reference page for more information. + the reference page for more information. Non-text file dumps are restored using the utility. + linkend="app-pgrestore"/> utility. @@ -178,13 +178,13 @@ pg_dump -h host1 dbname | After restoring a backup, it is wise to run on each + linkend="sql-analyze"/> on each database so the query optimizer has useful statistics; - see - and for more information. + see + and for more information. For more advice on how to load large amounts of data into PostgreSQL efficiently, refer to . + linkend="populate"/>. @@ -196,7 +196,7 @@ pg_dump -h host1 dbname | and it does not dump information about roles or tablespaces (because those are cluster-wide rather than per-database). To support convenient dumping of the entire contents of a database - cluster, the program is provided. + cluster, the program is provided. pg_dumpall backs up each database in a given cluster, and also preserves cluster-wide data such as role and tablespace definitions. The basic usage of this command is: @@ -308,8 +308,8 @@ pg_dump -Fc dbname > dbname filename - See the and reference pages for details. + See the and reference pages for details. @@ -345,7 +345,7 @@ pg_dump -j num -F d -f An alternative backup strategy is to directly copy the files that PostgreSQL uses to store the data in the database; - explains where these files + explains where these files are located. You can use whatever method you prefer for doing file system backups; for example: @@ -369,7 +369,7 @@ tar -cf backup.tar /usr/local/pgsql/data an atomic snapshot of the state of the file system, but also because of internal buffering within the server). Information about stopping the server can be found in - . Needless to say, you + . Needless to say, you also need to shut down the server before restoring the data. @@ -428,10 +428,10 @@ tar -cf backup.tar /usr/local/pgsql/data If simultaneous snapshots are not possible, one option is to shut down the database server long enough to establish all the frozen snapshots. Another option is to perform a continuous archiving base backup () because such backups are immune to file + linkend="backup-base-backup"/>) because such backups are immune to file system changes during the backup. This requires enabling continuous archiving just during the backup process; restore is done using - continuous archive recovery (). + continuous archive recovery (). @@ -591,11 +591,11 @@ tar -cf backup.tar /usr/local/pgsql/data - To enable WAL archiving, set the + To enable WAL archiving, set the configuration parameter to replica or higher, - to on, + to on, and specify the shell command to use in the configuration parameter. In practice + linkend="guc-archive-command"/> configuration parameter. In practice these settings will always be placed in the postgresql.conf file. In archive_command, @@ -705,7 +705,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 than through SQL operations. You might wish to keep the configuration files in a location that will be backed up by your regular file system backup procedures. See - for how to relocate the + for how to relocate the configuration files. @@ -715,7 +715,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 where it does so), there could be a long delay between the completion of a transaction and its safe recording in archive storage. To put a limit on how old unarchived data can be, you can set - to force the server to switch + to force the server to switch to a new WAL segment file at least that often. Note that archived files that are archived early due to a forced switch are still the same length as completely full files. It is therefore unwise to set a very @@ -729,13 +729,13 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 pg_switch_wal if you want to ensure that a just-finished transaction is archived as soon as possible. Other utility functions related to WAL management are listed in . + linkend="functions-admin-backup-table"/>. When wal_level is minimal some SQL commands are optimized to avoid WAL logging, as described in . If archiving or streaming replication were + linkend="populate-pitr"/>. If archiving or streaming replication were turned on during execution of one of these statements, WAL would not contain enough information for archive recovery. (Crash recovery is unaffected.) For this reason, wal_level can only be changed at @@ -753,11 +753,11 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 The easiest way to perform a base backup is to use the - tool. It can create + tool. It can create a base backup either as regular files or as a tar archive. If more - flexibility than can provide is + flexibility than can provide is required, you can also make a base backup using the low level API - (see ). + (see ). @@ -791,7 +791,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 The backup history file is just a small text file. It contains the - label string you gave to , as well as + label string you gave to , as well as the starting and ending times and WAL segments of the backup. If you used the label to identify the associated dump file, then the archived history file is enough to tell you which dump file to @@ -814,7 +814,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 The procedure for making a base backup using the low level APIs contains a few more steps than - the method, but is relatively + the method, but is relatively simple. It is very important that these steps are executed in sequence, and that the success of a step is verified before proceeding to the next step. @@ -830,7 +830,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 A non-exclusive low level backup is one that allows other concurrent backups to be running (both those started using the same backup API and those started using - ). + ). @@ -859,7 +859,7 @@ SELECT pg_start_backup('label', false, false); required for the checkpoint will be spread out over a significant period of time, by default half your inter-checkpoint interval (see the configuration parameter - ). This is + ). This is usually what you want, because it minimizes the impact on query processing. If you want to start the backup as soon as possible, change the second parameter to true, which will @@ -879,7 +879,7 @@ SELECT pg_start_backup('label', false, false); pg_dumpall). It is neither necessary nor desirable to stop normal operation of the database while you do this. See - for things to + for things to consider during this backup. @@ -989,7 +989,7 @@ SELECT pg_start_backup('label'); required for the checkpoint will be spread out over a significant period of time, by default half your inter-checkpoint interval (see the configuration parameter - ). This is + ). This is usually what you want, because it minimizes the impact on query processing. If you want to start the backup as soon as possible, use: @@ -1007,7 +1007,7 @@ SELECT pg_start_backup('label', true); pg_dumpall). It is neither necessary nor desirable to stop normal operation of the database while you do this. See - for things to + for things to consider during this backup. @@ -1119,7 +1119,7 @@ SELECT pg_stop_backup(); pg_snapshots/, pg_stat_tmp/, and pg_subtrans/ (but not the directories themselves) can be omitted from the backup as they will be initialized on postmaster startup. - If is set and is under the data + If is set and is under the data directory then the contents of that directory can also be omitted. @@ -1221,7 +1221,7 @@ SELECT pg_stop_backup(); Create a recovery command file recovery.conf in the cluster - data directory (see ). You might + data directory (see ). You might also want to temporarily modify pg_hba.conf to prevent ordinary users from connecting until you are sure the recovery was successful. @@ -1310,7 +1310,7 @@ restore_command = 'cp /mnt/server/archivedir/%f %p' at the start of recovery for a file named something like 00000001.history. This is also normal and does not indicate a problem in simple recovery situations; see - for discussion. + for discussion. @@ -1440,7 +1440,7 @@ restore_command = 'cp /mnt/server/archivedir/%f %p' As with base backups, the easiest way to produce a standalone - hot backup is to use the + hot backup is to use the tool. If you include the -X parameter when calling it, all the write-ahead log required to use the backup will be included in the backup automatically, and no special action is @@ -1548,7 +1548,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"' When using an archive_command script, it's desirable - to enable . + to enable . Any messages written to stderr from the script will then appear in the database server log, allowing complex configurations to be diagnosed easily if they fail. @@ -1567,7 +1567,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"' - If a + If a command is executed while a base backup is being taken, and then the template database that the CREATE DATABASE copied is modified while the base backup is still in progress, it is @@ -1580,7 +1580,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"' - + commands are WAL-logged with the literal absolute path, and will therefore be replayed as tablespace creations with the same absolute path. This might be undesirable if the log is being @@ -1603,8 +1603,8 @@ archive_command = 'local_backup_script.sh "%p" "%f"' your system hardware and software, the risk of partial writes might be small enough to ignore, in which case you can significantly reduce the total volume of archived logs by turning off page - snapshots using the - parameter. (Read the notes and warnings in + snapshots using the + parameter. (Read the notes and warnings in before you do so.) Turning off page snapshots does not prevent use of the logs for PITR operations. An area for future development is to compress archived WAL data by removing diff --git a/doc/src/sgml/bgworker.sgml b/doc/src/sgml/bgworker.sgml index 0b092f6e49..4bc2b696b3 100644 --- a/doc/src/sgml/bgworker.sgml +++ b/doc/src/sgml/bgworker.sgml @@ -286,6 +286,6 @@ typedef struct BackgroundWorker The maximum number of registered background workers is limited by - . + . diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml index b7483df4c0..23c0e05ed6 100644 --- a/doc/src/sgml/brin.sgml +++ b/doc/src/sgml/brin.sgml @@ -95,7 +95,7 @@ The core PostgreSQL distribution includes the BRIN operator classes shown in - . + . @@ -590,7 +590,7 @@ typedef struct BrinOpcInfo To write an operator class for a data type that implements a totally ordered set, it is possible to use the minmax support procedures alongside the corresponding operators, as shown in - . + . All operator class members (procedures and operators) are mandatory. @@ -648,7 +648,7 @@ typedef struct BrinOpcInfo To write an operator class for a complex data type which has values included within another type, it's possible to use the inclusion support procedures alongside the corresponding operators, as shown - in . It requires + in . It requires only a single additional function, which can be written in any language. More functions can be defined for additional functionality. All operators are optional. Some operators require other operators, as shown as @@ -821,7 +821,7 @@ typedef struct BrinOpcInfo additional data types to be supported by defining extra sets of operators. Inclusion operator class operator strategies are dependent on another operator strategy as shown in - , or the same + , or the same operator strategy as themselves. They require the dependency operator to be defined with the STORAGE data type as the left-hand-side argument and the other supported data type to be the diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index ef60a58631..da881a7737 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -27,7 +27,7 @@ Overview - lists the system catalogs. + lists the system catalogs. More detailed documentation of each catalog follows below. @@ -567,8 +567,8 @@ New aggregate functions are registered with the - command. See for more information about + linkend="sql-createaggregate"/> + command. See for more information about writing aggregate functions and the meaning of the transition functions, etc. @@ -588,7 +588,7 @@ relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index - access methods are discussed in detail in . + access methods are discussed in detail in . @@ -649,7 +649,7 @@ methods. That data is now only directly visible at the C code level. However, pg_index_column_has_property() and related functions have been added to allow SQL queries to inspect index access - method properties; see . + method properties; see . @@ -1034,7 +1034,7 @@ attstattarget controls the level of detail of statistics accumulated for this column by - . + . A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. @@ -1270,7 +1270,7 @@ - contains detailed information about user and + contains detailed information about user and privilege management. @@ -1356,7 +1356,7 @@ bool Role bypasses every row level security policy, see - for more information. + for more information. @@ -1964,8 +1964,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -2015,7 +2015,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. - See for more information. + See for more information.
@@ -2424,7 +2424,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_conversion describes - encoding conversion procedures. See + encoding conversion procedures. See for more information. @@ -2516,8 +2516,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_database stores information about the available databases. Databases are created with the command. - Consult for details about the meaning + linkend="sql-createdatabase"/> command. + Consult for details about the meaning of some of the parameters. @@ -2675,8 +2675,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -3053,7 +3053,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated - with the command and viewed with + with the command and viewed with psql's \d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description. @@ -3208,7 +3208,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_event_trigger stores event triggers. - See for more information. + See for more information.
@@ -3258,7 +3258,7 @@ SCRAM-SHA-256$<iteration count>:&l char - Controls in which modes + Controls in which modes the event trigger fires. O = trigger fires in origin and local modes, D = trigger is disabled, @@ -3291,7 +3291,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_extension stores information - about the installed extensions. See + about the installed extensions. See for details about extensions. @@ -3463,8 +3463,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -3559,8 +3559,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -4011,8 +4011,8 @@ SCRAM-SHA-256$<iteration count>:&l The initial access privileges; see - and - + and + for details @@ -4034,8 +4034,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_language registers languages in which you can write functions or stored procedures. - See - and for more information about language handlers. + See + and for more information about language handlers.
@@ -4117,7 +4117,7 @@ SCRAM-SHA-256$<iteration count>:&l This references a function that is responsible for executing inline anonymous code blocks - ( blocks). + ( blocks). Zero if inline blocks are not supported. @@ -4139,8 +4139,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -4279,8 +4279,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -4346,8 +4346,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -4377,7 +4377,7 @@ SCRAM-SHA-256$<iteration count>:&l - Operator classes are described at length in . + Operator classes are described at length in .
@@ -4481,8 +4481,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_operator stores information about operators. - See - and for more information. + See + and for more information.
@@ -4639,7 +4639,7 @@ SCRAM-SHA-256$<iteration count>:&l - Operator families are described at length in . + Operator families are described at length in .
@@ -5040,8 +5040,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_proc stores information about functions (or procedures). - See - and for more information. + See + and for more information. @@ -5106,7 +5106,7 @@ SCRAM-SHA-256$<iteration count>:&l float4 Estimated execution cost (in units of - ); if proretset, + ); if proretset, this is cost per row returned @@ -5130,7 +5130,7 @@ SCRAM-SHA-256$<iteration count>:&l regproc pg_proc.oid Calls to this function can be simplified by this other function - (see ) + (see ) @@ -5359,8 +5359,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -5390,7 +5390,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_publication contains all publications created in the database. For more on publications see - . + .
@@ -5475,7 +5475,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a - many-to-many mapping. See also + many-to-many mapping. See also for a more user-friendly view of this information. @@ -5605,7 +5605,7 @@ SCRAM-SHA-256$<iteration count>:&l The pg_replication_origin catalog contains all replication origins created. For more on replication origins - see . + see .
@@ -5705,7 +5705,7 @@ SCRAM-SHA-256$<iteration count>:&l char - Controls in which modes + Controls in which modes the rule fires. O = rule fires in origin and local modes, D = rule is disabled, @@ -5765,8 +5765,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated - with the command. For an easier - way to view security labels, see . + with the command. For an easier + way to view security labels, see . @@ -6093,7 +6093,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be - manipulated with the command and viewed with + manipulated with the command and viewed with psql's \d commands. @@ -6160,8 +6160,8 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated - with the command. For an easier - way to view security labels, see . + with the command. For an easier + way to view security labels, see . @@ -6228,7 +6228,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_statistic stores statistical data about the contents of the database. Entries are - created by + created by and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date. @@ -6408,7 +6408,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_statistic_ext holds extended planner statistics. Each row in this catalog corresponds to a statistics object - created with . + created with .
@@ -6521,7 +6521,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical - replication see . + replication see . @@ -6616,7 +6616,7 @@ SCRAM-SHA-256$<iteration count>:&l Array of subscribed publication names. These reference the publications on the publisher server. For more on publications - see . + see . @@ -6758,8 +6758,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -6788,7 +6788,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural - languages. See for more information. + languages. See for more information.
@@ -6856,7 +6856,7 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_trigger stores triggers on tables and views. - See + See for more information. @@ -6914,7 +6914,7 @@ SCRAM-SHA-256$<iteration count>:&l char - Controls in which modes + Controls in which modes the trigger fires. O = trigger fires in origin and local modes, D = trigger is disabled, @@ -7066,7 +7066,7 @@ SCRAM-SHA-256$<iteration count>:&l PostgreSQL's text search features are - described at length in . + described at length in .
@@ -7141,7 +7141,7 @@ SCRAM-SHA-256$<iteration count>:&l PostgreSQL's text search features are - described at length in . + described at length in .
@@ -7212,7 +7212,7 @@ SCRAM-SHA-256$<iteration count>:&l PostgreSQL's text search features are - described at length in . + described at length in .
@@ -7295,7 +7295,7 @@ SCRAM-SHA-256$<iteration count>:&l PostgreSQL's text search features are - described at length in . + described at length in .
@@ -7392,7 +7392,7 @@ SCRAM-SHA-256$<iteration count>:&l PostgreSQL's text search features are - described at length in . + described at length in .
@@ -7461,9 +7461,9 @@ SCRAM-SHA-256$<iteration count>:&l The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with - , and + , and domains with - . + . A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS. @@ -7567,7 +7567,7 @@ SCRAM-SHA-256$<iteration count>:&l typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be preferred. - See . + See . @@ -7871,8 +7871,8 @@ SCRAM-SHA-256$<iteration count>:&l Access privileges; see - and - + and + for details @@ -7881,7 +7881,7 @@ SCRAM-SHA-256$<iteration count>:&l
- lists the system-defined values + lists the system-defined values of typcategory. Any future additions to this list will also be upper-case ASCII letters. All other ASCII characters are reserved for user-defined categories. @@ -8043,7 +8043,7 @@ SCRAM-SHA-256$<iteration count>:&l - The information schema () provides + The information schema () provides an alternative set of views which overlap the functionality of the system views. Since the information schema is SQL-standard whereas the views described here are PostgreSQL-specific, @@ -8052,11 +8052,11 @@ SCRAM-SHA-256$<iteration count>:&l - lists the system views described here. + lists the system views described here. More detailed documentation of each view follows below. There are some additional views that provide access to the results of the statistics collector; they are described in . + linkend="monitoring-stats-views-table"/>. @@ -8389,7 +8389,7 @@ SCRAM-SHA-256$<iteration count>:&l be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the - PostgreSQL client + PostgreSQL client application. @@ -8440,7 +8440,7 @@ SCRAM-SHA-256$<iteration count>:&l - via the + via the statement in SQL @@ -8448,14 +8448,14 @@ SCRAM-SHA-256$<iteration count>:&l via the Bind message in the frontend/backend protocol, as - described in + described in via the Server Programming Interface (SPI), as described in - + @@ -8648,7 +8648,7 @@ SCRAM-SHA-256$<iteration count>:&l - See for more information about the various + See for more information about the various ways to change run-time parameters. @@ -8813,7 +8813,7 @@ SCRAM-SHA-256$<iteration count>:&l - See for more information about + See for more information about client authentication configuration. @@ -8890,7 +8890,7 @@ SCRAM-SHA-256$<iteration count>:&l The view pg_locks provides access to information about the locks held by active processes within the - database server. See for more discussion + database server. See for more discussion of locking. @@ -9053,7 +9053,7 @@ SCRAM-SHA-256$<iteration count>:&l text Name of the lock mode held or desired by this process (see and ) + linkend="locking-tables"/> and ) granted @@ -9164,7 +9164,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx queues, nor information about which processes are parallel workers running on behalf of which other client sessions. It is better to use the pg_blocking_pids() function - (see ) to identify which + (see ) to identify which process(es) a waiting process is blocked behind. @@ -9369,7 +9369,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The pg_prepared_statements view displays all the prepared statements that are available in the current - session. See for more information about prepared + session. See for more information about prepared statements. @@ -9377,7 +9377,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx pg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement - is released (for example, via the command). + is released (for example, via the command). @@ -9457,7 +9457,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase - commit (see for details). + commit (see for details). @@ -9601,7 +9601,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins - see . + see .
@@ -9670,7 +9670,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx For more on replication slots, - see and . + see and .
@@ -9917,7 +9917,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx Role bypasses every row level security policy, see - for more information. + for more information. @@ -10203,8 +10203,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative - interface to the - and commands. + interface to the + and commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values. @@ -10441,7 +10441,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx - See for more information about the various + See for more information about the various ways to change these parameters. @@ -10449,7 +10449,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The pg_settings view cannot be inserted into or deleted from, but it can be updated. An UPDATE applied to a row of pg_settings is equivalent to executing - the command on that named + the command on that named parameter. The change only affects the value used by the current session. If an UPDATE is issued within a transaction that is later aborted, the effects of the UPDATE command @@ -10543,7 +10543,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx User bypasses every row level security policy, see - for more information. + for more information. @@ -10763,7 +10763,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The maximum number of entries in the array fields can be controlled on a column-by-column basis using the ALTER TABLE SET STATISTICS command, or globally by setting the - run-time parameter. + run-time parameter. @@ -10858,7 +10858,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the - run-time parameter is modified. + run-time parameter is modified.
@@ -10895,7 +10895,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx While most timezone abbreviations represent fixed offsets from UTC, there are some that have historically varied in value - (see for more information). + (see for more information). In such cases this view presents their current meaning. @@ -11025,7 +11025,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx bool User bypasses every row level security policy, see - for more information. + for more information. diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index ce395e115a..dc3fd34a62 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -15,8 +15,8 @@ Using the locale features of the operating system to provide locale-specific collation order, number formatting, translated messages, and other aspects. - This is covered in and - . + This is covered in and + . @@ -25,7 +25,7 @@ Providing a number of different character sets to support storing text in all kinds of languages, and providing character set translation between client and server. - This is covered in . + This is covered in . @@ -146,7 +146,7 @@ initdb --locale=sv_SE the sort order of indexes, so they must be kept fixed, or indexes on text columns would become corrupt. (But you can alleviate this restriction using collations, as discussed - in .) + in .) The default values for these categories are determined when initdb is run, and those values are used when new databases are created, unless @@ -157,7 +157,7 @@ initdb --locale=sv_SE The other locale categories can be changed whenever desired by setting the server configuration parameters that have the same name as the locale categories (see for details). The values + linkend="runtime-config-client-format"/> for details). The values that are chosen by initdb are actually only written into the configuration file postgresql.conf to serve as defaults when the server is started. If you remove these @@ -267,10 +267,10 @@ initdb --locale=sv_SE with LIKE clauses under a non-C locale, several custom operator classes exist. These allow the creation of an index that performs a strict character-by-character comparison, ignoring - locale comparison rules. Refer to + locale comparison rules. Refer to for more information. Another approach is to create indexes using the C collation, as discussed in - . + . @@ -316,7 +316,7 @@ initdb --locale=sv_SE PostgreSQL speak their preferred language well. If messages in your language are currently not available or not fully translated, your assistance would be appreciated. If you want to - help, refer to or write to the developers' + help, refer to or write to the developers' mailing list. @@ -524,7 +524,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR"; these under one concept than to create another infrastructure for setting LC_CTYPE per expression.) Also, a libc collation - is tied to a character set encoding (see ). + is tied to a character set encoding (see ). The same collation name may exist for different encodings. @@ -605,7 +605,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR"; for LC_COLLATE and LC_CTYPE, or if new locales are installed in the operating system after the database system was initialized, then a new collation may be created using - the command. + the command. New operating system locales can also be imported en masse using the pg_import_system_collations() function. @@ -702,7 +702,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1; If the standard and predefined collations are not sufficient, users can create their own collation objects using the SQL - command . + command . @@ -730,7 +730,7 @@ CREATE COLLATION german (provider = libc, locale = 'de_DE'); defined in the operating system when the database instance is initialized, it is not often necessary to manually create new ones. Reasons might be if a different naming system is desired (in which case - see also ) or if the operating system has + see also ) or if the operating system has been upgraded to provide new locale definitions (in which case see also pg_import_system_collations()). @@ -871,7 +871,7 @@ CREATE COLLATION german (provider = libc, locale = 'de_DE'); Copying Collations - The command can also be used to + The command can also be used to create a new collation from an existing collation, which can be useful to be able to use operating-system-independent collation names in applications, create compatibility names, or use an ICU-provided collation @@ -924,7 +924,7 @@ CREATE COLLATION french FROM "fr-x-icu"; Supported Character Sets - shows the character sets available + shows the character sets available for use in PostgreSQL. @@ -1392,7 +1392,7 @@ CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE= database. When copying any other database, the encoding and locale settings cannot be changed from those of the source database, because that might result in corrupt data. For more information see - . + . @@ -1449,7 +1449,7 @@ $ psql -l character set combinations. The conversion information is stored in the pg_conversion system catalog. PostgreSQL comes with some predefined conversions, as shown in . You can create a new + linkend="multibyte-translation-table"/>. You can create a new conversion using the SQL command CREATE CONVERSION. @@ -1763,7 +1763,7 @@ $ psql -l - libpq () has functions to control the client encoding. + libpq () has functions to control the client encoding. @@ -1812,7 +1812,7 @@ RESET client_encoding; Using the configuration variable . If the + linkend="guc-client-encoding"/>. If the client_encoding variable is set, that client encoding is automatically selected when a connection to the server is made. (This can subsequently be overridden using any diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index 99921ba079..c8a1bc79aa 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -13,13 +13,13 @@ wants to connect as, much the same way one logs into a Unix computer as a particular user. Within the SQL environment the active database user name determines access privileges to database objects — see - for more information. Therefore, it is + for more information. Therefore, it is essential to restrict which database users can connect. - As explained in , + As explained in , PostgreSQL actually does privilege management in terms of roles. In this chapter, we consistently use database user to mean role with the @@ -70,7 +70,7 @@ pg_hba.conf file is installed when the data directory is initialized by initdb. It is possible to place the authentication configuration file elsewhere, - however; see the configuration parameter. + however; see the configuration parameter. @@ -136,7 +136,7 @@ hostnossl database user Remote TCP/IP connections will not be possible unless the server is started with an appropriate value for the - configuration parameter, + configuration parameter, since the default behavior is to listen for TCP/IP connections only on the local loopback address localhost. @@ -157,8 +157,8 @@ hostnossl database user To make use of this option the server must be built with SSL support. Furthermore, SSL must be enabled - by setting the configuration parameter (see - for more information). + by setting the configuration parameter (see + for more information). Otherwise, the hostssl record is ignored except for logging a warning that it cannot match any connections. @@ -381,7 +381,7 @@ hostnossl database user Specifies the authentication method to use when a connection matches this record. The possible choices are summarized here; details - are in . + are in . @@ -393,7 +393,7 @@ hostnossl database user PostgreSQL database server to login as any PostgreSQL user they wish, without the need for a password or any other authentication. See for details. + linkend="auth-trust"/> for details. @@ -416,7 +416,7 @@ hostnossl database user Perform SCRAM-SHA-256 authentication to verify the user's - password. See for details. + password. See for details. @@ -426,7 +426,7 @@ hostnossl database user Perform SCRAM-SHA-256 or MD5 authentication to verify the - user's password. See + user's password. See for details. @@ -440,7 +440,7 @@ hostnossl database user authentication. Since the password is sent in clear text over the network, this should not be used on untrusted networks. - See for details. + See for details. @@ -451,7 +451,7 @@ hostnossl database user Use GSSAPI to authenticate the user. This is only available for TCP/IP connections. See for details. + linkend="gssapi-auth"/> for details. @@ -462,7 +462,7 @@ hostnossl database user Use SSPI to authenticate the user. This is only available on Windows. See for details. + linkend="sspi-auth"/> for details. @@ -477,7 +477,7 @@ hostnossl database user Ident authentication can only be used on TCP/IP connections. When specified for local connections, peer authentication will be used instead. - See for details. + See for details. @@ -489,7 +489,7 @@ hostnossl database user Obtain the client's operating system user name from the operating system and check if it matches the requested database user name. This is only available for local connections. - See for details. + See for details. @@ -499,7 +499,7 @@ hostnossl database user Authenticate using an LDAP server. See for details. + linkend="auth-ldap"/> for details. @@ -509,7 +509,7 @@ hostnossl database user Authenticate using a RADIUS server. See for details. + linkend="auth-radius"/> for details. @@ -519,7 +519,7 @@ hostnossl database user Authenticate using SSL client certificates. See - for details. + for details. @@ -530,7 +530,7 @@ hostnossl database user Authenticate using the Pluggable Authentication Modules (PAM) service provided by the operating system. See for details. + linkend="auth-pam"/> for details. @@ -540,7 +540,7 @@ hostnossl database user Authenticate using the BSD Authentication service provided by the - operating system. See for details. + operating system. See for details. @@ -638,7 +638,7 @@ hostnossl database user Some examples of pg_hba.conf entries are shown in - . See the next section for details on the + . See the next section for details on the different authentication methods. @@ -763,7 +763,7 @@ local db1,db2,@demodbs all md5 pg_ident.confpg_ident.conf and is stored in the cluster's data directory. (It is possible to place the map file - elsewhere, however; see the + elsewhere, however; see the configuration parameter.) The ident map file contains lines of the general form: @@ -790,7 +790,7 @@ local db1,db2,@demodbs all md5 If the system-username field starts with a slash (/), the remainder of the field is treated as a regular expression. - (See for details of + (See for details of PostgreSQL's regular expression syntax.) The regular expression can include a single capture, or parenthesized subexpression, which can then be referenced in the database-username @@ -828,8 +828,8 @@ mymap /^(.*)@otherdomain\.com$ guest A pg_ident.conf file that could be used in conjunction with the pg_hba.conf file in is shown in . In this example, anyone + linkend="example-pg-hba.conf"/> is shown in . In this example, anyone logged in to a machine on the 192.168 network that does not have the operating system user name bryanh, ann, or robert would not be granted access. Unix user @@ -885,7 +885,7 @@ omicron bryanh guest1 Unix-domain socket file using file-system permissions. To do this, set the unix_socket_permissions (and possibly unix_socket_group) configuration parameters as - described in . Or you + described in . Or you could set the unix_socket_directories configuration parameter to place the socket file in a suitably restricted directory. @@ -965,7 +965,7 @@ omicron bryanh guest1 The md5 method cannot be used with - the feature. + the feature. @@ -998,8 +998,8 @@ omicron bryanh guest1 separate from operating system user passwords. The password for each database user is stored in the pg_authid system catalog. Passwords can be managed with the SQL commands - and - , + and + , e.g., CREATE ROLE foo WITH LOGIN PASSWORD 'secret', or the psql command \password. @@ -1011,7 +1011,7 @@ omicron bryanh guest1 The availability of the different password-based authentication methods depends on how a user's password on the server is encrypted (or hashed, more accurately). This is controlled by the configuration - parameter at the time the + parameter at the time the password is set. If a password was encrypted using the scram-sha-256 setting, then it can be used for the authentication methods scram-sha-256 @@ -1061,7 +1061,7 @@ omicron bryanh guest1 GSSAPI support has to be enabled when PostgreSQL is built; - see for more information. + see for more information. @@ -1072,7 +1072,7 @@ omicron bryanh guest1 The PostgreSQL server will accept any principal that is included in the keytab used by the server, but care needs to be taken to specify the correct principal details when making the connection from the client using the krbsrvname connection parameter. (See - also .) The installation default can be + also .) The installation default can be changed from the default postgres at build time using ./configure --with-krb-srvnam=whatever. In most environments, @@ -1112,9 +1112,9 @@ omicron bryanh guest1 Make sure that your server keytab file is readable (and preferably only readable, not writable) by the PostgreSQL - server account. (See also .) The location + server account. (See also .) The location of the key file is specified by the configuration + linkend="guc-krb-server-keyfile"/> configuration parameter. The default is /usr/local/pgsql/etc/krb5.keytab (or whatever directory was specified as sysconfdir at build time). @@ -1138,7 +1138,7 @@ omicron bryanh guest1 database user name fred, principal fred@EXAMPLE.COM would be able to connect. To also allow principal fred/users.example.com@EXAMPLE.COM, use a user name - map, as described in . + map, as described in . @@ -1150,7 +1150,7 @@ omicron bryanh guest1 If set to 0, the realm name from the authenticated user principal is stripped off before being passed through the user name mapping - (). This is discouraged and is + (). This is discouraged and is primarily available for backwards compatibility, as it is not secure in multi-realm environments unless krb_realm is also used. It is recommended to @@ -1166,7 +1166,7 @@ omicron bryanh guest1 Allows for mapping between system and database user names. See - for details. For a GSSAPI/Kerberos + for details. For a GSSAPI/Kerberos principal, such as username@EXAMPLE.COM (or, less commonly, username/hostbased@EXAMPLE.COM), the user name used for mapping is @@ -1217,7 +1217,7 @@ omicron bryanh guest1 When using Kerberos authentication, SSPI works the same way - GSSAPI does; see + GSSAPI does; see for details. @@ -1231,7 +1231,7 @@ omicron bryanh guest1 If set to 0, the realm name from the authenticated user principal is stripped off before being passed through the user name mapping - (). This is discouraged and is + (). This is discouraged and is primarily available for backwards compatibility, as it is not secure in multi-realm environments unless krb_realm is also used. It is recommended to @@ -1284,7 +1284,7 @@ omicron bryanh guest1 Allows for mapping between system and database user names. See - for details. For a SSPI/Kerberos + for details. For a SSPI/Kerberos principal, such as username@EXAMPLE.COM (or, less commonly, username/hostbased@EXAMPLE.COM), the user name used for mapping is @@ -1329,7 +1329,7 @@ omicron bryanh guest1 When ident is specified for a local (non-TCP/IP) connection, - peer authentication (see ) will be + peer authentication (see ) will be used instead. @@ -1342,7 +1342,7 @@ omicron bryanh guest1 Allows for mapping between system and database user names. See - for details. + for details. @@ -1415,7 +1415,7 @@ omicron bryanh guest1 Allows for mapping between system and database user names. See - for details. + for details. @@ -1828,7 +1828,7 @@ host ... ldap ldapserver=ldap.example.net ldapbasedn="dc=example, dc=net" ldapse Allows for mapping between system and database user names. See - for details. + for details. diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 7059dd4e5f..3060597011 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -170,7 +170,7 @@ shared_buffers = 128MB postgresql.auto.confpostgresql.auto.conf, which has the same format as postgresql.conf but should never be edited manually. This file holds settings provided through - the command. This file is automatically + the command. This file is automatically read whenever postgresql.conf is, and its settings take effect in the same way. Settings in postgresql.auto.conf override those in postgresql.conf. @@ -191,7 +191,7 @@ shared_buffers = 128MB PostgreSQL provides three SQL commands to establish configuration defaults. - The already-mentioned command + The already-mentioned command provides a SQL-accessible means of changing global defaults; it is functionally equivalent to editing postgresql.conf. In addition, there are two commands that allow setting of defaults @@ -201,14 +201,14 @@ shared_buffers = 128MB - The command allows global + The command allows global settings to be overridden on a per-database basis. - The command allows both global and + The command allows both global and per-database settings to be overridden with user-specific values. @@ -232,7 +232,7 @@ shared_buffers = 128MB - The command allows inspection of the + The command allows inspection of the current value of all parameters. The corresponding function is current_setting(setting_name text). @@ -240,7 +240,7 @@ shared_buffers = 128MB - The command allows modification of the + The command allows modification of the current value of those parameters that can be set locally to a session; it has no effect on other sessions. The corresponding function is @@ -266,7 +266,7 @@ shared_buffers = 128MB - Using on this view, specifically + Using on this view, specifically updating the setting column, is the equivalent of issuing SET commands. For example, the equivalent of @@ -470,7 +470,7 @@ include_dir 'conf.d' already mentioned, PostgreSQL uses two other manually-edited configuration files, which control client authentication (their use is discussed in ). By default, all three + linkend="client-authentication"/>). By default, all three configuration files are stored in the database cluster's data directory. The parameters described in this section allow the configuration files to be placed elsewhere. (Doing so can ease @@ -535,7 +535,7 @@ include_dir 'conf.d' Specifies the configuration file for user name mapping (customarily called pg_ident.conf). This parameter can only be set at server start. - See also . + See also . @@ -625,7 +625,7 @@ include_dir 'conf.d' The default value is localhost, which allows only local TCP/IP loopback connections to be made. While client authentication () allows fine-grained control + linkend="client-authentication"/>) allows fine-grained control over who can access the server, listen_addresses controls which interfaces accept connection attempts, which can help prevent repeated malicious connection requests on @@ -685,7 +685,7 @@ include_dir 'conf.d' Determines the number of connection slots that are reserved for connections by PostgreSQL - superusers. At most + superusers. At most connections can ever be active simultaneously. Whenever the number of active concurrent connections is at least max_connections minus @@ -794,7 +794,7 @@ include_dir 'conf.d' This access control mechanism is independent of the one - described in . + described in . @@ -959,7 +959,7 @@ include_dir 'conf.d' Enables SSL connections. Please read - before using this. + before using this. This parameter can only be set in the postgresql.conf file or on the server command line. The default is off. @@ -1180,8 +1180,8 @@ include_dir 'conf.d' - When a password is specified in or - , this parameter determines the algorithm + When a password is specified in or + , this parameter determines the algorithm to use to encrypt the password. The default value is md5, which stores the password as an MD5 hash (on is also accepted, as alias for md5). Setting this parameter to @@ -1190,7 +1190,7 @@ include_dir 'conf.d' Note that older clients might lack support for the SCRAM authentication mechanism, and hence not work with passwords encrypted with - SCRAM-SHA-256. See for more details. + SCRAM-SHA-256. See for more details. @@ -1228,7 +1228,7 @@ include_dir 'conf.d' Sets the location of the Kerberos server key file. See - + for details. This parameter can only be set in the postgresql.conf file or on the server command line. @@ -1376,7 +1376,7 @@ include_dir 'conf.d' The use of huge pages results in smaller page tables and less CPU time spent on memory management, increasing performance. For more details, - see . + see . @@ -1428,7 +1428,7 @@ include_dir 'conf.d' Sets the maximum number of transactions that can be in the prepared state simultaneously (see ). + linkend="sql-prepare-transaction"/>). Setting this parameter to zero (which is the default) disables the prepared-transaction feature. This parameter can only be set at server start. @@ -1439,7 +1439,7 @@ include_dir 'conf.d' should be set to zero to prevent accidental creation of prepared transactions. If you are using prepared transactions, you will probably want max_prepared_transactions to be at - least as large as , so that every + least as large as , so that every session can have a prepared transaction pending. @@ -1497,10 +1497,10 @@ include_dir 'conf.d' Note that when autovacuum runs, up to - times this memory + times this memory may be allocated, so be careful not to set the default value too high. It may be useful to control for this by separately - setting . + setting . @@ -1515,7 +1515,7 @@ include_dir 'conf.d' Specifies the maximum amount of memory to be used by each autovacuum worker process. It defaults to -1, indicating that - the value of should + the value of should be used instead. The setting has no effect on the behavior of VACUUM when run in other contexts. @@ -1649,8 +1649,8 @@ include_dir 'conf.d' Cost-based Vacuum Delay - During the execution of - and + During the execution of + and commands, the system maintains an internal counter that keeps track of the estimated cost of the various I/O operations that are performed. When the accumulated @@ -1893,7 +1893,7 @@ include_dir 'conf.d' the OS writes data back in larger batches in the background. Often that will result in greatly reduced transaction latency, but there also are some cases, especially with workloads that are bigger than - , but smaller than the OS's page + , but smaller than the OS's page cache, where performance might degrade. This setting may have no effect on some platforms. The valid range is between 0, which disables forced writeback, and @@ -1962,7 +1962,7 @@ include_dir 'conf.d' The default is 1 on supported systems, otherwise 0. This value can be overridden for tables in a particular tablespace by setting the tablespace parameter of the same name (see - ). + ). @@ -1988,8 +1988,8 @@ include_dir 'conf.d' When changing this value, consider also adjusting - and - . + and + . @@ -2005,8 +2005,8 @@ include_dir 'conf.d' Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. Parallel workers are taken from the pool of processes established by - , limited by - . Note that the requested + , limited by + . Note that the requested number of workers may not actually be available at run time. If this occurs, the plan will run with fewer workers than expected, which may be inefficient. The default value is 2. Setting this value to 0 @@ -2020,7 +2020,7 @@ include_dir 'conf.d' system as an additional user session. This should be taken into account when choosing a value for this setting, as well as when configuring other settings that control resource utilization, such - as . Resource limits such as + as . Resource limits such as work_mem are applied individually to each worker, which means the total utilization may be much higher across all processes than it would normally be for any single process. @@ -2031,7 +2031,7 @@ include_dir 'conf.d' For more information on parallel query, see - . + . @@ -2047,9 +2047,9 @@ include_dir 'conf.d' Sets the maximum number of workers that the system can support for parallel queries. The default value is 8. When increasing or decreasing this value, consider also adjusting - . + . Also, note that a setting for this value which is higher than - will have no effect, + will have no effect, since parallel workers are taken from the pool of worker processes established by that setting. @@ -2072,7 +2072,7 @@ include_dir 'conf.d' checkpoint, or when the OS writes data back in larger batches in the background. Often that will result in greatly reduced transaction latency, but there also are some cases, especially with workloads - that are bigger than , but smaller + that are bigger than , but smaller than the OS's page cache, where performance might degrade. This setting may have no effect on some platforms. The valid range is between 0, which disables forced writeback, @@ -2148,7 +2148,7 @@ include_dir 'conf.d' For additional information on tuning these settings, - see . + see . @@ -2176,7 +2176,7 @@ include_dir 'conf.d' In minimal level, WAL-logging of some bulk operations can be safely skipped, which can make those - operations much faster (see ). + operations much faster (see ). Operations in which this optimization can be applied include: CREATE TABLE AS @@ -2188,7 +2188,7 @@ include_dir 'conf.d' But minimal WAL does not contain enough information to reconstruct the data from a base backup and the WAL logs, so replica or higher must be used to enable WAL archiving - () and streaming replication. + () and streaming replication. In logical level, the same information is logged as @@ -2218,7 +2218,7 @@ include_dir 'conf.d' If this parameter is on, the PostgreSQL server will try to make sure that updates are physically written to disk, by issuing fsync() system calls or various - equivalent methods (see ). + equivalent methods (see ). This ensures that the database cluster can recover to a consistent state after an operating system or hardware crash. @@ -2254,7 +2254,7 @@ include_dir 'conf.d' - In many situations, turning off + In many situations, turning off for noncritical transactions can provide much of the potential performance benefit of turning off fsync, without the attendant risks of data corruption. @@ -2264,7 +2264,7 @@ include_dir 'conf.d' fsync can only be set in the postgresql.conf file or on the server command line. If you turn this parameter off, also consider turning off - . + . @@ -2285,8 +2285,8 @@ include_dir 'conf.d' is on. When off, there can be a delay between when success is reported to the client and when the transaction is really guaranteed to be safe against a server crash. (The maximum - delay is three times .) Unlike - , setting this parameter to off + delay is three times .) Unlike + , setting this parameter to off does not create any risk of database inconsistency: an operating system or database crash might result in some recent allegedly-committed transactions being lost, but @@ -2294,10 +2294,10 @@ include_dir 'conf.d' been aborted cleanly. So, turning synchronous_commit off can be a useful alternative when performance is more important than exact certainty about the durability of a transaction. For more - discussion see . + discussion see . - If is non-empty, this + If is non-empty, this parameter also controls whether or not transaction commits will wait for their WAL records to be replicated to the standby server(s). When set to on, commits will wait until replies @@ -2389,7 +2389,7 @@ include_dir 'conf.d' necessary to change this setting or other aspects of your system configuration in order to create a crash-safe configuration or achieve optimal performance. - These aspects are discussed in . + These aspects are discussed in . This parameter can only be set in the postgresql.conf file or on the server command line. @@ -2432,7 +2432,7 @@ include_dir 'conf.d' Turning off this parameter does not affect use of WAL archiving for point-in-time recovery (PITR) - (see ). + (see ). @@ -2480,7 +2480,7 @@ include_dir 'conf.d' When this parameter is on, the PostgreSQL server compresses a full page image written to WAL when - is on or during a base backup. + is on or during a base backup. A compressed page image will be decompressed during WAL replay. The default value is off. Only superusers can change this setting. @@ -2505,7 +2505,7 @@ include_dir 'conf.d' The amount of shared memory used for WAL data that has not yet been written to disk. The default setting of -1 selects a size equal to - 1/32nd (about 3%) of , but not less + 1/32nd (about 3%) of , but not less than 64kB nor more than the size of one WAL segment, typically 16MB. This value can be set manually if the automatic choice is too large or too small, @@ -2682,7 +2682,7 @@ include_dir 'conf.d' checkpoint, or when the OS writes data back in larger batches in the background. Often that will result in greatly reduced transaction latency, but there also are some cases, especially with workloads - that are bigger than , but smaller + that are bigger than , but smaller than the OS's page cache, where performance might degrade. This setting may have no effect on some platforms. The valid range is between 0, which disables forced writeback, @@ -2772,14 +2772,14 @@ include_dir 'conf.d' When archive_mode is enabled, completed WAL segments are sent to archive storage by setting - . In addition to off, + . In addition to off, to disable, there are two modes: on, and always. During normal operation, there is no difference between the two modes, but when set to always the WAL archiver is enabled also during archive recovery or standby mode. In always mode, all files restored from the archive or streamed with streaming replication will be archived (again). See - for details. + for details. archive_mode and archive_command are @@ -2809,7 +2809,7 @@ include_dir 'conf.d' Use %% to embed an actual % character in the command. It is important for the command to return a zero exit status only if it succeeds. For more information see - . + . This parameter can only be set in the postgresql.conf @@ -2836,7 +2836,7 @@ include_dir 'conf.d' - The is only invoked for + The is only invoked for completed WAL segments. Hence, if your server generates little WAL traffic (or has slack periods where it does so), there could be a long delay between the completion of a transaction and its safe @@ -2872,10 +2872,10 @@ include_dir 'conf.d' These settings control the behavior of the built-in streaming replication feature (see - ). Servers will be either a + ). Servers will be either a Master or a Standby server. Masters can send data, while Standby(s) are always receivers of replicated data. When cascading replication - (see ) is used, Standby server(s) + (see ) is used, Standby server(s) can also be senders, as well as receivers. Parameters are mainly for Sending and Standby servers, though some parameters have meaning only on the Master server. Settings may vary @@ -2909,7 +2909,7 @@ include_dir 'conf.d' processes). The default is 10. The value 0 means replication is disabled. WAL sender processes count towards the total number of connections, so the parameter cannot be set higher than - . Abrupt streaming client + . Abrupt streaming client disconnection might cause an orphaned connection slot until a timeout is reached, so this parameter should be set slightly higher than the maximum number of expected clients so disconnected @@ -2930,7 +2930,7 @@ include_dir 'conf.d' Specifies the maximum number of replication slots - (see ) that the server + (see ) that the server can support. The default is 10. This parameter can only be set at server start. wal_level must be set @@ -3021,9 +3021,9 @@ include_dir 'conf.d' These parameters can be set on the master/primary server that is to send replication data to one or more standby servers. Note that in addition to these parameters, - must be set appropriately on the master + must be set appropriately on the master server, and optionally WAL archiving can be enabled as - well (see ). + well (see ). The values of these parameters on standby servers are irrelevant, although you may wish to set them there in preparation for the possibility of a standby becoming the master. @@ -3041,7 +3041,7 @@ include_dir 'conf.d' Specifies a list of standby servers that can support synchronous replication, as described in - . + . There will be one or more active synchronous standbys; transactions waiting for commit will be allowed to proceed after these standby servers confirm receipt of their data. @@ -3148,7 +3148,7 @@ ANY num_sync ( parameter to + parameter to local or off. @@ -3172,7 +3172,7 @@ ANY num_sync ( . This allows + servers, as described in . This allows more time for queries on the standby to complete without incurring conflicts due to early cleanup of rows. However, since the value is measured in terms of number of write transactions occurring on the @@ -3215,7 +3215,7 @@ ANY num_sync ( . + recovery, as described in . The default value is on. This parameter can only be set at server start. It only has effect during archive recovery or in standby mode. @@ -3234,7 +3234,7 @@ ANY num_sync ( . + . max_standby_archive_delay applies when WAL data is being read from WAL archive (and is therefore not current). The default is 30 seconds. Units are milliseconds if not specified. @@ -3265,7 +3265,7 @@ ANY num_sync ( . + . max_standby_streaming_delay applies when WAL data is being received via streaming replication. The default is 30 seconds. Units are milliseconds if not specified. @@ -3484,10 +3484,10 @@ ANY num_sync ( ), - running manually, increasing + constants (see ), + running manually, increasing the value of the configuration parameter, + linkend="guc-default-statistics-target"/> configuration parameter, and increasing the amount of statistics collected for specific columns using ALTER TABLE SET STATISTICS. @@ -3579,7 +3579,7 @@ ANY num_sync ( ). + types (see ). The default is on. @@ -3745,7 +3745,7 @@ ANY num_sync ( ). + (see ). @@ -3762,7 +3762,7 @@ ANY num_sync ( ). + (see ). @@ -3960,7 +3960,7 @@ ANY num_sync ( . + For more information see . @@ -4124,7 +4124,7 @@ ANY num_sync ( . + query planner, refer to . @@ -4180,7 +4180,7 @@ SELECT * FROM parent WHERE key = 2400; - Refer to for + Refer to for more information on using constraint exclusion and partitioning. @@ -4219,13 +4219,13 @@ SELECT * FROM parent WHERE key = 2400; resulting FROM list would have no more than this many items. Smaller values reduce planning time but might yield inferior query plans. The default is eight. - For more information see . + For more information see . - Setting this value to or more + Setting this value to or more may trigger use of the GEQO planner, resulting in non-optimal - plans. See . + plans. See . @@ -4255,13 +4255,13 @@ SELECT * FROM parent WHERE key = 2400; the optimal join order, advanced users can elect to temporarily set this variable to 1, and then specify the join order they desire explicitly. - For more information see . + For more information see . - Setting this value to or more + Setting this value to or more may trigger use of the GEQO planner, resulting in non-optimal - plans. See . + plans. See . @@ -4386,8 +4386,8 @@ SELECT * FROM parent WHERE key = 2400; log entries are output in comma separated value (CSV) format, which is convenient for loading logs into programs. - See for details. - must be enabled to generate + See for details. + must be enabled to generate CSV-format log output. @@ -4420,7 +4420,7 @@ csvlog log/postgresql.csv log_destination. PostgreSQL can log to syslog facilities LOCAL0 through LOCAL7 (see ), but the default + linkend="guc-syslog-facility"/>), but the default syslog configuration on most platforms will discard all such messages. You will need to add something like: @@ -4435,7 +4435,7 @@ local0.* /var/log/postgresql register an event source and its library with the operating system so that the Windows Event Viewer can display event log messages cleanly. - See for details. + See for details. @@ -4522,7 +4522,7 @@ local0.* /var/log/postgresql file names. (Note that if there are any time-zone-dependent %-escapes, the computation is done in the zone specified - by .) + by .) The supported %-escapes are similar to those listed in the Open Group's strftime @@ -4576,7 +4576,7 @@ local0.* /var/log/postgresql server owner can read or write the log files. The other commonly useful setting is 0640, allowing members of the owner's group to read the files. Note however that to make use of such a - setting, you'll need to alter to + setting, you'll need to alter to store the files somewhere outside the cluster data directory. In any case, it's unwise to make the log files world-readable, since they might contain sensitive data. @@ -4897,13 +4897,13 @@ local0.* /var/log/postgresql When using this option together with - , + , the text of statements that are logged because of log_statement will not be repeated in the duration log message. If you are not using syslog, it is recommended that you log the PID or session ID using - + so that you can link the statement message to the later duration message using the process ID or session ID. @@ -4914,7 +4914,7 @@ local0.* /var/log/postgresql - explains the message + explains the message severity levels used by PostgreSQL. If logging output is sent to syslog or Windows' eventlog, the severity levels are translated @@ -5019,7 +5019,7 @@ local0.* /var/log/postgresql It is typically set by an application upon connection to the server. The name will be displayed in the pg_stat_activity view and included in CSV log entries. It can also be included in regular - log entries via the parameter. + log entries via the parameter. Only printable ASCII characters may be used in the application_name value. Other characters will be replaced with question marks (?). @@ -5051,8 +5051,8 @@ local0.* /var/log/postgresql These messages are emitted at LOG message level, so by default they will appear in the server log but will not be sent to the client. You can change that by adjusting - and/or - . + and/or + . These parameters are off by default. @@ -5159,7 +5159,7 @@ local0.* /var/log/postgresql The difference between setting this option and setting - to zero is that + to zero is that exceeding log_min_duration_statement forces the text of the query to be logged, but this option doesn't. Thus, if log_duration is on and @@ -5187,7 +5187,7 @@ local0.* /var/log/postgresql the logging of DETAIL, HINT, QUERY, and CONTEXT error information. VERBOSE output includes the SQLSTATE error - code (see also ) and the source code file name, function name, + code (see also ) and the source code file name, function name, and line number that generated the error. Only superusers can change this setting. @@ -5397,7 +5397,7 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' Controls whether a log message is produced when a session waits - longer than to acquire a + longer than to acquire a lock. This is useful in determining if lock waits are causing poor performance. The default is off. Only superusers can change this setting. @@ -5459,7 +5459,7 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' Causes each replication command to be logged in the server log. - See for more information about + See for more information about replication command. The default value is off. Only superusers can change this setting. @@ -5496,12 +5496,12 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' Sets the time zone used for timestamps written in the server log. - Unlike , this value is cluster-wide, + Unlike , this value is cluster-wide, so that all sessions will report timestamps consistently. The built-in default is GMT, but that is typically overridden in postgresql.conf; initdb will install a setting there corresponding to its system environment. - See for more information. + See for more information. This parameter can only be set in the postgresql.conf file or on the server command line. @@ -5641,7 +5641,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; These settings control how process titles of server processes are modified. Process titles are typically viewed using programs like ps or, on Windows, Process Explorer. - See for details. + See for details. @@ -5697,7 +5697,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; When statistics collection is enabled, the data that is produced can be accessed via the pg_stat and pg_statio family of system views. - Refer to for more information. + Refer to for more information. @@ -5766,12 +5766,12 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some - platforms. You can use the tool to + platforms. You can use the tool to measure the overhead of timing on your system. I/O timing information is - displayed in , in the output of - when the BUFFERS option is - used, and by . Only superusers can + displayed in , in the output of + when the BUFFERS option is + used, and by . Only superusers can change this setting. @@ -5878,10 +5878,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; These settings control the behavior of the autovacuum - feature. Refer to for more information. + feature. Refer to for more information. Note that many of these settings can be overridden on a per-table basis; see . + endterm="sql-createtable-storage-parameters-title"/>. @@ -5896,7 +5896,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Controls whether the server should run the autovacuum launcher daemon. This is on by default; however, - must also be enabled for + must also be enabled for autovacuum to work. This parameter can only be set in the postgresql.conf file or on the server command line; however, autovacuuming can be @@ -5906,7 +5906,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Note that even when this parameter is disabled, the system will launch autovacuum processes if necessary to prevent transaction ID wraparound. See for more information. + linkend="vacuum-for-wraparound"/> for more information. @@ -6071,7 +6071,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; This parameter can only be set at server start, but the setting can be reduced for individual tables by changing table storage parameters. - For more information see . + For more information see . @@ -6099,7 +6099,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; 400 million multixacts. This parameter can only be set at server start, but the setting can be reduced for individual tables by changing table storage parameters. - For more information see . + For more information see . @@ -6114,7 +6114,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular - value will be used. + value will be used. The default value is 20 milliseconds. This parameter can only be set in the postgresql.conf file or on the server command line; @@ -6135,7 +6135,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular - value will be used. Note that + value will be used. Note that the value is distributed proportionally among the running autovacuum workers, if there is more than one, so that the sum of the limits for each worker does not exceed the value of this variable. @@ -6230,7 +6230,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; The current effective value of the search path can be examined via the SQL function current_schemas - (see ). + (see ). This is not quite the same as examining the value of search_path, since current_schemas shows how the items @@ -6238,7 +6238,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - For more information on schema handling, see . + For more information on schema handling, see . @@ -6264,7 +6264,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; For more information on row security policies, - see . + see . @@ -6295,7 +6295,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; This variable is not used for temporary tables; for them, - is consulted instead. + is consulted instead. @@ -6306,7 +6306,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; For more information on tablespaces, - see . + see . @@ -6355,7 +6355,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - See also . + See also . @@ -6370,7 +6370,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; This parameter is normally on. When set to off, it disables validation of the function body string during . Disabling validation avoids side + linkend="sql-createfunction"/>. Disabling validation avoids side effects of the validation process and avoids false positives due to problems such as forward references. Set this parameter to off before loading functions on behalf of other @@ -6400,8 +6400,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - Consult and for more information. + Consult and for more information. @@ -6424,7 +6424,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - Consult for more information. + Consult for more information. @@ -6458,7 +6458,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - Consult for more information. + Consult for more information. @@ -6477,7 +6477,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; superuser privilege and results in discarding any previously cached query plans. Possible values are origin (the default), replica and local. - See for + See for more information. @@ -6553,7 +6553,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; longer than the specified duration in milliseconds. This allows any locks held by that session to be released and the connection slot to be reused; it also allows tuples visible only to this transaction to be vacuumed. See - for more details about this. + for more details about this. The default value of 0 disables this feature. @@ -6577,11 +6577,11 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; tuples. The default is 150 million transactions. Although users can set this value anywhere from zero to two billions, VACUUM will silently limit the effective value to 95% of - , so that a + , so that a periodical manual VACUUM has a chance to run before an anti-wraparound autovacuum is launched for the table. For more information see - . + . @@ -6600,10 +6600,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; The default is 50 million transactions. Although users can set this value anywhere from zero to one billion, VACUUM will silently limit the effective value to half - the value of , so + the value of , so that there is not an unreasonably short time between forced autovacuums. For more information see . + linkend="vacuum-for-wraparound"/>. @@ -6624,10 +6624,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; tuples. The default is 150 million multixacts. Although users can set this value anywhere from zero to two billions, VACUUM will silently limit the effective value to 95% of - , so that a + , so that a periodical manual VACUUM has a chance to run before an anti-wraparound is launched for the table. - For more information see . + For more information see . @@ -6646,10 +6646,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; is 5 million multixacts. Although users can set this value anywhere from zero to one billion, VACUUM will silently limit the effective value to half - the value of , + the value of , so that there is not an unreasonably short time between forced autovacuums. - For more information see . + For more information see . @@ -6665,7 +6665,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Sets the output format for values of type bytea. Valid values are hex (the default) and escape (the traditional PostgreSQL - format). See for more + format). See for more information. The bytea type always accepts both formats on input, regardless of this setting. @@ -6687,7 +6687,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; base64 and hex, which are both defined in the XML Schema standard. The default is base64. For further information about - XML-related functions, see . + XML-related functions, see . @@ -6717,7 +6717,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Sets whether DOCUMENT or CONTENT is implicit when converting between XML and character string values. See for a description of this. Valid + linkend="datatype-xml"/> for a description of this. Valid values are DOCUMENT and CONTENT. The default is CONTENT. @@ -6748,7 +6748,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; The default is four megabytes (4MB). This setting can be overridden for individual GIN indexes by changing index storage parameters. - See and + See and for more information. @@ -6780,7 +6780,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; and European are synonyms for DMY; the keywords US, NonEuro, and NonEuropean are synonyms for MDY. See - for more information. The + for more information. The built-in default is ISO, MDY, but initdb will initialize the configuration file with a setting that corresponds to the @@ -6802,7 +6802,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; output matching SQL standard interval literals. The value postgres (which is the default) will produce output matching PostgreSQL releases prior to 8.4 - when the + when the parameter was set to ISO. The value postgres_verbose will produce output matching PostgreSQL releases prior to 8.4 @@ -6815,7 +6815,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; The IntervalStyle parameter also affects the interpretation of ambiguous interval input. See - for more information. + for more information. @@ -6833,7 +6833,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; The built-in default is GMT, but that is typically overridden in postgresql.conf; initdb will install a setting there corresponding to its system environment. - See for more information. + See for more information. @@ -6852,7 +6852,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; which is a collection that works in most of the world; there are also 'Australia' and 'India', and other collections can be defined for a particular installation. - See for more information. + See for more information. @@ -6880,7 +6880,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; partially-significant digits; this is especially useful for dumping float data that needs to be restored exactly. Or it can be set negative to suppress unwanted digits. - See also . + See also . @@ -6897,7 +6897,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Sets the client-side encoding (character set). The default is to use the database encoding. The character sets supported by the PostgreSQL - server are described in . + server are described in . @@ -6911,7 +6911,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Sets the language in which messages are displayed. Acceptable - values are system-dependent; see for + values are system-dependent; see for more information. If this variable is set to the empty string (which is the default) then the value is inherited from the execution environment of the server in a system-dependent way. @@ -6945,7 +6945,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Sets the locale to use for formatting monetary amounts, for example with the to_char family of functions. Acceptable values are system-dependent; see for more information. If this variable is + linkend="locale"/> for more information. If this variable is set to the empty string (which is the default) then the value is inherited from the execution environment of the server in a system-dependent way. @@ -6964,7 +6964,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Sets the locale to use for formatting numbers, for example with the to_char family of functions. Acceptable values are system-dependent; see for more information. If this variable is + linkend="locale"/> for more information. If this variable is set to the empty string (which is the default) then the value is inherited from the execution environment of the server in a system-dependent way. @@ -6983,7 +6983,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Sets the locale to use for formatting dates and times, for example with the to_char family of functions. Acceptable values are system-dependent; see for more information. If this variable is + linkend="locale"/> for more information. If this variable is set to the empty string (which is the default) then the value is inherited from the execution environment of the server in a system-dependent way. @@ -7002,7 +7002,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; Selects the text search configuration that is used by those variants of the text search functions that do not have an explicit argument specifying the configuration. - See for further information. + See for further information. The built-in default is pg_catalog.simple, but initdb will initialize the configuration file with a setting that corresponds to the @@ -7067,7 +7067,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; This variable specifies one or more shared libraries that are to be preloaded at connection start. It contains a comma-separated list of library names, where each name - is interpreted as for the command. + is interpreted as for the command. Whitespace between entries is ignored; surround a library name with double quotes if you need to include whitespace or commas in the name. The parameter value only takes effect at the start of the connection. @@ -7101,7 +7101,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; However, unless a module is specifically designed to be used in this way by non-superusers, this is usually not the right setting to use. Look - at instead. + at instead. @@ -7118,7 +7118,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; This variable specifies one or more shared libraries that are to be preloaded at connection start. It contains a comma-separated list of library names, where each name - is interpreted as for the command. + is interpreted as for the command. Whitespace between entries is ignored; surround a library name with double quotes if you need to include whitespace or commas in the name. The parameter value only takes effect at the start of the connection. @@ -7132,7 +7132,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; performance-measurement libraries to be loaded into specific sessions without an explicit LOAD command being given. For - example, could be enabled for all + example, could be enabled for all sessions under a given user name by setting this parameter with ALTER ROLE SET. Also, this parameter can be changed without restarting the server (but changes only take effect when a new @@ -7141,7 +7141,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; - Unlike , there is no large + Unlike , there is no large performance advantage to loading a library at session start rather than when it is first used. There is some advantage, however, when connection pooling is used. @@ -7160,7 +7160,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; This variable specifies one or more shared libraries to be preloaded at server start. It contains a comma-separated list of library names, where each name - is interpreted as for the command. + is interpreted as for the command. Whitespace between entries is ignored; surround a library name with double quotes if you need to include whitespace or commas in the name. This parameter can only be set at server start. If a specified @@ -7183,7 +7183,7 @@ SET XML OPTION { DOCUMENT | CONTENT }; parameter is recommended only for libraries that will be used in most sessions. Also, changing this parameter requires a server restart, so this is not the right setting to use for short-term debugging tasks, - say. Use for that + say. Use for that instead. @@ -7269,7 +7269,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Soft upper limit of the size of the set returned by GIN index scans. For more - information see . + information see . @@ -7317,7 +7317,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' - When is set, + When is set, this parameter also determines the length of time to wait before a log message is issued about the lock wait. If you are trying to investigate locking delays you might want to set a shorter than @@ -7336,8 +7336,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' The shared lock table tracks locks on max_locks_per_transaction * ( + ) objects (e.g., tables); + linkend="guc-max-connections"/> + ) objects (e.g., tables); hence, no more than this many distinct objects can be locked at any one time. This parameter controls the average number of object locks allocated for each transaction; individual transactions @@ -7368,8 +7368,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' The shared predicate lock table tracks locks on max_pred_locks_per_transaction * ( + ) objects (e.g., tables); + linkend="guc-max-connections"/> + ) objects (e.g., tables); hence, no more than this many distinct objects can be locked at any one time. This parameter controls the average number of object locks allocated for each transaction; individual transactions @@ -7396,7 +7396,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' predicate-locked before the lock is promoted to covering the whole relation. Values greater than or equal to zero mean an absolute limit, while negative values - mean divided by + mean divided by the absolute value of this setting. The default is -2, which keeps the behavior from previous versions of PostgreSQL. This parameter can only be set in the postgresql.conf @@ -7589,7 +7589,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' - See for more information. + See for more information. @@ -7607,7 +7607,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' output of EXPLAIN as well as the results of functions like pg_get_viewdef. See also the option of - and . + and . @@ -7630,7 +7630,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' parameter to determine how string literals will be processed. The presence of this parameter can also be taken as an indication that the escape string syntax (E'...') is supported. - Escape string syntax () + Escape string syntax () should be used if an application desires backslashes to be treated as escape characters. @@ -7710,7 +7710,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' - Refer to for related information. + Refer to for related information. @@ -7788,9 +7788,9 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports the size of a disk block. It is determined by the value of BLCKSZ when building the server. The default value is 8192 bytes. The meaning of some configuration - variables (such as ) is + variables (such as ) is influenced by block_size. See for information. + linkend="runtime-config-resource"/> for information. @@ -7804,7 +7804,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports whether data checksums are enabled for this cluster. - See for more information. + See for more information. @@ -7853,7 +7853,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports the locale in which sorting of textual data is done. - See for more information. + See for more information. This value is determined when a database is created. @@ -7868,7 +7868,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports the locale that determines character classifications. - See for more information. + See for more information. This value is determined when a database is created. Ordinarily this will be the same as lc_collate, but for special applications it might be set differently. @@ -7953,7 +7953,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports the database encoding (character set). It is determined when the database is created. Ordinarily, clients need only be concerned with the value of . + linkend="guc-client-encoding"/>. @@ -8012,7 +8012,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Reports the number of blocks (pages) in a WAL segment file. The total size of a WAL segment file in bytes is equal to wal_segment_size multiplied by wal_block_size; - by default this is 16MB. See for + by default this is 16MB. See for more information. @@ -8140,8 +8140,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Generates a great amount of debugging output for the LISTEN and NOTIFY - commands. or - must be + commands. or + must be DEBUG1 or lower to send this output to the client or server logs, respectively. @@ -8158,7 +8158,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Enables logging of recovery-related debugging output that otherwise would not be logged. This parameter allows the user to override the - normal setting of , but only for + normal setting of , but only for specific messages. This is intended for use in debugging Hot Standby. Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, and @@ -8401,7 +8401,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) - Only has effect if are enabled. + Only has effect if are enabled. Detection of a checksum failure during a read normally causes @@ -8452,7 +8452,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) For convenience there are also single letter command-line option switches available for some parameters. They are described in - . Some of these + . Some of these options exist for historical reasons, and their presence as a single-letter option does not necessarily indicate an endorsement to use the option heavily. diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index 7dd203e9cd..0622227bee 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -16,14 +16,14 @@ This appendix covers extensions and other server plug-in modules found in - contrib. covers utility + contrib. covers utility programs. When building from the source distribution, these components are not built automatically, unless you build the "world" target - (see ). + (see ). You can build and install all of them by running: make @@ -55,7 +55,7 @@ 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. In PostgreSQL 9.1 and later, this is done by executing - a command. In a fresh database, + a command. In a fresh database, you can simply do @@ -89,16 +89,16 @@ CREATE EXTENSION module_name FROM unpackaged; This will update the pre-9.1 objects of the module into a proper extension object. Future updates to the module will be - managed by . + managed by . For more information about extension updates, see - . + . Note, however, that some of these modules are not extensions in this sense, but are loaded into the server in some other way, for instance by way of - . See the documentation of each + . See the documentation of each module for details. @@ -163,7 +163,7 @@ pages. This appendix and the previous one contain information regarding the modules that can be found in the contrib directory of the - PostgreSQL distribution. See for + PostgreSQL distribution. See for more information about the contrib section in general and server extensions and plug-ins found in contrib specifically. @@ -184,7 +184,7 @@ pages. This section covers PostgreSQL client applications in contrib. They can be run from anywhere, independent of where the database server resides. See - also for information about client + also for information about client applications that part of the core PostgreSQL distribution. @@ -200,7 +200,7 @@ pages. This section covers PostgreSQL server-related applications in contrib. They are typically run on the host where the database server resides. See also for information about server applications that + linkend="reference-server"/> for information about server applications that part of the core PostgreSQL distribution. diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index 46d8e4eb8f..b995dc7e2a 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -16,7 +16,7 @@ Syntax - shows the valid external + shows the valid external representations for the cube type. x, y, etc. denote floating-point numbers. @@ -106,7 +106,7 @@ Usage - shows the operators provided for + shows the operators provided for type cube. @@ -268,7 +268,7 @@ SELECT c FROM test ORDER BY c ~> 3 DESC LIMIT 5; - shows the available functions. + shows the available functions.
diff --git a/doc/src/sgml/custom-scan.sgml b/doc/src/sgml/custom-scan.sgml index a46641674f..24631f5f40 100644 --- a/doc/src/sgml/custom-scan.sgml +++ b/doc/src/sgml/custom-scan.sgml @@ -123,7 +123,7 @@ Plan *(*PlanCustomPath) (PlannerInfo *root, Convert a custom path to a finished plan. The return value will generally be a CustomScan object, which the callback must allocate and - initialize. See for more details. + initialize. See for more details. diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 3d46098263..9aa9b28f3e 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -16,11 +16,11 @@ PostgreSQL has a rich set of native data types available to users. Users can add new types to PostgreSQL using the command. + linkend="sql-createtype"/> command. - shows all the built-in general-purpose data + shows all the built-in general-purpose data types. Most of the alternative names listed in the Aliases column are the names used internally by PostgreSQL for historical reasons. In @@ -336,7 +336,7 @@ Numeric types consist of two-, four-, and eight-byte integers, four- and eight-byte floating-point numbers, and selectable-precision - decimals. lists the + decimals. lists the available types. @@ -424,9 +424,9 @@ The syntax of constants for the numeric types is described in - . The numeric types have a + . The numeric types have a full set of corresponding arithmetic operators and - functions. Refer to for more + functions. Refer to for more information. The following sections describe the types in detail. @@ -559,7 +559,7 @@ NUMERIC The maximum allowed precision when explicitly specified in the type declaration is 1000; NUMERIC without a specified precision is subject to the limits described in . + linkend="datatype-numeric-table"/>. @@ -728,7 +728,7 @@ FROM generate_series(-3.5, 3.5, 1) as x; - The setting controls the + The setting controls the number of extra significant digits included when a floating point value is converted to text for output. With the default value of 0, the output is the same on every platform @@ -841,7 +841,7 @@ FROM generate_series(-3.5, 3.5, 1) as x; This section describes a PostgreSQL-specific way to create an autoincrementing column. Another way is to use the SQL-standard - identity column feature, described at . + identity column feature, described at . @@ -888,7 +888,7 @@ ALTER SEQUENCE tablename_nextval() in + See nextval() in for details. @@ -929,8 +929,8 @@ ALTER SEQUENCE tablename_ The money type stores a currency amount with a fixed fractional precision; see . The fractional precision is - determined by the database's setting. + linkend="datatype-money-table"/>. The fractional precision is + determined by the database's setting. The range shown in the table assumes there are two fractional digits. Input is accepted in a variety of formats, including integer and floating-point literals, as well as typical @@ -1063,7 +1063,7 @@ SELECT '52093.89'::money::numeric::float8;
- shows the + shows the general-purpose character types available in PostgreSQL. @@ -1166,12 +1166,12 @@ SELECT '52093.89'::money::numeric::float8; - Refer to for information about - the syntax of string literals, and to + Refer to for information about + the syntax of string literals, and to for information about available operators and functions. The database character set determines the character set used to store textual values; for more information on character set support, - refer to . + refer to . @@ -1180,7 +1180,7 @@ SELECT '52093.89'::money::numeric::float8; CREATE TABLE test1 (a character(4)); INSERT INTO test1 VALUES ('ok'); -SELECT a, char_length(a) FROM test1; -- +SELECT a, char_length(a) FROM test1; -- a | char_length ------+------------- @@ -1206,7 +1206,7 @@ SELECT b, char_length(b) FROM test2; The char_length function is discussed in - . + . @@ -1215,7 +1215,7 @@ SELECT b, char_length(b) FROM test2; There are two other fixed-length character types in PostgreSQL, shown in . The name + linkend="datatype-character-special-table"/>. The name type exists only for the storage of identifiers in the internal system catalogs and is not intended for use by the general user. Its length is currently defined as 64 bytes (63 usable characters plus @@ -1269,7 +1269,7 @@ SELECT b, char_length(b) FROM test2; The bytea data type allows storage of binary strings; - see . + see . @@ -1313,7 +1313,7 @@ SELECT b, char_length(b) FROM test2; input and output: PostgreSQL's historical escape format, and hex format. Both of these are always accepted on input. The output format depends - on the configuration parameter ; + on the configuration parameter ; the default is hex. (Note that the hex format was introduced in PostgreSQL 9.0; earlier versions and some tools don't understand it.) @@ -1384,7 +1384,7 @@ SELECT E'\\xDEADBEEF'; literal using escape string syntax). Backslash itself (octet value 92) can alternatively be represented by double backslashes. - + shows the characters that must be escaped, and gives the alternative escape sequences where applicable. @@ -1443,14 +1443,14 @@ SELECT E'\\xDEADBEEF'; The requirement to escape non-printable octets varies depending on locale settings. In some instances you can get away with leaving them unescaped. Note that the result in each of the examples - in was exactly one octet in + in was exactly one octet in length, even though the output representation is sometimes more than one character. The reason multiple backslashes are required, as shown - in , is that an input + in , is that an input string written as a string literal must pass through two parse phases in the PostgreSQL server. The first backslash of each pair is interpreted as an escape @@ -1467,7 +1467,7 @@ SELECT E'\\xDEADBEEF'; to a single octet with a decimal value of 1. Note that the single-quote character is not treated specially by bytea, so it follows the normal rules for string literals. (See also - .) + .) @@ -1477,7 +1477,7 @@ SELECT E'\\xDEADBEEF'; Most printable octets are represented by their standard representation in the client character set. The octet with decimal value 92 (backslash) is doubled in the output. - Details are in . + Details are in .
@@ -1571,12 +1571,12 @@ SELECT E'\\xDEADBEEF'; PostgreSQL supports the full set of SQL date and time types, shown in . The operations available + linkend="datatype-datetime-table"/>. The operations available on these data types are described in - . + . Dates are counted according to the Gregorian calendar, even in years before that calendar was introduced (see for more information). + linkend="datetime-units-history"/> for more information).
@@ -1716,7 +1716,7 @@ MINUTE TO SECOND traditional POSTGRES, and others. For some formats, ordering of day, month, and year in date input is ambiguous and there is support for specifying the expected - ordering of these fields. Set the parameter + ordering of these fields. Set the parameter to MDY to select month-day-year interpretation, DMY to select day-month-year interpretation, or YMD to select year-month-day interpretation. @@ -1726,7 +1726,7 @@ MINUTE TO SECOND PostgreSQL is more flexible in handling date/time input than the SQL standard requires. - See + See for the exact parsing rules of date/time input and for the recognized text fields including months, days of the week, and time zones. @@ -1735,7 +1735,7 @@ MINUTE TO SECOND Remember that any date or time literal input needs to be enclosed in single quotes, like text strings. Refer to - for more + for more information. SQL requires the following syntax @@ -1759,7 +1759,7 @@ MINUTE TO SECOND - shows some possible + shows some possible inputs for the date type. @@ -1872,8 +1872,8 @@ MINUTE TO SECOND Valid input for these types consists of a time of day followed by an optional time zone. (See - and .) If a time zone is + linkend="datatype-datetime-time-table"/> + and .) If a time zone is specified in the input for time without time zone, it is silently ignored. You can also specify a date but it will be ignored, except when you use a time zone name that involves a @@ -1993,7 +1993,7 @@ MINUTE TO SECOND
- Refer to for more information on how + Refer to for more information on how to specify time zones. @@ -2074,7 +2074,7 @@ January 8 04:05:06 1999 PST time zone specified is converted to UTC using the appropriate offset for that time zone. If no time zone is stated in the input string, then it is assumed to be in the time zone indicated by the system's - parameter, and is converted to UTC using the + parameter, and is converted to UTC using the offset for the timezone zone.
@@ -2084,7 +2084,7 @@ January 8 04:05:06 1999 PST current timezone zone, and displayed as local time in that zone. To see the time in another time zone, either change timezone or use the AT TIME ZONE construct - (see ). + (see ). @@ -2112,7 +2112,7 @@ January 8 04:05:06 1999 PST PostgreSQL supports several special date/time input values for convenience, as shown in . The values + linkend="datatype-datetime-special-table"/>. The values infinity and -infinity are specially represented inside the system and will be displayed unchanged; but the others are simply notational shorthands @@ -2186,7 +2186,7 @@ January 8 04:05:06 1999 PST CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP. The latter four accept an optional subsecond precision specification. (See .) Note that these are + linkend="functions-datetime-current"/>.) Note that these are SQL functions and are not recognized in data input strings. @@ -2218,7 +2218,7 @@ January 8 04:05:06 1999 PST SQL standard requires the use of the ISO 8601 format. The name of the SQL output format is a historical accident.) shows examples of each + linkend="datatype-datetime-output-table"/> shows examples of each output style. The output of the date and time types is generally only the date or time part in accordance with the given examples. However, the @@ -2275,9 +2275,9 @@ January 8 04:05:06 1999 PST In the SQL and POSTGRES styles, day appears before month if DMY field ordering has been specified, otherwise month appears before day. - (See + (See for how this setting also affects interpretation of input values.) - shows examples. + shows examples. @@ -2313,7 +2313,7 @@ January 8 04:05:06 1999 PST The date/time style can be selected by the user using the SET datestyle command, the parameter in the + linkend="guc-datestyle"/> parameter in the postgresql.conf configuration file, or the PGDATESTYLE environment variable on the server or client. @@ -2321,7 +2321,7 @@ January 8 04:05:06 1999 PST The formatting function to_char - (see ) is also available as + (see ) is also available as a more flexible way to format date/time output. @@ -2391,7 +2391,7 @@ January 8 04:05:06 1999 PST All timezone-aware dates and times are stored internally in UTC. They are converted to local time - in the zone specified by the configuration + in the zone specified by the configuration parameter before being displayed to the client. @@ -2404,7 +2404,7 @@ January 8 04:05:06 1999 PST A full time zone name, for example America/New_York. The recognized time zone names are listed in the pg_timezone_names view (see ). + linkend="view-pg-timezone-names"/>). PostgreSQL uses the widely-used IANA time zone data for this purpose, so the same time zone names are also recognized by much other software. @@ -2417,9 +2417,9 @@ January 8 04:05:06 1999 PST contrast to full time zone names which can imply a set of daylight savings transition-date rules as well. The recognized abbreviations are listed in the pg_timezone_abbrevs view (see ). You cannot set the - configuration parameters or - to a time + linkend="view-pg-timezone-abbrevs"/>). You cannot set the + configuration parameters or + to a time zone abbreviation, but you can use abbreviations in date/time input values and with the AT TIME ZONE operator. @@ -2499,13 +2499,13 @@ January 8 04:05:06 1999 PST they are obtained from configuration files stored under .../share/timezone/ and .../share/timezonesets/ of the installation directory - (see ). + (see ). - The configuration parameter can + The configuration parameter can be set in the file postgresql.conf, or in any of the - other standard ways described in . + other standard ways described in . There are also some special ways to set it: @@ -2556,7 +2556,7 @@ January 8 04:05:06 1999 PST of the different units are implicitly added with appropriate sign accounting. ago negates all the fields. This syntax is also used for interval output, if - is set to + is set to postgres_verbose. @@ -2582,7 +2582,7 @@ P quantityunit The string must start with a P, and may include a T that introduces the time-of-day units. The available unit abbreviations are given in . Units may be + linkend="datatype-interval-iso8601-units"/>. Units may be omitted, and may be specified in any order, but units smaller than a day must appear after T. In particular, the meaning of M depends on whether it is before or after @@ -2696,7 +2696,7 @@ P years-months- - shows some examples + shows some examples of valid interval input. @@ -2751,7 +2751,7 @@ P years-months- postgres_verbose, or iso_8601, using the command SET intervalstyle. The default is the postgres format. - shows examples of each + shows examples of each output style. @@ -2768,7 +2768,7 @@ P years-months- The output of the postgres style matches the output of PostgreSQL releases prior to 8.4 when the - parameter was set to ISO. + parameter was set to ISO. @@ -2846,7 +2846,7 @@ P years-months- PostgreSQL provides the standard SQL type boolean; - see . + see . The boolean type can have several states: true, false, and a third state, unknown, which is represented by the @@ -2902,7 +2902,7 @@ P years-months- - shows that + shows that boolean values are output using the letters t and f. @@ -2954,7 +2954,7 @@ SELECT * FROM test1 WHERE a; Enum types are created using the command, + linkend="sql-createtype"/> command, for example: @@ -3087,7 +3087,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays Geometric data types represent two-dimensional spatial - objects. shows the geometric + objects. shows the geometric types available in PostgreSQL. @@ -3158,7 +3158,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays A rich set of functions and operators is available to perform various geometric operations such as scaling, translation, rotation, and determining - intersections. They are explained in . + intersections. They are explained in . @@ -3410,11 +3410,11 @@ SELECT person.name, holidays.num_weeks FROM person, holidays PostgreSQL offers data types to store IPv4, IPv6, and MAC - addresses, as shown in . It + addresses, as shown in . It is better to use these types instead of plain text types to store network addresses, because these types offer input error checking and specialized - operators and functions (see ). + operators and functions (see ).
@@ -3526,7 +3526,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays - shows some examples. + shows some examples.
@@ -3809,10 +3809,10 @@ SELECT macaddr8_set7bit('08:00:2b:01:02:03'); Refer to for information about the syntax + linkend="sql-syntax-bit-strings"/> for information about the syntax of bit string constants. Bit-logical operators and string manipulation functions are available; see . + linkend="functions-bitstring"/>. @@ -3840,7 +3840,7 @@ SELECT * FROM test; A bit string value requires 1 byte for each group of 8 bits, plus 5 or 8 bytes overhead depending on the length of the string (but long values may be compressed or moved out-of-line, as explained - in for character strings). + in for character strings). @@ -3865,8 +3865,8 @@ SELECT * FROM test; The tsvector type represents a document in a form optimized for text search; the tsquery type similarly represents a text query. - provides a detailed explanation of this - facility, and summarizes the + provides a detailed explanation of this + facility, and summarizes the related functions and operators. @@ -3881,7 +3881,7 @@ SELECT * FROM test; A tsvector value is a sorted list of distinct lexemes, which are words that have been normalized to merge different variants of the same word - (see for details). Sorting and + (see for details). Sorting and duplicate-elimination are done automatically during input, as shown in this example: @@ -3975,7 +3975,7 @@ SELECT to_tsvector('english', 'The Fat Rats'); 'fat':2 'rat':3 - Again, see for more detail. + Again, see for more detail. @@ -4140,9 +4140,9 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11 functions for UUIDs, but the core database does not include any function for generating UUIDs, because no single algorithm is well suited for every application. The module + linkend="uuid-ossp"/> module provides functions that implement several standard algorithms. - The module also provides a generation + The module also provides a generation function for random UUIDs. Alternatively, UUIDs could be generated by client applications or other libraries invoked through a server-side function. @@ -4161,7 +4161,7 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11 advantage over storing XML data in a text field is that it checks the input values for well-formedness, and there are support functions to perform type-safe operations on it; see . Use of this data type requires the + linkend="functions-xml"/>. Use of this data type requires the installation to have been built with configure --with-libxml. @@ -4267,7 +4267,7 @@ SET xmloption TO { DOCUMENT | CONTENT }; results to the client (which is the normal mode), PostgreSQL converts all character data passed between the client and the server and vice versa to the character encoding of the respective - end; see . This includes string + end; see . This includes string representations of XML values, such as in the above examples. This would ordinarily mean that encoding declarations contained in XML data can become invalid as the character data is converted @@ -4408,7 +4408,7 @@ INSERT INTO mytable VALUES(-1); -- fails - For additional information see . + For additional information see . @@ -4473,14 +4473,14 @@ INSERT INTO mytable VALUES(-1); -- fails PostgreSQL as primary keys for various system tables. OIDs are not added to user-created tables, unless WITH OIDS is specified when the table is - created, or the + created, or the configuration variable is enabled. Type oid represents an object identifier. There are also several alias types for oid: regproc, regprocedure, regoper, regoperator, regclass, regtype, regrole, regnamespace, regconfig, and regdictionary. - shows an overview. + shows an overview. @@ -4677,7 +4677,7 @@ SELECT * FROM pg_attribute (The system columns are further explained in .) + linkend="ddl-system-columns"/>.) @@ -4795,7 +4795,7 @@ SELECT * FROM pg_attribute useful in situations where a function's behavior does not correspond to simply taking or returning a value of a specific SQL data type. lists the existing + linkend="datatype-pseudotypes-table"/> lists the existing pseudo-types. @@ -4818,33 +4818,33 @@ SELECT * FROM pg_attribute anyelement Indicates that a function accepts any data type - (see ). + (see ). anyarray Indicates that a function accepts any array data type - (see ). + (see ). anynonarray Indicates that a function accepts any non-array data type - (see ). + (see ). anyenum Indicates that a function accepts any enum data type - (see and - ). + (see and + ). anyrange Indicates that a function accepts any range data type - (see and - ). + (see and + ). diff --git a/doc/src/sgml/datetime.sgml b/doc/src/sgml/datetime.sgml index a533bbf8d2..d269aa4cc5 100644 --- a/doc/src/sgml/datetime.sgml +++ b/doc/src/sgml/datetime.sgml @@ -180,7 +180,7 @@ Date/Time Key Words - shows the tokens that are + shows the tokens that are recognized as names of months. @@ -247,7 +247,7 @@
- shows the tokens that are + shows the tokens that are recognized as names of days of the week. @@ -294,7 +294,7 @@ - shows the tokens that serve + shows the tokens that serve various modifier purposes. @@ -349,7 +349,7 @@ Since timezone abbreviations are not well standardized, PostgreSQL provides a means to customize the set of abbreviations accepted by the server. The - run-time parameter + run-time parameter determines the active set of abbreviations. While this parameter can be altered by any database user, the possible values for it are under the control of the database administrator — they diff --git a/doc/src/sgml/dblink.sgml b/doc/src/sgml/dblink.sgml index 12928e8bd3..4c07f886aa 100644 --- a/doc/src/sgml/dblink.sgml +++ b/doc/src/sgml/dblink.sgml @@ -14,7 +14,7 @@ - See also , which provides roughly the same + See also , which provides roughly the same functionality using a more modern and standards-compliant infrastructure. @@ -58,8 +58,8 @@ dblink_connect(text connname, text connstr) returns text server. It is recommended to use the foreign-data wrapper dblink_fdw when defining the foreign server. See the example below, as well as - and - . + and + . @@ -84,7 +84,7 @@ dblink_connect(text connname, text connstr) returns text libpq-style connection info string, for example hostaddr=127.0.0.1 port=5432 dbname=mydb user=postgres password=mypasswd. - For details see . + For details see . Alternatively, the name of a foreign server. @@ -1340,7 +1340,7 @@ dblink_get_notify(text connname) returns setof (notify_name text, be_pid int, ex the unnamed connection, or on a named connection if specified. To receive notifications via dblink, LISTEN must first be issued, using dblink_exec. - For details see and . + For details see and . diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index daba66c187..e6f50ec819 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -39,7 +39,7 @@ SQL does not make any guarantees about the order of the rows in a table. When a table is read, the rows will appear in an unspecified order, unless sorting is explicitly requested. This is covered in . Furthermore, SQL does not assign unique + linkend="queries"/>. Furthermore, SQL does not assign unique identifiers to rows, so it is possible to have several completely identical rows in a table. This is a consequence of the mathematical model that underlies SQL but is usually not desirable. @@ -64,7 +64,7 @@ built-in data types that fit many applications. Users can also define their own data types. Most built-in data types have obvious names and semantics, so we defer a detailed explanation to . Some of the frequently used data types are + linkend="datatype"/>. Some of the frequently used data types are integer for whole numbers, numeric for possibly fractional numbers, text for character strings, date for dates, time for @@ -79,7 +79,7 @@ To create a table, you use the aptly named command. + linkend="sql-createtable"/> command. In this command you specify at least a name for the new table, the names of the columns and the data type of each column. For example: @@ -95,7 +95,7 @@ CREATE TABLE my_first_table ( text; the second column has the name second_column and the type integer. The table and column names follow the identifier syntax explained - in . The type names are + in . The type names are usually also identifiers, but there are some exceptions. Note that the column list is comma-separated and surrounded by parentheses. @@ -139,7 +139,7 @@ CREATE TABLE products ( If you no longer need a table, you can remove it using the command. + linkend="sql-droptable"/> command. For example: DROP TABLE my_first_table; @@ -155,7 +155,7 @@ DROP TABLE products; If you need to modify a table that already exists, see later in this chapter. + linkend="ddl-alter"/> later in this chapter. @@ -163,7 +163,7 @@ DROP TABLE products; tables. The remainder of this chapter is concerned with adding features to the table definition to ensure data integrity, security, or convenience. If you are eager to fill your tables with - data now you can skip ahead to and read the + data now you can skip ahead to and read the rest of this chapter later. @@ -181,7 +181,7 @@ DROP TABLE products; columns will be filled with their respective default values. A data manipulation command can also request explicitly that a column be set to its default value, without having to know what that value is. - (Details about data manipulation commands are in .) + (Details about data manipulation commands are in .) @@ -220,7 +220,7 @@ CREATE TABLE products (
where the nextval() function supplies successive values from a sequence object (see ). This arrangement is sufficiently common + linkend="functions-sequence"/>). This arrangement is sufficiently common that there's a special shorthand for it: CREATE TABLE products ( @@ -229,7 +229,7 @@ CREATE TABLE products ( ); The SERIAL shorthand is discussed further in . + linkend="datatype-serial"/>. @@ -876,9 +876,9 @@ CREATE TABLE order_items ( More information about updating and deleting data is in . Also see the description of foreign key constraint + linkend="dml"/>. Also see the description of foreign key constraint syntax in the reference documentation for - . + . @@ -948,10 +948,10 @@ CREATE TABLE circles ( The object identifier (object ID) of a row. This column is only present if the table was created using WITH - OIDS, or if the + OIDS, or if the configuration variable was set at the time. This column is of type oid (same name as the column); see for more information about the type. + linkend="datatype-oid"/> for more information about the type. @@ -966,7 +966,7 @@ CREATE TABLE circles ( The OID of the table containing this row. This column is particularly handy for queries that select from inheritance - hierarchies (see ), since without it, + hierarchies (see ), since without it, it's difficult to tell which individual table a row came from. The tableoid can be joined against the oid column of @@ -1100,7 +1100,7 @@ CREATE TABLE circles ( Transaction identifiers are also 32-bit quantities. In a long-lived database it is possible for transaction IDs to wrap around. This is not a fatal problem given appropriate maintenance - procedures; see for details. It is + procedures; see for details. It is unwise, however, to depend on the uniqueness of transaction IDs over the long term (more than one billion transactions). @@ -1167,7 +1167,7 @@ CREATE TABLE circles ( All these actions are performed using the - + command, whose reference page contains details beyond those given here. @@ -1238,7 +1238,7 @@ ALTER TABLE products DROP COLUMN description; ALTER TABLE products DROP COLUMN description CASCADE; - See for a description of the general + See for a description of the general mechanism behind this. @@ -1446,7 +1446,7 @@ ALTER TABLE products RENAME TO items; object vary depending on the object's type (table, function, etc). For complete information on the different types of privileges supported by PostgreSQL, refer to the - reference + reference page. The following sections and chapters will also show you how those privileges are used. @@ -1459,7 +1459,7 @@ ALTER TABLE products RENAME TO items; An object can be assigned to a new owner with an ALTER command of the appropriate kind for the object, e.g. . Superusers can always do + linkend="sql-altertable"/>. Superusers can always do this; ordinary roles can only do it if they are both the current owner of the object (or a member of the owning role) and a member of the new owning role. @@ -1482,7 +1482,7 @@ GRANT UPDATE ON accounts TO joe; be used to grant a privilege to every role on the system. Also, group roles can be set up to help manage privileges when there are many users of a database — for details see - . + . @@ -1506,8 +1506,8 @@ REVOKE ALL ON accounts FROM PUBLIC; the right to grant it in turn to others. If the grant option is subsequently revoked then all who received the privilege from that recipient (directly or through a chain of grants) will lose the - privilege. For details see the and - reference pages. + privilege. For details see the and + reference pages. @@ -1524,7 +1524,7 @@ REVOKE ALL ON accounts FROM PUBLIC; In addition to the SQL-standard privilege - system available through , + system available through , tables can have row security policies that restrict, on a per-user basis, which rows can be returned by normal queries or inserted, updated, or deleted by data modification commands. @@ -1584,11 +1584,11 @@ REVOKE ALL ON accounts FROM PUBLIC; - Policies are created using the - command, altered using the command, - and dropped using the command. To + Policies are created using the + command, altered using the command, + and dropped using the command. To enable and disable row security for a given table, use the - command. + command. @@ -1829,7 +1829,7 @@ UPDATE 0 not being applied. For example, when taking a backup, it could be disastrous if row security silently caused some rows to be omitted from the backup. In such a situation, you can set the - configuration parameter + configuration parameter to off. This does not in itself bypass row security; what it does is throw an error if any query's results would get filtered by a policy. The reason for the error can then be investigated and @@ -1951,8 +1951,8 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE; - For additional details see - and . + For additional details see + and . @@ -2034,7 +2034,7 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE; - To create a schema, use the + To create a schema, use the command. Give the schema a name of your choice. For example: @@ -2099,7 +2099,7 @@ DROP SCHEMA myschema; DROP SCHEMA myschema CASCADE; - See for a description of the general + See for a description of the general mechanism behind this. @@ -2112,7 +2112,7 @@ CREATE SCHEMA schema_name AUTHORIZATION You can even omit the schema name, in which case the schema name will be the same as the user name. See for how this can be useful. + linkend="ddl-schemas-patterns"/> for how this can be useful. @@ -2242,7 +2242,7 @@ SET search_path TO myschema; - See also for other ways to manipulate + See also for other ways to manipulate the schema search path. @@ -2297,7 +2297,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC; public means every user. In the first sense it is an identifier, in the second sense it is a key word, hence the different capitalization; recall the - guidelines from .) + guidelines from .) @@ -2483,7 +2483,7 @@ SELECT name, altitude Given the sample data from the PostgreSQL - tutorial (see ), this returns: + tutorial (see ), this returns: name | altitude @@ -2602,7 +2602,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); capitals table, but this does not happen: INSERT always inserts into exactly the table specified. In some cases it is possible to redirect the insertion - using a rule (see ). However that does not + using a rule (see ). However that does not help for the above case because the cities table does not contain the column state, and so the command will be rejected before the rule can be applied. @@ -2633,11 +2633,11 @@ VALUES ('Albany', NULL, NULL, 'NY'); Table inheritance is typically established when the child table is created, using the INHERITS clause of the - + statement. Alternatively, a table which is already defined in a compatible way can have a new parent relationship added, using the INHERIT - variant of . + variant of . To do this the new child table must already include columns with the same names and types as the columns of the parent. It must also include check constraints with the same names and check expressions as those of the @@ -2645,7 +2645,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); NO INHERIT variant of ALTER TABLE. Dynamically adding and removing inheritance links like this can be useful when the inheritance relationship is being used for table - partitioning (see ). + partitioning (see ). @@ -2665,11 +2665,11 @@ VALUES ('Albany', NULL, NULL, 'NY'); if they are inherited from any parent tables. If you wish to remove a table and all of its descendants, one easy way is to drop the parent table with the - CASCADE option (see ). + CASCADE option (see ). - will + will propagate any changes in column data definitions and check constraints down the inheritance hierarchy. Again, dropping columns that are depended on by other tables is only possible when using @@ -2687,7 +2687,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); that the data is (also) in the parent table. But the capitals table could not be updated directly without an additional grant. In a similar way, the parent table's row - security policies (see ) are applied to + security policies (see ) are applied to rows coming from child tables during an inherited query. A child table's policies, if any, are applied only when it is the table explicitly named in the query; and in that case, any policies attached to its parent(s) are @@ -2695,7 +2695,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); - Foreign tables (see ) can also + Foreign tables (see ) can also be part of inheritance hierarchies, either as parent or child tables, just as regular tables can be. If a foreign table is part of an inheritance hierarchy then any operations not supported by @@ -2719,7 +2719,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); typically only work on individual, physical tables and do not support recursing over inheritance hierarchies. The respective behavior of each individual command is documented in its reference - page (). + page (). @@ -2923,7 +2923,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); called sub-partitioning. Partitions may have their own indexes, constraints and default values, distinct from those of other partitions. Indexes must be created separately for each partition. See - for more details on creating partitioned + for more details on creating partitioned tables and partitions. @@ -2932,7 +2932,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); vice versa. However, it is possible to add a regular or partitioned table containing data as a partition of a partitioned table, or remove a partition from a partitioned table turning it into a standalone table; - see to learn more about the + see to learn more about the ATTACH PARTITION and DETACH PARTITION sub-commands. @@ -2948,7 +2948,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); inheritance with regular tables. Since a partition hierarchy consisting of the partitioned table and its partitions is still an inheritance hierarchy, all the normal rules of inheritance apply as described in - with some exceptions, most notably: + with some exceptions, most notably: @@ -2999,7 +2999,7 @@ VALUES ('Albany', NULL, NULL, 'NY'); Partitions can also be foreign tables - (see ), + (see ), although these have some limitations that normal tables do not. For example, data inserted into the partitioned table is not routed to foreign table partitions. @@ -3158,7 +3158,7 @@ CREATE INDEX ON measurement_y2008m01 (logdate); - Ensure that the + Ensure that the configuration parameter is not disabled in postgresql.conf. If it is, queries will not be optimized as desired. @@ -3595,7 +3595,7 @@ DO INSTEAD - Ensure that the + Ensure that the configuration parameter is not disabled in postgresql.conf. If it is, queries will not be optimized as desired. @@ -3806,7 +3806,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01'; The default (and recommended) setting of - is actually neither + is actually neither on nor off, but an intermediate setting called partition, which causes the technique to be applied only to queries that are likely to be working on partitioned @@ -3889,10 +3889,10 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01'; library that can communicate with an external data source, hiding the details of connecting to the data source and obtaining data from it. There are some foreign data wrappers available as contrib - modules; see . Other kinds of foreign data + modules; see . Other kinds of foreign data wrappers might be found as third party products. If none of the existing foreign data wrappers suit your needs, you can write your own; see . + linkend="fdwhandler"/>. @@ -3918,11 +3918,11 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01'; For additional information, see - , - , - , - , and - . + , + , + , + , and + . @@ -3966,7 +3966,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01'; Detailed information on - these topics appears in . + these topics appears in . @@ -3996,7 +3996,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01'; PostgreSQL makes sure that you cannot drop objects that other objects still depend on. For example, attempting to drop the products table we considered in , with the orders table depending on + linkend="ddl-constraints-fk"/>, with the orders table depending on it, would result in an error message like this: DROP TABLE products; @@ -4066,7 +4066,7 @@ CREATE FUNCTION get_color_note (rainbow) RETURNS text AS LANGUAGE SQL; - (See for an explanation of SQL-language + (See for an explanation of SQL-language functions.) PostgreSQL will be aware that the get_color_note function depends on the rainbow type: dropping the type would force dropping the function, because its diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml index 7ef996b51f..dfefa9e686 100644 --- a/doc/src/sgml/dfunc.sgml +++ b/doc/src/sgml/dfunc.sgml @@ -226,7 +226,7 @@ gcc -G -o foo.so foo.o - Refer back to about where the + Refer back to about where the server expects to find the shared library files. diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml index 04cf14a73d..c15cbd0e4d 100644 --- a/doc/src/sgml/dict-int.sgml +++ b/doc/src/sgml/dict-int.sgml @@ -71,7 +71,7 @@ mydb# select ts_lexize('intdict', '12345678'); but real-world usage will involve including it in a text search - configuration as described in . + configuration as described in . That might look like this: diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml index bf4965c36f..256aff7c58 100644 --- a/doc/src/sgml/dict-xsyn.sgml +++ b/doc/src/sgml/dict-xsyn.sgml @@ -135,7 +135,7 @@ mydb=# SELECT ts_lexize('xsyn', 'syn1'); Real-world usage will involve including it in a text search - configuration as described in . + configuration as described in . That might look like this: diff --git a/doc/src/sgml/diskusage.sgml b/doc/src/sgml/diskusage.sgml index ba23084354..3708e5f3d8 100644 --- a/doc/src/sgml/diskusage.sgml +++ b/doc/src/sgml/diskusage.sgml @@ -20,18 +20,18 @@ stored. If the table has any columns with potentially-wide values, there also might be a TOAST file associated with the table, which is used to store values too wide to fit comfortably in the main - table (see ). There will be one valid index + table (see ). There will be one valid index on the TOAST table, if present. There also might be indexes associated with the base table. Each table and index is stored in a separate disk file — possibly more than one file, if the file would exceed one gigabyte. Naming conventions for these files are described - in . + in . You can monitor disk space in three ways: - using the SQL functions listed in , - using the module, or + using the SQL functions listed in , + using the module, or using manual inspection of the system catalogs. The SQL functions are the easiest to use and are generally recommended. The remainder of this section shows how to do it by inspection of the @@ -124,7 +124,7 @@ ORDER BY relpages DESC; If you cannot free up additional space on the disk by deleting other things, you can move some of the database files to other file systems by making use of tablespaces. See for more information about that. + linkend="manage-ag-tablespaces"/> for more information about that. diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml index bc016d3cae..1e05c84fd1 100644 --- a/doc/src/sgml/dml.sgml +++ b/doc/src/sgml/dml.sgml @@ -33,10 +33,10 @@ - To create a new row, use the + To create a new row, use the command. The command requires the table name and column values. For - example, consider the products table from : + example, consider the products table from : CREATE TABLE products ( product_no integer, @@ -107,16 +107,16 @@ INSERT INTO products (product_no, name, price) WHERE release_date = 'today'; This provides the full power of the SQL query mechanism () for computing the rows to be inserted. + linkend="queries"/>) for computing the rows to be inserted. When inserting a lot of data at the same time, considering using - the command. - It is not as flexible as the + the command. + It is not as flexible as the command, but is more efficient. Refer - to for more information on improving + to for more information on improving bulk loading performance. @@ -141,7 +141,7 @@ INSERT INTO products (product_no, name, price) - To update existing rows, use the + To update existing rows, use the command. This requires three pieces of information: @@ -160,7 +160,7 @@ INSERT INTO products (product_no, name, price) - Recall from that SQL does not, in general, + Recall from that SQL does not, in general, provide a unique identifier for rows. Therefore it is not always possible to directly specify which row to update. Instead, you specify which conditions a row must meet in order to @@ -203,7 +203,7 @@ UPDATE products SET price = price * 1.10; this does not create any ambiguity. Of course, the WHERE condition does not have to be an equality test. Many other operators are - available (see ). But the expression + available (see ). But the expression needs to evaluate to a Boolean result. @@ -243,7 +243,7 @@ UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0; - You use the + You use the command to remove rows; the syntax is very similar to the UPDATE command. For instance, to remove all rows from the products table that have a price of 10, use: @@ -296,7 +296,7 @@ DELETE FROM products; The allowed contents of a RETURNING clause are the same as a SELECT command's output list - (see ). It can contain column + (see ). It can contain column names of the command's target table, or value expressions using those columns. A common shorthand is RETURNING *, which selects all columns of the target table in order. @@ -340,7 +340,7 @@ DELETE FROM products - If there are triggers () on the target table, + If there are triggers () on the target table, the data available to RETURNING is the row as modified by the triggers. Thus, inspecting columns computed by triggers is another common use-case for RETURNING. diff --git a/doc/src/sgml/docguide.sgml b/doc/src/sgml/docguide.sgml index 3a5b88ca1c..090ca95835 100644 --- a/doc/src/sgml/docguide.sgml +++ b/doc/src/sgml/docguide.sgml @@ -47,23 +47,11 @@ The documentation sources are written in DocBook, which is a markup language - superficially similar to HTML. Both of these - languages are applications of the Standard Generalized - Markup Language, SGML, which is - essentially a language for describing other languages. In what - follows, the terms DocBook and SGML are both + defined in XML. In what + follows, the terms DocBook and XML are both used, but technically they are not interchangeable. - - - The PostgreSQL documentation is currently being transitioned from DocBook - SGML and DSSSL style sheets to DocBook XML and XSLT style sheets. Be - careful to look at the instructions relating to the PostgreSQL version you - are dealing with, as the procedures and required tools will change. - - - DocBook allows an author to specify the structure and content of a technical document without worrying @@ -97,19 +85,8 @@ This is the definition of DocBook itself. We currently use version 4.2; you cannot use later or earlier versions. You need - the SGML and the XML variant of - the DocBook DTD of the same version. These will usually be in separate - packages. - - - - - - ISO 8879 character entities - - - These are required by DocBook SGML but are distributed separately - because they are maintained by ISO. + the XML variant of the DocBook DTD, not + the SGML variant. @@ -130,17 +107,6 @@ - - OpenSP - - - This is the base package of SGML processing. Note - that we no longer need OpenJade, the DSSSL - processor, only the OpenSP package for converting SGML to XML. - - - - Libxml2 for xmllint @@ -201,7 +167,7 @@ To install the required packages, use: -yum install docbook-dtds docbook-style-xsl fop libxslt opensp +yum install docbook-dtds docbook-style-xsl fop libxslt @@ -209,41 +175,10 @@ yum install docbook-dtds docbook-style-xsl fop libxslt opensp Installation on FreeBSD - - The FreeBSD Documentation Project is itself a heavy user of - DocBook, so it comes as no surprise that there is a full set of - ports of the documentation tools available on - FreeBSD. The following ports need to be installed to build the - documentation on FreeBSD. - - - textproc/docbook-sgml - - - textproc/docbook-xml - - - textproc/docbook-xsl - - - textproc/dsssl-docbook-modular - - - textproc/libxslt - - - textproc/fop - - - textproc/opensp - - - - To install the required packages with pkg, use: -pkg install docbook-sgml docbook-xml docbook-xsl fop libxslt opensp +pkg install docbook-xml docbook-xsl fop libxslt @@ -268,7 +203,7 @@ pkg install docbook-sgml docbook-xml docbook-xsl fop libxslt opensp available for Debian GNU/Linux. To install, simply use: -apt-get install docbook docbook-xml docbook-xsl fop libxml2-utils opensp xsltproc +apt-get install docbook-xml docbook-xsl fop libxml2-utils xsltproc @@ -277,117 +212,21 @@ apt-get install docbook docbook-xml docbook-xsl fop libxml2-utils opensp xsltpro macOS - If you use MacPorts, the following will get you set up: - -sudo port install docbook-sgml-4.2 docbook-xml-4.2 docbook-xsl fop libxslt opensp - + On macOS, you can build the HTML and man documentation without installing + anything extra. If you want to build PDFs or want to install a local copy + of DocBook, you can get those from your preferred package manager. - - - - Manual Installation from Source - The manual installation process of the DocBook tools is somewhat - complex, so if you have pre-built packages available, use them. - We describe here only a standard setup, with reasonably standard - installation paths, and no fancy features. For - details, you should study the documentation of the respective - package, and read SGML introductory material. - - - - Installing OpenSP - - - The installation of OpenSP offers a GNU-style - ./configure; make; make install build process. - Details can be found in the OpenSP source distribution. In a nutshell: - -./configure --enable-default-catalog=/usr/local/etc/sgml/catalog -make -make install - - Be sure to remember where you put the default catalog; you - will need it below. You can also leave it off, but then you will have to - set the environment variable SGML_CATALOG_FILES to point - to the file whenever you use any programs from OpenSP later on. (This - method is also an option if OpenSP is already installed and you want to - install the rest of the toolchain locally.) - - - - - Installing the <productname>DocBook</productname> <acronym>DTD</acronym> Kit - - - - - Obtain the - DocBook V4.2 distribution. - - - - - - Create the directory - /usr/local/share/sgml/docbook-4.2 and change - to it. (The exact location is irrelevant, but this one is - reasonable within the layout we are following here.) - -$ mkdir /usr/local/share/sgml/docbook-4.2 -$ cd /usr/local/share/sgml/docbook-4.2 - - - - - - - Unpack the archive: - -$ unzip -a ...../docbook-4.2.zip - - (The archive will unpack its files into the current directory.) - - - - - - Edit the file - /usr/local/share/sgml/catalog (or whatever - you told jade during installation) and put a line like this - into it: + If you use MacPorts, the following will get you set up: -CATALOG "docbook-4.2/docbook.cat" +sudo port install docbook-xml-4.2 docbook-xsl fop - - - - - - Download the - ISO 8879 character entities archive, unpack it, and put the - files in the same directory you put the DocBook files in: - -$ cd /usr/local/share/sgml/docbook-4.2 -$ unzip ...../ISOEnts.zip - - - - - - - Run the following command in the directory with the DocBook and ISO files: + If you use Homebrew, use this: -perl -pi -e 's/iso-(.*).gml/ISO\1/g' docbook.cat +brew install docbook docbook-xsl fop - (This fixes a mixup between the names used in the DocBook - catalog file and the actual names of the ISO character entity - files.) - - - - + @@ -400,26 +239,14 @@ perl -pi -e 's/iso-(.*).gml/ISO\1/g' docbook.cat Check the output near the end of the run, it should look something like this: - -checking for onsgmls... onsgmls -checking for DocBook V4.2... yes -checking for dbtoepub... dbtoepub checking for xmllint... xmllint +checking for DocBook XML V4.2... yes +checking for dbtoepub... dbtoepub checking for xsltproc... xsltproc -checking for osx... osx checking for fop... fop - - If neither onsgmls nor - nsgmls were found then some of the following tests - will be skipped. nsgmls is part of the OpenSP - package. You can pass the environment variable - NSGMLS to configure to point - to the programs if they are not found automatically. If - DocBook V4.2 was not found then you did not install - the DocBook DTD kit in a place where OpenSP can find it, or you have - not set up the catalog files correctly. See the installation hints - above. + If xmllint was not found then some of the following + tests will be skipped. @@ -464,9 +291,7 @@ checking for fop... fop We use the DocBook XSL stylesheets to convert DocBook refentry pages to *roff output suitable for man - pages. The man pages are also distributed as a tar archive, - similar to the HTML version. To create the man - pages, use the commands: + pages. To create the man pages, use the command: doc/src/sgml$ make man @@ -536,7 +361,7 @@ ADDITIONAL_FLAGS='-Xmx1000m' The installation instructions are also distributed as plain text, in case they are needed in a situation where better reading tools are not available. The INSTALL file - corresponds to , with some minor + corresponds to , with some minor changes to account for the different context. To recreate the file, change to the directory doc/src/sgml and enter make INSTALL. diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml index 1bdcf64629..1f3ea6aa6e 100644 --- a/doc/src/sgml/earthdistance.sgml +++ b/doc/src/sgml/earthdistance.sgml @@ -56,7 +56,7 @@ The provided functions are shown - in . + in . @@ -150,7 +150,7 @@ A single operator is provided, shown - in . + in .
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml index bc3d080774..d1872c1a5c 100644 --- a/doc/src/sgml/ecpg.sgml +++ b/doc/src/sgml/ecpg.sgml @@ -31,7 +31,7 @@ specially marked sections. To build the program, the source code (*.pgc) is first passed through the embedded SQL preprocessor, which converts it to an ordinary C program (*.c), and afterwards it can be processed by a C - compiler. (For details about the compiling and linking see ). + compiler. (For details about the compiling and linking see ). Converted ECPG applications call functions in the libpq library through the embedded SQL library (ecpglib), and communicate with the PostgreSQL server using the normal frontend-backend protocol. @@ -397,9 +397,9 @@ EXEC SQL COMMIT; row can also be executed using EXEC SQL directly. To handle result sets with multiple rows, an application has to use a cursor; - see below. (As a special case, an + see below. (As a special case, an application can fetch multiple rows at once into an array host - variable; see .) + variable; see .) @@ -422,7 +422,7 @@ EXEC SQL SHOW search_path INTO :var; :something are host variables, that is, they refer to variables in the C program. They are explained in . + linkend="ecpg-variables"/>. @@ -452,8 +452,8 @@ EXEC SQL COMMIT; For more details about declaration of the cursor, - see , and - see for FETCH command + see , and + see for FETCH command details. @@ -477,7 +477,7 @@ EXEC SQL COMMIT; interface also supports autocommit of transactions (similar to psql's default behavior) via the command-line option to ecpg (see ) or via the EXEC SQL SET AUTOCOMMIT TO + linkend="app-ecpg"/>) or via the EXEC SQL SET AUTOCOMMIT TO ON statement. In autocommit mode, each command is automatically committed unless it is inside an explicit transaction block. This mode can be explicitly turned off using EXEC @@ -617,8 +617,8 @@ EXEC SQL DEALLOCATE PREPARE name; For more details about PREPARE, - see . Also - see for more details about using + see . Also + see for more details about using placeholders and input parameters. @@ -628,7 +628,7 @@ EXEC SQL DEALLOCATE PREPARE name; Using Host Variables - In you saw how you can execute SQL + In you saw how you can execute SQL statements from an embedded SQL program. Some of those statements only used fixed values and did not provide a way to insert user-supplied values into statements or have the program process @@ -646,7 +646,7 @@ EXEC SQL DEALLOCATE PREPARE name; Another way to exchange values between PostgreSQL backends and ECPG applications is the use of SQL descriptors, described - in . + in . @@ -812,11 +812,11 @@ do directly. Other PostgreSQL data types, such as timestamp and numeric can only be accessed through special library functions; see - . + . - shows which PostgreSQL + shows which PostgreSQL data types correspond to which C data types. When you wish to send or receive a value of a given PostgreSQL data type, you should declare a C variable of the corresponding C data type in @@ -851,12 +851,12 @@ do decimal - decimalThis type can only be accessed through special library functions; see . + decimalThis type can only be accessed through special library functions; see . numeric - numeric + numeric @@ -901,17 +901,17 @@ do timestamp - timestamp + timestamp interval - interval + interval date - date + date @@ -1002,7 +1002,7 @@ struct varchar_var { int len; char arr[180]; } var; structure. Applications deal with these types by declaring host variables in special types and accessing them using functions in the pgtypes library. The pgtypes library, described in detail - in contains basic functions to deal + in contains basic functions to deal with those types, such that you do not need to send a query to the SQL server just for adding an interval to a time stamp for example. @@ -1011,7 +1011,7 @@ struct varchar_var { int len; char arr[180]; } var; The follow subsections describe these special data types. For more details about pgtypes library functions, - see . + see . @@ -1062,7 +1062,7 @@ ts = 2010-06-27 18:03:56.949343 program has to include pgtypes_date.h, declare a host variable as the date type and convert a DATE value into a text form using PGTYPESdate_to_asc() function. For more details about the - pgtypes library functions, see . + pgtypes library functions, see . @@ -1117,7 +1117,7 @@ EXEC SQL END DECLARE SECTION; allocating some memory space on the heap, and accessing the variable using the pgtypes library functions. For more details about the pgtypes library functions, - see . + see . @@ -1193,7 +1193,7 @@ EXEC SQL END DECLARE SECTION; There are two use cases for arrays as host variables. The first is a way to store some text string in char[] or VARCHAR[], as - explained in . The second use case is to + explained in . The second use case is to retrieve multiple rows from a query result without using a cursor. Without an array, to process a query result consisting of multiple rows, it is required to use a cursor and @@ -1378,7 +1378,7 @@ EXEC SQL TYPE serial_t IS long; You can declare pointers to the most common types. Note however that you cannot use pointers as target variables of queries - without auto-allocation. See + without auto-allocation. See for more information on auto-allocation. @@ -1520,7 +1520,7 @@ while (1) Another workaround is to store arrays in their external string representation in host variables of type char[] or VARCHAR[]. For more details about this - representation, see . Note that + representation, see . Note that this means that the array cannot be accessed naturally as an array in the host program (without further processing that parses the text representation). @@ -1578,7 +1578,7 @@ EXEC SQL CLOSE cur1; To enhance this example, the host variables to store values in the FETCH command can be gathered into one structure. For more details about the host variable in the - structure form, see . + structure form, see . To switch to the structure, the example can be modified as below. The two host variables, intval and textval, become members of @@ -1659,12 +1659,12 @@ while (1) Here is an example using the data type complex from - the example in . The external string + the example in . The external string representation of that type is (%lf,%lf), which is defined in the functions complex_in() and complex_out() functions - in . The following example inserts the + in . The following example inserts the complex type values (1,1) and (3,3) into the columns a and b, and select @@ -1875,7 +1875,7 @@ EXEC SQL EXECUTE mystmt INTO :v1, :v2, :v3 USING 37; If a query is expected to return more than one result row, a cursor should be used, as in the following example. - (See for more details about the + (See for more details about the cursor.) EXEC SQL BEGIN DECLARE SECTION; @@ -1941,7 +1941,7 @@ free(out); The numeric Type The numeric type offers to do calculations with arbitrary precision. See - for the equivalent type in the + for the equivalent type in the PostgreSQL server. Because of the arbitrary precision this variable needs to be able to expand and shrink dynamically. That's why you can only create numeric variables on the heap, by means of the @@ -2264,7 +2264,7 @@ int PGTYPESnumeric_from_decimal(decimal *src, numeric *dst); The date Type The date type in C enables your programs to deal with data of the SQL type - date. See for the equivalent type in the + date. See for the equivalent type in the PostgreSQL server. @@ -2303,7 +2303,7 @@ date PGTYPESdate_from_asc(char *str, char **endptr); currently no variable to change that within ECPG. - shows the allowed input formats. + shows the allowed input formats.
Valid Input Formats for <function>PGTYPESdate_from_asc</function> @@ -2558,7 +2558,7 @@ int PGTYPESdate_fmt_asc(date dDate, char *fmtstring, char *outbuf); All other characters are copied 1:1 to the output string. - indicates a few possible formats. This will give + indicates a few possible formats. This will give you an idea of how to use this function. All output lines are based on the same date: November 23, 1959. @@ -2649,7 +2649,7 @@ int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str); day. - indicates a few possible formats. This will give + indicates a few possible formats. This will give you an idea of how to use this function.
@@ -2741,7 +2741,7 @@ int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str); The timestamp Type The timestamp type in C enables your programs to deal with data of the SQL - type timestamp. See for the equivalent + type timestamp. See for the equivalent type in the PostgreSQL server. @@ -2766,7 +2766,7 @@ timestamp PGTYPEStimestamp_from_asc(char *str, char **endptr); The function returns the parsed timestamp on success. On error, PGTYPESInvalidTimestamp is returned and errno is - set to PGTYPES_TS_BAD_TIMESTAMP. See for important notes on this value. + set to PGTYPES_TS_BAD_TIMESTAMP. See for important notes on this value. In general, the input string can contain any combination of an allowed @@ -2777,7 +2777,7 @@ timestamp PGTYPEStimestamp_from_asc(char *str, char **endptr); specifiers are silently discarded. - contains a few examples for input strings. + contains a few examples for input strings.
Valid Input Formats for <function>PGTYPEStimestamp_from_asc</function> @@ -3217,7 +3217,7 @@ int PGTYPEStimestamp_defmt_asc(char *str, char *fmt, timestamp *d); This is the reverse function to . See the documentation there in + linkend="pgtypestimestampfmtasc"/>. See the documentation there in order to find out about the possible formatting mask entries. @@ -3270,7 +3270,7 @@ int PGTYPEStimestamp_sub_interval(timestamp *tin, interval *span, timestamp *tou The interval Type The interval type in C enables your programs to deal with data of the SQL - type interval. See for the equivalent + type interval. See for the equivalent type in the PostgreSQL server. @@ -3364,7 +3364,7 @@ int PGTYPESinterval_copy(interval *intvlsrc, interval *intvldest); PGTYPESdecimal_free). There are a lot of other functions that deal with the decimal type in the Informix compatibility mode described in . + linkend="ecpg-informix-compat"/>. The following functions can be used to work with the decimal type and are @@ -3632,7 +3632,7 @@ EXEC SQL DESCRIBE stmt1 INTO SQL DESCRIPTOR mydesc; so using DESCRIPTOR and SQL DESCRIPTOR produced named SQL Descriptor Areas. Now it is mandatory, omitting the SQL keyword produces SQLDA Descriptor Areas, - see . + see . @@ -3853,7 +3853,7 @@ EXEC SQL FETCH 3 FROM mycursor INTO DESCRIPTOR mysqlda; Note that the SQL keyword is omitted. The paragraphs about the use cases of the INTO and USING - keywords in also apply here with an addition. + keywords in also apply here with an addition. In a DESCRIBE statement the DESCRIPTOR keyword can be completely omitted if the INTO keyword is used: @@ -4038,7 +4038,7 @@ typedef struct sqlvar_struct sqlvar_t; Points to the data. The format of the data is described - in . + in . @@ -4447,7 +4447,7 @@ main(void) The whole program is shown - in . + in . @@ -5016,7 +5016,7 @@ sqlstate: 42P01 SQLSTATE error codes; therefore a high degree of consistency can be achieved by using this error code scheme throughout all applications. For further information see - . + . @@ -5037,7 +5037,7 @@ sqlstate: 42P01 SQLSTATE is also listed. There is, however, no one-to-one or one-to-many mapping between the two schemes (indeed it is many-to-many), so you should consult the global - SQLSTATE listing in + SQLSTATE listing in in each case. @@ -5767,7 +5767,7 @@ ECPG = ecpg The complete syntax of the ecpg command is - detailed in . + detailed in . @@ -5835,7 +5835,7 @@ ECPG = ecpg ECPGtransactionStatus(const char *connection_name) returns the current transaction status of the given connection identified by connection_name. - See and libpq's PQtransactionStatus() for details about the returned status codes. + See and libpq's PQtransactionStatus() for details about the returned status codes. @@ -5867,8 +5867,8 @@ ECPG = ecpg For more details about the ECPGget_PGconn(), see - . For information about the large - object function interface, see . + . For information about the large + object function interface, see . @@ -5878,7 +5878,7 @@ ECPG = ecpg - shows an example program that + shows an example program that illustrates how to create, write, and read a large object in an ECPG application. @@ -5997,7 +5997,7 @@ main(void) A safe way to use the embedded SQL code in a C++ application is hiding the ECPG calls in a C module, which the C++ application code calls into to access the database, and linking that together with - the rest of the C++ code. See + the rest of the C++ code. See about that. @@ -6252,7 +6252,7 @@ c++ test_cpp.o test_mod.o -lecpg -o test_cpp This section describes all SQL commands that are specific to embedded SQL. Also refer to the SQL commands listed - in , which can also be used in + in , which can also be used in embedded SQL, unless stated otherwise. @@ -6320,9 +6320,9 @@ EXEC SQL ALLOCATE DESCRIPTOR mydesc; See Also - - - + + + @@ -6539,8 +6539,8 @@ EXEC SQL END DECLARE SECTION; See Also - - + + @@ -6604,9 +6604,9 @@ EXEC SQL DEALLOCATE DESCRIPTOR mydesc; See Also - - - + + + @@ -6668,8 +6668,8 @@ DECLARE cursor_name [ BINARY ] [ IN query - A or - command which will provide the + A or + command which will provide the rows to be returned by the cursor. @@ -6678,7 +6678,7 @@ DECLARE cursor_name [ BINARY ] [ IN For the meaning of the cursor options, - see . + see . @@ -6715,9 +6715,9 @@ EXEC SQL DECLARE cur1 CURSOR FOR stmt1; See Also - - - + + + @@ -6805,8 +6805,8 @@ EXEC SQL DEALLOCATE DESCRIPTOR mydesc; See Also - - + + @@ -6915,8 +6915,8 @@ main(void) See Also - - + + @@ -7056,7 +7056,7 @@ GET DESCRIPTOR descriptor_name VALU A token identifying which item of information about a column - to retrieve. See for + to retrieve. See for a list of supported items. @@ -7164,8 +7164,8 @@ d_data = testdb See Also - - + + @@ -7258,8 +7258,8 @@ EXEC SQL OPEN :curname1; See Also - - + + @@ -7282,8 +7282,8 @@ PREPARE name FROM PREPARE prepares a statement dynamically specified as a string for execution. This is different from the - direct SQL statement , which can also - be used in embedded programs. The + direct SQL statement , which can also + be used in embedded programs. The command is used to execute either kind of prepared statement. @@ -7338,7 +7338,7 @@ EXEC SQL EXECUTE foo USING SQL DESCRIPTOR indesc INTO SQL DESCRIPTOR outdesc; See Also - + @@ -7445,8 +7445,8 @@ EXEC SQL SET CONNECTION = con1; See Also - - + + @@ -7520,7 +7520,7 @@ SET DESCRIPTOR descriptor_name VALU A token identifying which item of information to set in the - descriptor. See for a + descriptor. See for a list of supported items. @@ -7561,8 +7561,8 @@ EXEC SQL SET DESCRIPTOR indesc VALUE 2 INDICATOR = :val2null, DATA = :val2; See Also - - + + @@ -7796,7 +7796,7 @@ WHENEVER { NOT FOUND | SQLERROR | SQLWARNING } ac Parameters - See for a description of the + See for a description of the parameters. @@ -7979,7 +7979,7 @@ EXEC SQL CLOSE DATABASE; Informix-compatible SQLDA Descriptor Areas Informix-compatible mode supports a different structure than the one described in - . See below: + . See below: struct sqlvar_compat { @@ -8653,7 +8653,7 @@ void rtoday(date *d); that it sets to the current date. - Internally this function uses the + Internally this function uses the function. @@ -8678,7 +8678,7 @@ int rjulmdy(date d, short mdy[3]); The function always returns 0 at the moment. - Internally the function uses the + Internally the function uses the function. @@ -8748,7 +8748,7 @@ int rdefmtdate(date *d, char *fmt, char *str); Internally this function is implemented to use the function. See the reference there for a + linkend="pgtypesdatedefmtasc"/> function. See the reference there for a table of example input. @@ -8771,7 +8771,7 @@ int rfmtdate(date d, char *fmt, char *str); On success, 0 is returned and a negative value if an error occurred. - Internally this function uses the + Internally this function uses the function, see the reference there for examples. @@ -8795,7 +8795,7 @@ int rmdyjul(short mdy[3], date *d); Internally the function is implemented to use the function . + linkend="pgtypesdatemdyjul"/>. @@ -8851,7 +8851,7 @@ int rdayofweek(date d); Internally the function is implemented to use the function . + linkend="pgtypesdatedayofweek"/>. @@ -8889,7 +8889,7 @@ int dtcvasc(char *str, timestamp *ts); Internally this function uses the function. See the reference there + linkend="pgtypestimestampfromasc"/> function. See the reference there for a table with example inputs. @@ -8911,7 +8911,7 @@ dtcvfmtasc(char *inbuf, char *fmtstr, timestamp *dtvalue) This function is implemented by means of the function. See the documentation + linkend="pgtypestimestampdefmtasc"/> function. See the documentation there for a list of format specifiers that can be used. @@ -8983,7 +8983,7 @@ int dttofmtasc(timestamp *ts, char *output, int str_len, char *fmtstr); Internally, this function uses the function. See the reference there for + linkend="pgtypestimestampfmtasc"/> function. See the reference there for information on what format mask specifiers can be used. @@ -9289,7 +9289,7 @@ int risnull(int t, char *ptr); The function receives the type of the variable to test (t) as well a pointer to this variable (ptr). Note that the latter needs to be cast to a char*. See the function for a list of possible variable types. + linkend="rsetnull"/> for a list of possible variable types. Here is an example of how to use this function: diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml index 61ad3e00e9..6fd16f643e 100644 --- a/doc/src/sgml/errcodes.sgml +++ b/doc/src/sgml/errcodes.sgml @@ -32,7 +32,7 @@ - lists all the error codes defined in + lists all the error codes defined in PostgreSQL &version;. (Some are not actually used at present, but are defined by the SQL standard.) The error classes are also shown. For each error class there is a @@ -66,9 +66,9 @@ <productname>PostgreSQL</productname> Error Codes - - - + + + diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml index c16ff338a3..0a8860490a 100644 --- a/doc/src/sgml/event-trigger.sgml +++ b/doc/src/sgml/event-trigger.sgml @@ -8,7 +8,7 @@ - To supplement the trigger mechanism discussed in , + To supplement the trigger mechanism discussed in , PostgreSQL also provides event triggers. Unlike regular triggers, which are attached to a single table and capture only DML events, event triggers are global to a particular database and are capable of @@ -57,7 +57,7 @@ operations that took place, use the set-returning function pg_event_trigger_ddl_commands() from the ddl_command_end event trigger code (see - ). Note that the trigger fires + ). Note that the trigger fires after the actions have taken place (but before the transaction commits), and thus the system catalogs can be read as already changed. @@ -68,7 +68,7 @@ database objects. To list the objects that have been dropped, use the set-returning function pg_event_trigger_dropped_objects() from the sql_drop event trigger code (see - ). Note that + ). Note that the trigger is executed after the objects have been deleted from the system catalogs, so it's not possible to look them up anymore. @@ -96,11 +96,11 @@ For a complete list of commands supported by the event trigger mechanism, - see . + see . - Event triggers are created using the command . + Event triggers are created using the command . In order to create an event trigger, you must first create a function with the special return type event_trigger. This function need not (and may not) return a value; the return type serves merely as @@ -125,7 +125,7 @@ Event Trigger Firing Matrix - lists all commands + lists all commands for which event triggers are supported. @@ -953,7 +953,7 @@ typedef struct EventTriggerData Describes the event for which the function is called, one of "ddl_command_start", "ddl_command_end", "sql_drop", "table_rewrite". - See for the meaning of these + See for the meaning of these events. @@ -1003,7 +1003,7 @@ typedef struct EventTriggerData The event trigger definition associated the function with the ddl_command_start event. The effect is that all DDL commands (with the exceptions mentioned - in ) are prevented from running. + in ) are prevented from running. @@ -1037,7 +1037,7 @@ noddl(PG_FUNCTION_ARGS) - After you have compiled the source code (see ), + After you have compiled the source code (see ), declare the function and the triggers: CREATE FUNCTION noddl() RETURNS event_trigger diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index e819010875..5f1bb70e97 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -15,32 +15,32 @@ - functions (starting in ) + functions (starting in ) - aggregates (starting in ) + aggregates (starting in ) - data types (starting in ) + data types (starting in ) - operators (starting in ) + operators (starting in ) - operator classes for indexes (starting in ) + operator classes for indexes (starting in ) - packages of related objects (starting in ) + packages of related objects (starting in ) @@ -132,14 +132,14 @@ types through functions provided by the user and only understands the behavior of such types to the extent that the user describes them. - The built-in base types are described in . + The built-in base types are described in . Enumerated (enum) types can be considered as a subcategory of base types. The main difference is that they can be created using just SQL commands, without any low-level programming. - Refer to for more information. + Refer to for more information. @@ -157,25 +157,25 @@ type is automatically created for each base type, composite type, range type, and domain type. But there are no arrays of arrays. So far as the type system is concerned, multi-dimensional arrays are the same as - one-dimensional arrays. Refer to for more + one-dimensional arrays. Refer to for more information. Composite types, or row types, are created whenever the user creates a table. It is also possible to use to + linkend="sql-createtype"/> to define a stand-alone composite type with no associated table. A composite type is simply a list of types with associated field names. A value of a composite type is a row or - record of field values. Refer to + record of field values. Refer to for more information. A range type can hold two values of the same type, which are the lower and upper bounds of the range. Range types are user-created, although - a few built-in ones exist. Refer to + a few built-in ones exist. Refer to for more information. @@ -188,8 +188,8 @@ is interchangeable with its underlying type. However, a domain can have constraints that restrict its valid values to a subset of what the underlying type would allow. Domains are created using - the SQL command . - Refer to for more information. + the SQL command . + Refer to for more information. @@ -202,7 +202,7 @@ container types, but they can be used to declare the argument and result types of functions. This provides a mechanism within the type system to identify special classes of functions. lists the existing + linkend="datatype-pseudotypes-table"/> lists the existing pseudo-types. @@ -300,7 +300,7 @@ A variadic function (one taking a variable number of arguments, as in - ) can be + ) can be polymorphic: this is accomplished by declaring its last parameter as VARIADIC anyarray. For purposes of argument matching and determining the actual result type, such a function behaves @@ -337,7 +337,7 @@ of the extension itself. If the extension includes C code, there will typically also be a shared library file into which the C code has been built. Once you have these files, a simple - command loads the objects into + command loads the objects into your database. @@ -346,7 +346,7 @@ SQL script to load a bunch of loose objects into your database, is that PostgreSQL will then understand that the objects of the extension go together. You can - drop all the objects with a single + drop all the objects with a single command (no need to maintain a separate uninstall script). Even more useful, pg_dump knows that it should not dump the individual member objects of the extension — it will @@ -366,7 +366,7 @@ by pg_dump. Such a change is usually only sensible if you concurrently make the same change in the extension's script file. (But there are special provisions for tables containing configuration - data; see .) + data; see .) In production situations, it's generally better to create an extension update script to perform changes to extension member objects. @@ -405,7 +405,7 @@ The kinds of SQL objects that can be members of an extension are shown in - the description of . Notably, objects + the description of . Notably, objects that are database-cluster-wide, such as databases, roles, and tablespaces, cannot be extension members since an extension is only known within one database. (Although an extension script is not prohibited from creating @@ -438,7 +438,7 @@ - The command relies on a control + The command relies on a control file for each extension, which must be named the same as the extension with a suffix of .control, and must be placed in the installation's SHAREDIR/extension directory. There @@ -499,7 +499,7 @@ when initially creating an extension, but not during extension updates (since that might override user-added comments). Alternatively, the extension's comment can be set by writing - a command in the script file. + a command in the script file. @@ -562,7 +562,7 @@ its contained objects into a different schema after initial creation of the extension. The default is false, i.e. the extension is not relocatable. - See for more information. + See for more information. @@ -576,7 +576,7 @@ and not any other. The schema parameter is consulted only when initially creating an extension, not during extension updates. - See for more information. + See for more information. @@ -609,7 +609,7 @@ comments) by the extension mechanism. This provision is commonly used to throw an error if the script file is fed to psql rather than being loaded via CREATE EXTENSION (see example - script in ). + script in ). Without that, users might accidentally load the extension's contents as loose objects rather than as an extension, a state of affairs that's a bit tedious to recover from. @@ -687,7 +687,7 @@ In all cases, the script file will be executed with - initially set to point to the target + initially set to point to the target schema; that is, CREATE EXTENSION does the equivalent of this: @@ -1031,14 +1031,14 @@ include $(PGXS) This makefile relies on PGXS, which is described - in . The command make install + in . The command make install will install the control and script files into the correct directory as reported by pg_config. Once the files are installed, use the - command to load the objects into + command to load the objects into any particular database. diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml index 03fd18aeb8..89147817ec 100644 --- a/doc/src/sgml/external-projects.sgml +++ b/doc/src/sgml/external-projects.sgml @@ -40,7 +40,7 @@ All other language interfaces are external projects and are distributed - separately. includes a list of + separately. includes a list of some of these projects. Note that some of these packages might not be released under the same license as PostgreSQL. For more information on each language interface, including licensing terms, refer to @@ -170,7 +170,7 @@ In addition, there are a number of procedural languages that are developed and maintained outside the core PostgreSQL - distribution. lists some of these + distribution. lists some of these packages. Note that some of these projects might not be released under the same license as PostgreSQL. For more information on each procedural language, including licensing information, refer to its website @@ -238,7 +238,7 @@ just like features that are built in. The contrib/ directory shipped with the source code contains several extensions, which are described in - . Other extensions are developed + . Other extensions are developed independently, like PostGIS. Even PostgreSQL replication solutions can be developed diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml index 4250a03f16..a2f8137713 100644 --- a/doc/src/sgml/fdwhandler.sgml +++ b/doc/src/sgml/fdwhandler.sgml @@ -22,7 +22,7 @@ The foreign data wrappers included in the standard distribution are good references when trying to write your own. Look into the contrib subdirectory of the source tree. - The reference page also has + The reference page also has some useful details. @@ -43,7 +43,7 @@ a validator function. Both functions must be written in a compiled language such as C, using the version-1 interface. For details on C language calling conventions and dynamic loading, - see . + see . @@ -57,7 +57,7 @@ returning the special pseudo-type fdw_handler. The callback functions are plain C functions and are not visible or callable at the SQL level. The callback functions are described in - . + . @@ -126,7 +126,7 @@ GetForeignRelSize(PlannerInfo *root, - See for additional information. + See for additional information. @@ -157,7 +157,7 @@ GetForeignPaths(PlannerInfo *root, - See for additional information. + See for additional information. @@ -193,7 +193,7 @@ GetForeignPlan(PlannerInfo *root, - See for additional information. + See for additional information. @@ -341,7 +341,7 @@ GetForeignJoinPaths(PlannerInfo *root, - See for additional information. + See for additional information. @@ -388,7 +388,7 @@ GetForeignUpperPaths(PlannerInfo *root, - See for additional information. + See for additional information. @@ -477,7 +477,7 @@ PlanForeignModify(PlannerInfo *root, - See for additional information. + See for additional information. @@ -759,7 +759,7 @@ PlanDirectModify(PlannerInfo *root, - See for additional information. + See for additional information. @@ -872,7 +872,7 @@ EndDirectModify(ForeignScanState *node); If an FDW wishes to support late row locking (as described - in ), it must provide the following + in ), it must provide the following callback functions: @@ -905,7 +905,7 @@ GetForeignRowMarkType(RangeTblEntry *rte, - See for more information. + See for more information. @@ -964,7 +964,7 @@ RefetchForeignRow(EState *estate, - See for more information. + See for more information. @@ -1093,7 +1093,7 @@ AnalyzeForeignTable(Relation relation, BlockNumber *totalpages); - This function is called when is executed on + This function is called when is executed on a foreign table. If the FDW can collect statistics for this foreign table, it should return true, and provide a pointer to a function that will collect sample rows from the table in @@ -1139,10 +1139,10 @@ ImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid); Obtain a list of foreign table creation commands. This function is - called when executing , and is + called when executing , and is passed the parse tree for that statement, as well as the OID of the foreign server to use. It should return a list of C strings, each of - which must contain a command. + which must contain a command. These strings will be parsed and executed by the core server. @@ -1605,7 +1605,7 @@ GetForeignServerByName(const char *name, bool missing_ok); PlanForeignModify and the other callbacks described in - are designed around the assumption + are designed around the assumption that the foreign relation will be scanned in the usual way and then individual row updates will be driven by a local ModifyTable plan node. This approach is necessary for the general case where an @@ -1616,7 +1616,7 @@ GetForeignServerByName(const char *name, bool missing_ok); compete against the ModifyTable approach. This approach could also be used to implement remote SELECT FOR UPDATE, rather than using the row locking callbacks described in - . Keep in mind that a path + . Keep in mind that a path inserted into UPPERREL_FINAL is responsible for implementing all behavior of the query. @@ -1676,7 +1676,7 @@ GetForeignServerByName(const char *name, bool missing_ok); By default, PostgreSQL ignores locking considerations when interfacing to FDWs, but an FDW can perform early locking without any explicit support from the core code. The API functions described - in , which were added + in , which were added in PostgreSQL 9.5, allow an FDW to use late locking if it wishes. @@ -1720,7 +1720,7 @@ GetForeignServerByName(const char *name, bool missing_ok); again perform early locking by fetching tuples with the equivalent of SELECT FOR UPDATE/SHARE. To perform late locking instead, provide the callback functions defined - in . + in . In GetForeignRowMarkType, select rowmark option ROW_MARK_EXCLUSIVE, ROW_MARK_NOKEYEXCLUSIVE, ROW_MARK_SHARE, or ROW_MARK_KEYSHARE depending diff --git a/doc/src/sgml/file-fdw.sgml b/doc/src/sgml/file-fdw.sgml index 88aefb8ef0..e2598a07da 100644 --- a/doc/src/sgml/file-fdw.sgml +++ b/doc/src/sgml/file-fdw.sgml @@ -13,7 +13,7 @@ files in the server's file system, or to execute programs on the server and read their output. The data file or program output must be in a format that can be read by COPY FROM; - see for details. + see for details. Access to data files is currently read-only. diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 698daf69ea..4dd9d029e6 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -15,7 +15,7 @@ PostgreSQL provides a large number of functions and operators for the built-in data types. Users can also define their own functions and operators, as described in - . The + . The psql commands \df and \do can be used to list all available functions and operators, respectively. @@ -176,7 +176,7 @@ The operators AND and OR are commutative, that is, you can switch the left and right operand without affecting the result. But see for more information about the + linkend="syntax-express-eval"/> for more information about the order of evaluation of subexpressions. @@ -191,7 +191,7 @@ The usual comparison operators are available, as shown in . + linkend="functions-comparison-op-table"/>.
@@ -258,7 +258,7 @@ There are also some comparison predicates, as shown in . These behave much like + linkend="functions-comparison-pred-table"/>. These behave much like operators, but have special syntax mandated by the SQL standard. @@ -455,7 +455,7 @@ returns true if expression evaluates to the null value. It is highly recommended that these applications be modified to comply with the SQL standard. However, if that - cannot be done the + cannot be done the configuration variable is available. If it is enabled, PostgreSQL will convert x = NULL clauses to x IS NULL. @@ -536,7 +536,7 @@ Some comparison-related functions are also available, as shown in . + linkend="functions-comparison-func-table"/>.
@@ -591,7 +591,7 @@ - shows the available mathematical operators. + shows the available mathematical operators.
@@ -736,11 +736,11 @@ the others are available for all numeric data types. The bitwise operators are also available for the bit string types bit and bit varying, as - shown in . + shown in . - shows the available + shows the available mathematical functions. In the table, dp indicates double precision. Many of these functions are provided in multiple forms with different argument types. @@ -1093,7 +1093,7 @@
- shows functions for + shows functions for generating random numbers. @@ -1139,11 +1139,11 @@ The characteristics of the values returned by random() depend on the system implementation. It is not suitable for cryptographic - applications; see module for an alternative. + applications; see module for an alternative. - Finally, shows the + Finally, shows the available trigonometric functions. All trigonometric functions take arguments and return values of type double precision. Each of the trigonometric functions comes in @@ -1328,10 +1328,10 @@ SQL defines some string functions that use key words, rather than commas, to separate arguments. Details are in - . + . PostgreSQL also provides versions of these functions that use the regular function invocation syntax - (see ). + (see ). @@ -1343,7 +1343,7 @@ caused surprising behaviors. However, the string concatenation operator (||) still accepts non-string input, so long as at least one input is of a string type, as shown in . For other cases, insert an explicit + linkend="functions-string-sql"/>. For other cases, insert an explicit coercion to text if you need to duplicate the previous behavior. @@ -1504,7 +1504,7 @@ text Extract substring matching POSIX regular expression. See - for more information on pattern + for more information on pattern matching. substring('Thomas' from '...$') @@ -1516,7 +1516,7 @@ text Extract substring matching SQL regular expression. - See for more information on + See for more information on pattern matching. substring('Thomas' from '%#"o_a#"_' for '#') @@ -1577,8 +1577,8 @@ Additional string manipulation functions are available and are - listed in . Some of them are used internally to implement the - SQL-standard string functions listed in . + listed in . Some of them are used internally to implement the + SQL-standard string functions listed in . @@ -1702,7 +1702,7 @@ string must be valid in this encoding. Conversions can be defined by CREATE CONVERSION. Also there are some predefined conversions. See for available conversions. + linkend="conversion-names"/> for available conversions. convert('text_in_utf8', 'UTF8', 'LATIN1') text_in_utf8 represented in Latin-1 @@ -1792,7 +1792,7 @@ Format arguments according to a format string. This function is similar to the C function sprintf. - See . + See . format('Hello %s, %1$s', 'World') Hello World, World @@ -1968,7 +1968,7 @@ Quotes are added only if necessary (i.e., if the string contains non-identifier characters or would be case-folded). Embedded quotes are properly doubled. - See also . + See also . quote_ident('Foo bar') "Foo bar" @@ -1989,7 +1989,7 @@ Note that quote_literal returns null on null input; if the argument might be null, quote_nullable is often more suitable. - See also . + See also . quote_literal(E'O\'Reilly') 'O''Reilly' @@ -2019,7 +2019,7 @@ in an SQL statement string; or, if the argument is null, return NULL. Embedded single-quotes and backslashes are properly doubled. - See also . + See also . quote_nullable(NULL) NULL @@ -2048,7 +2048,7 @@ Return captured substring(s) resulting from the first match of a POSIX regular expression to the string. See - for more information. + for more information. regexp_match('foobarbequebaz', '(bar)(beque)') {bar,beque} @@ -2065,7 +2065,7 @@ Return captured substring(s) resulting from matching a POSIX regular expression to the string. See - for more information. + for more information. regexp_matches('foobarbequebaz', 'ba.', 'g') {bar}{baz} (2 rows) @@ -2081,7 +2081,7 @@ text Replace substring(s) matching a POSIX regular expression. See - for more information. + for more information. regexp_replace('Thomas', '.[mN]a.', 'M') ThM @@ -2097,7 +2097,7 @@ text[] Split string using a POSIX regular expression as - the delimiter. See for more + the delimiter. See for more information. regexp_split_to_array('hello world', E'\\s+') @@ -2114,7 +2114,7 @@ setof text Split string using a POSIX regular expression as - the delimiter. See for more + the delimiter. See for more information. regexp_split_to_table('hello world', E'\\s+') @@ -2339,7 +2339,7 @@ format functions are variadic, so it is possible to pass the values to be concatenated or formatted as an array marked with the VARIADIC keyword (see ). The array's elements are + linkend="xfunc-sql-variadic-functions"/>). The array's elements are treated as if they were separate ordinary arguments to the function. If the variadic array argument is NULL, concat and concat_ws return NULL, but @@ -2348,7 +2348,7 @@ See also the aggregate function string_agg in - . + .
@@ -3351,7 +3351,7 @@ SELECT format('Testing %3$s, %2$s, %s', 'one', 'two', 'three'); The %I and %L format specifiers are particularly useful for safely constructing dynamic SQL statements. See - . + . @@ -3375,10 +3375,10 @@ SELECT format('Testing %3$s, %2$s, %s', 'one', 'two', 'three'); SQL defines some string functions that use key words, rather than commas, to separate arguments. Details are in - . + . PostgreSQL also provides versions of these functions that use the regular function invocation syntax - (see ). + (see ). @@ -3498,10 +3498,10 @@ SELECT format('Testing %3$s, %2$s, %s', 'one', 'two', 'three'); Additional binary string manipulation functions are available and - are listed in . Some + are listed in . Some of them are used internally to implement the SQL-standard string functions listed in . + linkend="functions-binarystring-sql"/>.
@@ -3688,8 +3688,8 @@ SELECT format('Testing %3$s, %2$s, %s', 'one', 'two', 'three'); See also the aggregate function string_agg in - and the large object functions - in . + and the large object functions + in . @@ -3707,7 +3707,7 @@ SELECT format('Testing %3$s, %2$s, %s', 'one', 'two', 'three'); manipulating bit strings, that is values of the types bit and bit varying. Aside from the usual comparison operators, the operators - shown in can be used. + shown in can be used. Bit string operands of &, |, and # must be of equal length. When bit shifting, the original length of the string is preserved, as shown @@ -3935,9 +3935,9 @@ cast(-44 as bit(12)) 111111010100 - If you have turned off, + If you have turned off, any backslashes you write in literal string constants will need to be - doubled. See for more information. + doubled. See for more information. @@ -4144,7 +4144,7 @@ substring('foobar' from '#"o_b#"%' for '#') NULL - lists the available + lists the available operators for pattern matching using POSIX regular expressions. @@ -4277,7 +4277,7 @@ substring('foobar' from 'o(.)b') o matching, while flag g specifies replacement of each matching substring rather than only the first one. Supported flags (though not g) are - described in . + described in . @@ -4311,7 +4311,7 @@ regexp_replace('foobarbaz', 'b(..)', E'X\\1Y', 'g') The flags parameter is an optional text string containing zero or more single-letter flags that change the function's behavior. Supported flags are described - in . + in . @@ -4353,7 +4353,7 @@ SELECT (regexp_match('foobarbequebaz', 'bar.*que'))[1]; subexpressions of the pattern, just as described above for regexp_match. regexp_matches accepts all the flags shown - in , plus + in , plus the g flag which commands it to return all matches, not just the first one. @@ -4407,7 +4407,7 @@ SELECT col1, (SELECT regexp_matches(col2, '(bar)(beque)')) FROM tab; The flags parameter is an optional text string containing zero or more single-letter flags that change the function's behavior. regexp_split_to_table supports the flags described in - . + . @@ -4513,7 +4513,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; PostgreSQL always initially presumes that a regular expression follows the ARE rules. However, the more limited ERE or BRE rules can be chosen by prepending an embedded option - to the RE pattern, as described in . + to the RE pattern, as described in . This can be useful for compatibility with applications that expect exactly the POSIX 1003.2 rules. @@ -4539,9 +4539,9 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; Without a quantifier, it matches a match for the atom. With a quantifier, it can match some number of matches of the atom. An atom can be any of the possibilities - shown in . + shown in . The possible quantifiers and their meanings are shown in - . + . @@ -4549,7 +4549,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; specific conditions are met. A constraint can be used where an atom could be used, except it cannot be followed by a quantifier. The simple constraints are shown in - ; + ; some more constraints are described later. @@ -4589,7 +4589,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; [chars] a bracket expression, matching any one of the chars (see - for more detail) + for more detail) @@ -4603,7 +4603,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; \c where c is alphanumeric (possibly followed by other characters) - is an escape, see + is an escape, see (AREs only; in EREs and BREs, this matches c) @@ -4630,9 +4630,9 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; - If you have turned off, + If you have turned off, any backslashes you write in literal string constants will need to be - doubled. See for more information. + doubled. See for more information. @@ -4727,7 +4727,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; same possibilities as their corresponding normal (greedy) counterparts, but prefer the smallest number rather than the largest number of matches. - See for more detail. + See for more detail. @@ -4795,7 +4795,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; Lookahead and lookbehind constraints cannot contain back - references (see ), + references (see ), and all parentheses within them are considered non-capturing. @@ -4926,27 +4926,27 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; Character-entry escapes exist to make it easier to specify non-printing and other inconvenient characters in REs. They are - shown in . + shown in . Class-shorthand escapes provide shorthands for certain commonly-used character classes. They are - shown in . + shown in . A constraint escape is a constraint, matching the empty string if specific conditions are met, written as an escape. They are - shown in . + shown in . A back reference (\n) matches the same string matched by the previous parenthesized subexpression specified by the number n - (see ). For example, + (see ). For example, ([bc])\1 matches bb or cc but not bc or cb. The subexpression must entirely precede the back reference in the RE. @@ -5167,7 +5167,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; \A matches only at the beginning of the string - (see for how this differs from + (see for how this differs from ^) @@ -5195,7 +5195,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; \Z matches only at the end of the string - (see for how this differs from + (see for how this differs from $) @@ -5284,7 +5284,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; a regex operator, or the flags parameter to a regex function. The available option letters are - shown in . + shown in . Note that these same option letters are used in the flags parameters of regex functions. @@ -5319,7 +5319,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; i case-insensitive matching (see - ) (overrides operator type) + ) (overrides operator type) @@ -5330,13 +5330,13 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; n newline-sensitive matching (see - ) + ) p partial newline-sensitive matching (see - ) + ) @@ -5358,7 +5358,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; w inverse partial newline-sensitive (weird) matching - (see ) + (see ) @@ -5735,7 +5735,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); provide a powerful set of tools for converting various data types (date/time, integer, floating point, numeric) to formatted strings and for converting from formatted strings to specific data types. - lists them. + lists them. These functions all follow a common calling convention: the first argument is the value to be formatted and the second argument is a template that defines the output or input format. @@ -5829,7 +5829,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); There is also a single-argument to_timestamp - function; see . + function; see . @@ -5857,7 +5857,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); - shows the + shows the template patterns available for formatting date and time values. @@ -6087,7 +6087,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); behavior. For example, FMMonth is the Month pattern with the FM modifier. - shows the + shows the modifier patterns for date/time formatting. @@ -6125,7 +6125,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); TM prefix translation mode (print localized day and month names based on - ) + ) TMMonth @@ -6291,7 +6291,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); specifications like YYYY-MM-DD (IYYY-IDDD) can be useful. But avoid writing something like IYYY-MM-DD; that would yield surprising results near the start of the year. - (See for more + (See for more information.) @@ -6345,7 +6345,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); - shows the + shows the template patterns available for formatting numeric values. @@ -6447,8 +6447,8 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); The pattern characters S, L, D, and G represent the sign, currency symbol, decimal point, and thousands separator characters defined by the current locale - (see - and ). The pattern characters period + (see + and ). The pattern characters period and comma represent those exact characters, with the meanings of decimal point and thousands separator, regardless of locale. @@ -6535,7 +6535,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); behavior. For example, FM99.99 is the 99.99 pattern with the FM modifier. - shows the + shows the modifier patterns for numeric formatting. @@ -6570,7 +6570,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
- shows some + shows some examples of the use of the to_char function. @@ -6747,15 +6747,15 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); Date/Time Functions and Operators - shows the available + shows the available functions for date/time value processing, with details appearing in the following subsections. illustrates the behaviors of + linkend="operators-datetime-table"/> illustrates the behaviors of the basic arithmetic operators (+, *, etc.). For formatting functions, refer to - . You should be familiar with + . You should be familiar with the background information on date/time data types from . + linkend="datatype-datetime"/>. @@ -6943,7 +6943,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp with time zone Current date and time (changes during statement execution); - see + see @@ -6958,7 +6958,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); date Current date; - see + see @@ -6973,7 +6973,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); time with time zone Current time of day; - see + see @@ -6988,7 +6988,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp with time zone Current date and time (start of current transaction); - see + see @@ -7003,7 +7003,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); double precision Get subfield (equivalent to extract); - see + see date_part('hour', timestamp '2001-02-16 20:38:40') 20 @@ -7013,7 +7013,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); date_part(text, interval) double precision Get subfield (equivalent to - extract); see + extract); see date_part('month', interval '2 years 3 months') 3 @@ -7027,7 +7027,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); date_trunc(text, timestamp) timestamp - Truncate to specified precision; see also + Truncate to specified precision; see also date_trunc('hour', timestamp '2001-02-16 20:38:40') 2001-02-16 20:00:00 @@ -7036,7 +7036,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); date_trunc(text, interval) interval - Truncate to specified precision; see also + Truncate to specified precision; see also date_trunc('hour', interval '2 days 3 hours 40 minutes') 2 days 03:00:00 @@ -7051,7 +7051,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp) double precision - Get subfield; see + Get subfield; see extract(hour from timestamp '2001-02-16 20:38:40') 20 @@ -7061,7 +7061,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); extract(field from interval) double precision - Get subfield; see + Get subfield; see extract(month from interval '2 years 3 months') 3 @@ -7144,7 +7144,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); time Current time of day; - see + see @@ -7159,7 +7159,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp Current date and time (start of current transaction); - see + see @@ -7293,7 +7293,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp with time zone Current date and time (start of current transaction); - see + see @@ -7308,7 +7308,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp with time zone Current date and time (start of current statement); - see + see @@ -7324,7 +7324,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); text Current date and time (like clock_timestamp, but as a text string); - see + see @@ -7339,7 +7339,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); timestamp with time zone Current date and time (start of current transaction); - see + see @@ -7886,7 +7886,7 @@ SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40'); The extract function is primarily intended for computational processing. For formatting date/time values for - display, see . + display, see . @@ -7986,7 +7986,7 @@ SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40'); The AT TIME ZONE construct allows conversions of time stamps to different time zones. shows its + linkend="functions-datetime-zoneconvert-table"/> shows its variants. @@ -8035,7 +8035,7 @@ SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40'); specified either as a text string (e.g., 'PST') or as an interval (e.g., INTERVAL '-08:00'). In the text case, a time zone name can be specified in any of the ways - described in . + described in . @@ -8279,10 +8279,10 @@ SELECT pg_sleep_until('tomorrow 03:00'); Enum Support Functions - For enum types (described in ), + For enum types (described in ), there are several functions that allow cleaner programming without hard-coding particular values of an enum type. - These are listed in . The examples + These are listed in . The examples assume an enum type created as: @@ -8379,9 +8379,9 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple lseg, line, path, polygon, and circle have a large set of native support functions and operators, shown in , , and . + linkend="functions-geometry-op-table"/>, , and . @@ -8912,7 +8912,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple Network Address Functions and Operators - shows the operators + shows the operators available for the cidr and inet types. The operators <<, <<=, >>, @@ -9024,7 +9024,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple - shows the functions + shows the functions available for use with the cidr and inet types. The abbrev, host, and text @@ -9225,7 +9225,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple - shows the functions + shows the functions available for use with the macaddr type. The function trunc(macaddr) returns a MAC address with the last 3 bytes set to zero. This can be used to @@ -9270,7 +9270,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple - shows the functions + shows the functions available for use with the macaddr8 type. The function trunc(macaddr8) returns a MAC address with the last 5 bytes set to zero. This can be used to @@ -9342,11 +9342,11 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple - , - and - + , + and + summarize the functions and operators that are provided - for full text searching. See for a detailed + for full text searching. See for a detailed explanation of PostgreSQL's text search facility. @@ -9797,14 +9797,14 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple All the text search functions that accept an optional regconfig argument will use the configuration specified by - + when that argument is omitted. The functions in - + are listed separately because they are not usually used in everyday text searching operations. They are helpful for development and debugging of new text search configurations. @@ -9910,7 +9910,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple The functions and function-like expressions described in this section operate on values of type xml. Check for information about the xml + linkend="datatype-xml"/> for information about the xml type. The function-like expressions xmlparse and xmlserialize for converting to and from type xml are not repeated here. Use of most of these @@ -10107,7 +10107,7 @@ SELECT xmlelement(name foo, xmlattributes('xyz' as bar), and & will be converted to entities. Binary data (data type bytea) will be represented in base64 or hex encoding, depending on the setting of the configuration parameter - . The particular behavior for + . The particular behavior for individual data types is expected to evolve in order to align the SQL and PostgreSQL data types with the XML Schema specification, at which point a more precise description will appear. @@ -10249,7 +10249,7 @@ SELECT xmlroot(xmlparse(document 'abc'), input values to the aggregate function call, much like xmlconcat does, except that concatenation occurs across rows rather than across expressions in a single row. - See for additional information + See for additional information about aggregate functions. @@ -10269,7 +10269,7 @@ SELECT xmlagg(x) FROM test; To determine the order of the concatenation, an ORDER BY clause may be added to the aggregate call as described in - . For example: + . For example: IS DOCUMENT returns true if the argument XML value is a proper XML document, false if it is not (that is, it is a content fragment), or null if the argument is - null. See about the difference + null. See about the difference between documents and content fragments. @@ -10391,7 +10391,7 @@ SELECT xmlexists('//town[text() = ''Toronto'']' PASSING BY REF 'Tor xml_is_well_formed_document checks for a well-formed document, while xml_is_well_formed_content checks for well-formed content. xml_is_well_formed does - the former if the configuration + the former if the configuration parameter is set to DOCUMENT, or the latter if it is set to CONTENT. This means that xml_is_well_formed is useful for seeing whether @@ -10975,7 +10975,7 @@ table2-mapping As an example of using the output produced by these functions, - shows an XSLT stylesheet that + shows an XSLT stylesheet that converts the output of table_to_xml_and_xmlschema to an HTML document containing a tabular rendition of the table data. In a @@ -11044,9 +11044,9 @@ table2-mapping - shows the operators that + shows the operators that are available for use with the two JSON data types (see ). + linkend="datatype-json"/>). @@ -11127,18 +11127,18 @@ table2-mapping The standard comparison operators shown in are available for + linkend="functions-comparison-op-table"/> are available for jsonb, but not for json. They follow the ordering rules for B-tree operations outlined at . + linkend="json-indexing"/>. Some further operators also exist only for jsonb, as shown - in . + in . Many of these operators can be indexed by jsonb operator classes. For a full description of jsonb containment and existence semantics, see . + linkend="json-containment"/>. describes how these operators can be used to effectively index jsonb data. @@ -11240,7 +11240,7 @@ table2-mapping - shows the functions that are + shows the functions that are available for creating json and jsonb values. (There are no equivalent functions for jsonb, of the row_to_json and array_to_json functions. However, the to_jsonb @@ -11394,7 +11394,7 @@ table2-mapping - The extension has a cast + The extension has a cast from hstore to json, so that hstore values converted via the JSON creation functions will be represented as JSON objects, not as primitive string values. @@ -11402,7 +11402,7 @@ table2-mapping - shows the functions that + shows the functions that are available for processing json and jsonb values. @@ -11843,7 +11843,7 @@ table2-mapping JSON strings to the appropriate single character. This is a non-issue if the input is type jsonb, because the conversion was already done; but for json input, this may result in throwing an error, - as noted in . + as noted in . @@ -11902,7 +11902,7 @@ table2-mapping - See also for the aggregate + See also for the aggregate function json_agg which aggregates record values as JSON, and the aggregate function json_object_agg which aggregates pairs of values @@ -11935,10 +11935,10 @@ table2-mapping This section describes functions for operating on sequence objects, also called sequence generators or just sequences. Sequence objects are special single-row tables created with . + linkend="sql-createsequence"/>. Sequence objects are commonly used to generate unique identifiers for rows of a table. The sequence functions, listed in , provide simple, multiuser-safe + linkend="functions-sequence-table"/>, provide simple, multiuser-safe methods for obtaining successive sequence values from sequence objects. @@ -12003,7 +12003,7 @@ nextval('myschema.foo') operates on myschema.foosame as above nextval('foo') searches search path for foo - See for more information about + See for more information about regclass. @@ -12061,7 +12061,7 @@ nextval('foo'::text) foo is looked up at If a sequence object has been created with default parameters, successive nextval calls will return successive values beginning with 1. Other behaviors can be obtained by using - special parameters in the command; + special parameters in the command; see its command reference page for more information. @@ -12262,7 +12262,7 @@ SELECT a, The data types of all the result expressions must be convertible to a single output type. - See for more details. + See for more details. @@ -12316,7 +12316,7 @@ SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END; - As described in , there are various + As described in , there are various situations in which subexpressions of an expression are evaluated at different times, so that the principle that CASE evaluates only necessary subexpressions is not ironclad. For @@ -12419,7 +12419,7 @@ SELECT NULLIF(value, '(none)') ... largest or smallest value from a list of any number of expressions. The expressions must all be convertible to a common data type, which will be the type of the result - (see for details). NULL values + (see for details). NULL values in the list are ignored. The result will be NULL only if all the expressions evaluate to NULL. @@ -12437,7 +12437,7 @@ SELECT NULLIF(value, '(none)') ... Array Functions and Operators - shows the operators + shows the operators available for array types. @@ -12561,14 +12561,14 @@ SELECT NULLIF(value, '(none)') ... - See for more details about array operator - behavior. See for more details about + See for more details about array operator + behavior. See for more details about which operators support indexed operations. - shows the functions - available for use with array types. See + shows the functions + available for use with array types. See for more information and examples of the use of these functions. @@ -12843,7 +12843,7 @@ SELECT NULLIF(value, '(none)') ... setof anyelement, anyelement [, ...] expand multiple arrays (possibly of different types) to a set of rows. This is only allowed in the FROM clause; see - + unnest(ARRAY[1,2],ARRAY['foo','bar','baz']) 1 foo 2 bar @@ -12899,7 +12899,7 @@ NULL baz(3 rows) - See also about the aggregate + See also about the aggregate function array_agg for use with arrays. @@ -12908,11 +12908,11 @@ NULL baz(3 rows) Range Functions and Operators - See for an overview of range types. + See for an overview of range types. - shows the operators + shows the operators available for range types. @@ -13087,7 +13087,7 @@ NULL baz(3 rows) - shows the functions + shows the functions available for use with range types. @@ -13238,18 +13238,18 @@ NULL baz(3 rows) Aggregate functions compute a single result from a set of input values. The built-in general-purpose aggregate - functions are listed in + functions are listed in and statistical aggregates in . + linkend="functions-aggregate-statistics-table"/>. The built-in within-group ordered-set aggregate functions - are listed in + are listed in while the built-in within-group hypothetical-set ones are in . Grouping operations, + linkend="functions-hypothetical-table"/>. Grouping operations, which are closely related to aggregate functions, are listed in - . + . The special syntax considerations for aggregate - functions are explained in . - Consult for additional introductory + functions are explained in . + Consult for additional introductory information. @@ -13597,7 +13597,7 @@ NULL baz(3 rows) xml No - concatenation of XML values (see also ) + concatenation of XML values (see also ) @@ -13669,7 +13669,7 @@ SELECT count(*) FROM sometable; depending on the order of the input values. This ordering is unspecified by default, but can be controlled by writing an ORDER BY clause within the aggregate call, as shown in - . + . Alternatively, supplying the input values from a sorted subquery will usually work. For example: @@ -13683,7 +13683,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; - shows + shows aggregate functions typically used in statistical analysis. (These are separated out merely to avoid cluttering the listing of more-commonly-used aggregates.) Where the description mentions @@ -14102,7 +14102,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
- shows some + shows some aggregate functions that use the ordered-set aggregate syntax. These functions are sometimes referred to as inverse distribution functions. @@ -14252,7 +14252,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; - All the aggregates listed in + All the aggregates listed in ignore null values in their sorted input. For those that take a fraction parameter, the fraction value must be between 0 and 1; an error is thrown if not. However, a null fraction value @@ -14266,9 +14266,9 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; Each of the aggregates listed in - is associated with a + is associated with a window function of the same name defined in - . In each case, the aggregate result + . In each case, the aggregate result is the value that the associated window function would have returned for the hypothetical row constructed from args, if such a row had been added to the sorted @@ -14433,7 +14433,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; Grouping operations are used in conjunction with grouping sets (see - ) to distinguish result rows. The + ) to distinguish result rows. The arguments to the GROUPING operation are not actually evaluated, but they must match exactly expressions given in the GROUP BY clause of the associated query level. Bits are assigned with the rightmost @@ -14477,14 +14477,14 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; Window functions provide the ability to perform calculations across sets of rows that are related to the current query - row. See for an introduction to this - feature, and for syntax + row. See for an introduction to this + feature, and for syntax details. The built-in window functions are listed in - . Note that these functions + . Note that these functions must be invoked using window function syntax, i.e., an OVER clause is required. @@ -14494,7 +14494,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; general-purpose or statistical aggregate (i.e., not ordered-set or hypothetical-set aggregates) can be used as a window function; see - for a list of the built-in aggregates. + for a list of the built-in aggregates. Aggregate functions act as window functions only when an OVER clause follows the call; otherwise they act as non-window aggregates and return a single row for the entire set. @@ -14706,7 +14706,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; All of the functions listed in - depend on the sort ordering + depend on the sort ordering specified by the ORDER BY clause of the associated window definition. Rows that are not distinct when considering only the ORDER BY columns are said to be peers. @@ -14723,7 +14723,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; sometimes also nth_value. You can redefine the frame by adding a suitable frame specification (RANGE or ROWS) to the OVER clause. - See for more information + See for more information about frame specifications. @@ -14887,7 +14887,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); The left-hand side of this form of IN is a row constructor, - as described in . + as described in . The right-hand side is a parenthesized subquery, which must return exactly as many columns as there are expressions in the left-hand row. The left-hand expressions are @@ -14943,7 +14943,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); The left-hand side of this form of NOT IN is a row constructor, - as described in . + as described in . The right-hand side is a parenthesized subquery, which must return exactly as many columns as there are expressions in the left-hand row. The left-hand expressions are @@ -15008,7 +15008,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); The left-hand side of this form of ANY is a row constructor, - as described in . + as described in . The right-hand side is a parenthesized subquery, which must return exactly as many columns as there are expressions in the left-hand row. The left-hand expressions are @@ -15024,7 +15024,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); - See for details about the meaning + See for details about the meaning of a row constructor comparison. @@ -15064,7 +15064,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); The left-hand side of this form of ALL is a row constructor, - as described in . + as described in . The right-hand side is a parenthesized subquery, which must return exactly as many columns as there are expressions in the left-hand row. The left-hand expressions are @@ -15080,7 +15080,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); - See for details about the meaning + See for details about the meaning of a row constructor comparison. @@ -15099,7 +15099,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); The left-hand side is a row constructor, - as described in . + as described in . The right-hand side is a parenthesized subquery, which must return exactly as many columns as there are expressions in the left-hand row. Furthermore, the subquery cannot return more than one row. (If it returns zero rows, @@ -15108,7 +15108,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); - See for details about the meaning + See for details about the meaning of a row constructor comparison. @@ -15327,7 +15327,7 @@ AND Each side is a row constructor, - as described in . + as described in . The two row values must have the same number of fields. Each side is evaluated and they are compared row-wise. Row constructor comparisons are allowed when the operator is @@ -15419,8 +15419,8 @@ AND result depends on comparing two NULL values or a NULL and a non-NULL. PostgreSQL does this only when comparing the results of two row constructors (as in - ) or comparing a row constructor - to the output of a subquery (as in ). + ) or comparing a row constructor + to the output of a subquery (as in ). In other contexts where two composite-type values are compared, two NULL field values are considered equal, and a NULL is considered larger than a non-NULL. This is necessary in order to have consistent sorting @@ -15441,7 +15441,7 @@ AND class, or is the negator of the = member of a B-tree operator class.) The default behavior of the above operators is the same as for IS [ NOT ] DISTINCT FROM for row constructors (see - ). + ). @@ -15481,10 +15481,10 @@ AND This section describes functions that possibly return more than one row. The most widely used functions in this class are series generating - functions, as detailed in and - . Other, more specialized + functions, as detailed in and + . Other, more specialized set-returning functions are described elsewhere in this manual. - See for ways to combine multiple + See for ways to combine multiple set-returning functions. @@ -15738,14 +15738,14 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n); System Information Functions - shows several + shows several functions that extract session and system information. In addition to the functions listed in this section, there are a number of functions related to the statistics system that also provide system - information. See for more + information. See for more information. @@ -15910,7 +15910,7 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n); version() text - PostgreSQL version information. See also for a machine-readable version. + PostgreSQL version information. See also for a machine-readable version. @@ -15988,11 +15988,11 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n); The session_user is normally the user who initiated the current database connection; but superusers can change this setting - with . + with . The current_user is the user identifier that is applicable for permission checking. Normally it is equal to the session user, but it can be changed with - . + . It also changes during the execution of functions with the attribute SECURITY DEFINER. In Unix parlance, the session user is the real user and @@ -16111,7 +16111,7 @@ SET search_path TO schema , sc pg_current_logfile returns, as text, the path of the log file(s) currently in use by the logging collector. - The path includes the directory + The path includes the directory and the log file name. Log collection must be enabled or the return value is NULL. When multiple log files exist, each in a different format, pg_current_logfile called @@ -16122,7 +16122,7 @@ SET search_path TO schema , sc either csvlog or stderr as the value of the optional parameter. The return value is NULL when the log format requested is not a configured - . The + . The pg_current_logfiles reflects the contents of the current_logfiles file. @@ -16160,7 +16160,7 @@ SET search_path TO schema , sc fraction of the total available space for notifications currently occupied by notifications that are waiting to be processed, as a double in the range 0-1. - See and + See and for more information. @@ -16186,7 +16186,7 @@ SET search_path TO schema , sc running a SERIALIZABLE transaction blocks a SERIALIZABLE READ ONLY DEFERRABLE transaction from acquiring a snapshot until the latter determines that it is safe to avoid - taking any predicate locks. See for + taking any predicate locks. See for more information about serializable and deferrable transactions. Frequent calls to this function could have some impact on database performance, because it needs access to the predicate lock manager's shared @@ -16200,10 +16200,10 @@ SET search_path TO schema , sc version returns a string describing the PostgreSQL server's version. You can also - get this information from or - for a machine-readable version, . + get this information from or + for a machine-readable version, . Software developers should use server_version_num - (available since 8.2) or instead + (available since 8.2) or instead of parsing the text version. @@ -16213,9 +16213,9 @@ SET search_path TO schema , sc - lists functions that + lists functions that allow the user to query object access privileges programmatically. - See for more information about + See for more information about privileges. @@ -16569,7 +16569,7 @@ SELECT has_table_privilege('joe', 'mytable', 'INSERT, SELECT WITH GRANT OPTION') are analogous to has_table_privilege. When specifying a function by a text string rather than by OID, the allowed input is the same as for the regprocedure data type - (see ). + (see ). The desired access privilege type must evaluate to EXECUTE. An example is: @@ -16631,7 +16631,7 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute'); are analogous to has_table_privilege. When specifying a type by a text string rather than by OID, the allowed input is the same as for the regtype data type - (see ). + (see ). The desired access privilege type must evaluate to USAGE. @@ -16659,7 +16659,7 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute'); - shows functions that + shows functions that determine whether a certain object is visible in the current schema search path. For example, a table is said to be visible if its @@ -16957,7 +16957,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype); - lists functions that + lists functions that extract information from the system catalogs. @@ -17250,7 +17250,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype); second parameter, being just a column name, is treated as double-quoted and has its case preserved. The function returns a value suitably formatted for passing to sequence functions - (see ). A typical use is in reading the + (see ). A typical use is in reading the current value of a sequence for an identity or serial column, for example: SELECT currval(pg_get_serial_sequence('sometable', 'id')); @@ -17270,9 +17270,9 @@ SELECT currval(pg_get_serial_sequence('sometable', 'id')); property. NULL is returned if the property name is not known or does not apply to the particular object, or if the OID or column number does not identify a valid object. Refer to - for column properties, - for index properties, and - for access method properties. + for column properties, + for index properties, and + for access method properties. (Note that extension access methods can define additional property names for their indexes.) @@ -17423,7 +17423,7 @@ SELECT currval(pg_get_serial_sequence('sometable', 'id')); value that is passed to it. This can be helpful for troubleshooting or dynamically constructing SQL queries. The function is declared as returning regtype, which is an OID alias type (see - ); this means that it is the same as an + ); this means that it is the same as an OID for comparison purposes but displays as a type name. For example: SELECT pg_typeof(33); @@ -17496,7 +17496,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); - lists functions related to + lists functions related to database object identification and addressing. @@ -17603,8 +17603,8 @@ SELECT collation for ('foo' COLLATE "de_DE"); - The functions shown in - extract comments previously stored with the + The functions shown in + extract comments previously stored with the command. A null value is returned if no comment could be found for the specified parameters. @@ -17701,7 +17701,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); - The functions shown in + The functions shown in provide server transaction information in an exportable form. The main use of these functions is to determine which transactions were committed between two snapshots. @@ -17767,7 +17767,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); The data type used by these functions, txid_snapshot, stores information about transaction ID visibility at a particular moment in time. Its components are - described in . + described in . @@ -17843,11 +17843,11 @@ SELECT collation for ('foo' COLLATE "de_DE"); - The functions shown in + The functions shown in provide information about transactions that have been already committed. These functions mainly provide information about when the transactions were committed. They only provide useful data when - configuration option is enabled + configuration option is enabled and only for transactions that were committed after it was enabled. @@ -17881,13 +17881,13 @@ SELECT collation for ('foo' COLLATE "de_DE");
- The functions shown in + The functions shown in print information initialized during initdb, such as the catalog version. They also show information about write-ahead logging and checkpoint processing. This information is cluster-wide, and not specific to any one database. They provide most of the same information, from the same source, as - , although in a form better suited + , although in a form better suited to SQL functions. @@ -17949,7 +17949,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); pg_control_checkpoint returns a record, shown in - + @@ -18060,7 +18060,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); pg_control_system returns a record, shown in - +
@@ -18101,7 +18101,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); pg_control_init returns a record, shown in - +
@@ -18182,7 +18182,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); pg_control_recovery returns a record, shown in - +
@@ -18240,7 +18240,7 @@ SELECT collation for ('foo' COLLATE "de_DE"); Configuration Settings Functions - shows the functions + shows the functions available to query and alter run-time configuration parameters. @@ -18356,7 +18356,7 @@ SELECT set_config('log_statement_stats', 'off', false); The functions shown in send control signals to + linkend="functions-admin-signal-table"/> send control signals to other server processes. Use of these functions is restricted to superusers by default but access may be granted to others using GRANT, with noted exceptions. @@ -18491,7 +18491,7 @@ SELECT set_config('log_statement_stats', 'off', false); The functions shown in assist in making on-line backups. + linkend="functions-admin-backup-table"/> assist in making on-line backups. These functions cannot be executed during recovery (except pg_is_in_backup, pg_backup_start_time and pg_wal_lsn_diff). @@ -18674,7 +18674,7 @@ postgres=# select pg_start_backup('label_goes_here'); pg_create_restore_point creates a named write-ahead log record that can be used as recovery target, and returns the corresponding write-ahead log location. The given name can then be used with - to specify the point up to which + to specify the point up to which recovery will proceed. Avoid creating multiple restore points with the same name, since recovery will stop at the first one whose name matches the recovery target. @@ -18719,12 +18719,12 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); pg_wal_lsn_diff calculates the difference in bytes between two write-ahead log locations. It can be used with pg_stat_replication or some functions shown in - to get the replication lag. + to get the replication lag. For details about proper usage of these functions, see - . + . @@ -18747,7 +18747,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); The functions shown in provide information + linkend="functions-recovery-info-table"/> provide information about the current status of the standby. These functions may be executed both during recovery and in normal running. @@ -18828,7 +18828,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); The functions shown in control the progress of recovery. + linkend="functions-recovery-control-table"/> control the progress of recovery. These functions may be executed only during recovery. @@ -18919,8 +18919,8 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); Snapshots are exported with the pg_export_snapshot function, - shown in , and - imported with the command. + shown in , and + imported with the command.
@@ -18953,11 +18953,11 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); COMMITTED transactions, since in REPEATABLE READ and higher isolation levels, transactions use the same snapshot throughout their lifetime. Once a transaction has exported any snapshots, it cannot - be prepared with . + be prepared with . - See for details of how to use an + See for details of how to use an exported snapshot. @@ -18967,25 +18967,25 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); The functions shown - in are for + in are for controlling and interacting with replication features. - See , - , and - + See , + , and + for information about the underlying features. Use of these functions is restricted to superusers. Many of these functions have equivalent commands in the replication - protocol; see . + protocol; see . The functions described in - , - , and - + , + , and + are also relevant for replication. @@ -19018,7 +19018,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); the LSN is reserved on first connection from a streaming replication client. Streaming changes from a physical slot is only possible with the streaming-replication protocol — - see . The optional third + see . The optional third parameter, temporary, when set to true, specifies that the slot should not be permanently stored to disk and is only meant for use by current session. Temporary slots are also @@ -19386,7 +19386,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); Database Object Management Functions - The functions shown in calculate + The functions shown in calculate the disk space usage of database objects. @@ -19598,13 +19598,13 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); 'fsm' returns the size of the Free Space Map - (see ) associated with the relation. + (see ) associated with the relation. 'vm' returns the size of the Visibility Map - (see ) associated with the relation. + (see ) associated with the relation. @@ -19656,7 +19656,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); - The functions shown in assist + The functions shown in assist in identifying the specific disk files associated with database objects. @@ -19714,7 +19714,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); pg_relation_filenode accepts the OID or name of a table, index, sequence, or toast table, and returns the filenode number currently assigned to it. The filenode is the base component of the file - name(s) used for the relation (see + name(s) used for the relation (see for more information). For most tables the result is the same as pg_class.relfilenode, but for certain system catalogs relfilenode is zero and this function must @@ -19737,7 +19737,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); - lists functions used to manage + lists functions used to manage collations. @@ -19775,7 +19775,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); operating system. If this is different from the value in pg_collation.collversion, then objects depending on the collation might need to be rebuilt. See also - . + . @@ -19783,7 +19783,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); catalog pg_collation based on all the locales it finds in the operating system. This is what initdb uses; - see for more details. If additional + see for more details. If additional locales are installed into the operating system later on, this function can be run again to add collations for the new locales. Locales that match existing entries in pg_collation will be skipped. @@ -19817,7 +19817,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); - shows the functions + shows the functions available for index maintenance tasks. These functions cannot be executed during recovery. Use of these functions is restricted to superusers and the owner @@ -19882,7 +19882,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); Note that if the argument is a GIN index built with the fastupdate option disabled, no cleanup happens and the return value is 0, because the index doesn't have a pending list. - Please see and + Please see and for details of the pending list and fastupdate option. @@ -19893,7 +19893,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); The functions shown in provide native access to + linkend="functions-admin-genfile-table"/> provide native access to files on the machine hosting the server. Only files within the database cluster directory and the log_directory can be accessed. Use a relative path for files in the cluster directory, @@ -20064,9 +20064,9 @@ SELECT (pg_stat_file('filename')).modification; Advisory Lock Functions - The functions shown in + The functions shown in manage advisory locks. For details about proper use of these functions, - see . + see .
@@ -20392,7 +20392,7 @@ FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); For more information about creating triggers, see - . + . @@ -20406,7 +20406,7 @@ FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); For more information about event triggers, - see . + see . @@ -20645,7 +20645,7 @@ CREATE EVENT TRIGGER test_event_trigger_for_drops The functions shown in - + provide information about a table for which a table_rewrite event has just been called. If called in any other context, an error is raised. diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml index 0f91272c54..5120dfbb42 100644 --- a/doc/src/sgml/geqo.sgml +++ b/doc/src/sgml/geqo.sgml @@ -237,7 +237,7 @@ choices made during both the initial population selection and subsequent mutation of the best candidates. To avoid surprising changes of the selected plan, each run of the GEQO algorithm restarts its - random number generator with the current + random number generator with the current parameter setting. As long as geqo_seed and the other GEQO parameters are kept fixed, the same plan will be generated for a given query (and other planner inputs such as statistics). To experiment @@ -320,13 +320,13 @@ - + - + diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml index 95d6278d28..cc7cd1ed2c 100644 --- a/doc/src/sgml/gin.sgml +++ b/doc/src/sgml/gin.sgml @@ -68,8 +68,8 @@ The core PostgreSQL distribution includes the GIN operator classes shown in - . - (Some of the optional modules described in + . + (Some of the optional modules described in provide additional GIN operator classes.) @@ -127,7 +127,7 @@ Of the two operator classes for type jsonb, jsonb_ops is the default. jsonb_path_ops supports fewer operators but offers better performance for those operators. - See for details. + See for details. @@ -182,7 +182,7 @@ query is the value on the right-hand side of an indexable operator whose left-hand side is the indexed column. n is the strategy number of the operator within the - operator class (see ). + operator class (see ). Often, extractQuery will need to consult n to determine the data type of query and the method it should use to extract key values. @@ -406,7 +406,7 @@ provide the comparePartial method, and its extractQuery method must set the pmatch parameter when a partial-match query is encountered. See - for details. + for details. @@ -466,7 +466,7 @@ When the table is vacuumed or autoanalyzed, or when gin_clean_pending_list function is called, or if the pending list becomes larger than - , the entries are moved to the + , the entries are moved to the main GIN data structure using the same bulk insert techniques used during initial index creation. This greatly improves GIN index update speed, even counting the additional @@ -488,7 +488,7 @@ If consistent response time is more important than update speed, use of pending entries can be disabled by turning off the fastupdate storage parameter for a - GIN index. See + GIN index. See for details. @@ -531,14 +531,14 @@ As of PostgreSQL 8.4, this advice is less necessary since delayed indexing is used (see for details). But for very large updates + linkend="gin-fast-update"/> for details). But for very large updates it may still be best to drop and recreate the index. - + Build time for a GIN index is very sensitive to @@ -549,7 +549,7 @@ - + During a series of insertions into an existing GIN @@ -574,7 +574,7 @@ - + The primary goal of developing GIN indexes was @@ -631,7 +631,7 @@ The core PostgreSQL distribution includes the GIN operator classes previously shown in - . + . The following contrib modules also contain GIN operator classes: diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml index f2f9ca0853..44a3b2c03c 100644 --- a/doc/src/sgml/gist.sgml +++ b/doc/src/sgml/gist.sgml @@ -46,8 +46,8 @@ The core PostgreSQL distribution includes the GiST operator classes shown in - . - (Some of the optional modules described in + . + (Some of the optional modules described in provide additional GiST operator classes.) @@ -985,7 +985,7 @@ my_fetch(PG_FUNCTION_ARGS) By default, a GiST index build switches to the buffering method when the - index size reaches . It can + index size reaches . It can be manually turned on or off by the buffering parameter to the CREATE INDEX command. The default behavior is good for most cases, but turning buffering off might speed up the build somewhat if the input diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 6c0679b0a8..46bf198a2a 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -100,7 +100,7 @@ Shared hardware functionality is common in network storage devices. Using a network file system is also possible, though care must be taken that the file system has full POSIX behavior (see ). One significant limitation of this + linkend="creating-cluster-nfs"/>). One significant limitation of this method is that if the shared disk array fails or becomes corrupt, the primary and standby servers are both nonfunctional. Another issue is that the standby server should never access the shared storage while @@ -151,9 +151,9 @@ protocol to make nodes agree on a serializable transactional order. A standby server can be implemented using file-based log shipping - () or streaming replication (see - ), or a combination of both. For - information on hot standby, see . + () or streaming replication (see + ), or a combination of both. For + information on hot standby, see . @@ -169,8 +169,8 @@ protocol to make nodes agree on a serializable transactional order. individual tables to be replicated. Logical replication doesn't require a particular server to be designated as a master or a replica but allows data to flow in multiple directions. For more information on logical - replication, see . Through the - logical decoding interface (), + replication, see . Through the + logical decoding interface (), third-party extensions can also provide similar functionality. @@ -224,8 +224,8 @@ protocol to make nodes agree on a serializable transactional order. standby servers via master-standby replication, not by the replication middleware. Care must also be taken that all transactions either commit or abort on all servers, perhaps - using two-phase commit ( - and ). + using two-phase commit ( + and ). Pgpool-II and Continuent Tungsten are examples of this type of replication. @@ -272,8 +272,8 @@ protocol to make nodes agree on a serializable transactional order. PostgreSQL does not offer this type of replication, though PostgreSQL two-phase commit ( and ) + linkend="sql-prepare-transaction"/> and ) can be used to implement this in application code or middleware. @@ -295,7 +295,7 @@ protocol to make nodes agree on a serializable transactional order. - summarizes + summarizes the capabilities of the various solutions listed above. @@ -522,7 +522,7 @@ protocol to make nodes agree on a serializable transactional order. varies according to the transaction rate of the primary server. Record-based log shipping is more granular and streams WAL changes incrementally over a network connection (see ). + linkend="streaming-replication"/>). @@ -534,7 +534,7 @@ protocol to make nodes agree on a serializable transactional order. archive_timeout parameter, which can be set as low as a few seconds. However such a low setting will substantially increase the bandwidth required for file shipping. - Streaming replication (see ) + Streaming replication (see ) allows a much smaller window of data loss. @@ -547,7 +547,7 @@ protocol to make nodes agree on a serializable transactional order. rollforward will take considerably longer, so that technique only offers a solution for disaster recovery, not high availability. A standby server can also be used for read-only queries, in which case - it is called a Hot Standby server. See for + it is called a Hot Standby server. See for more information. @@ -585,7 +585,7 @@ protocol to make nodes agree on a serializable transactional order. associated with tablespaces will be passed across unmodified, so both primary and standby servers must have the same mount paths for tablespaces if that feature is used. Keep in mind that if - + is executed on the primary, any new mount point needed for it must be created on the primary and all standby servers before the command is executed. Hardware need not be exactly the same, but experience shows @@ -618,7 +618,7 @@ protocol to make nodes agree on a serializable transactional order. In standby mode, the server continuously applies WAL received from the master server. The standby server can read WAL from a WAL archive - (see ) or directly from the master + (see ) or directly from the master over a TCP connection (streaming replication). The standby server will also attempt to restore any WAL found in the standby cluster's pg_wal directory. That typically happens after a server @@ -657,7 +657,7 @@ protocol to make nodes agree on a serializable transactional order. Set up continuous archiving on the primary to an archive directory accessible from the standby, as described - in . The archive location should be + in . The archive location should be accessible from the standby even when the master is down, i.e. it should reside on the standby server itself or another trusted server, not on the master server. @@ -676,7 +676,7 @@ protocol to make nodes agree on a serializable transactional order. - Take a base backup as described in + Take a base backup as described in to bootstrap the standby server. @@ -686,7 +686,7 @@ protocol to make nodes agree on a serializable transactional order. To set up the standby server, restore the base backup taken from primary - server (see ). Create a recovery + server (see ). Create a recovery command file recovery.conf in the standby's cluster data directory, and turn on standby_mode. Set restore_command to a simple command to copy files from @@ -701,7 +701,7 @@ protocol to make nodes agree on a serializable transactional order. Do not use pg_standby or similar tools with the built-in standby mode described here. restore_command should return immediately if the file does not exist; the server will retry the command again if - necessary. See + necessary. See for using tools like pg_standby. @@ -724,11 +724,11 @@ protocol to make nodes agree on a serializable transactional order. If you're using a WAL archive, its size can be minimized using the parameter to remove files that are no + linkend="archive-cleanup-command"/> parameter to remove files that are no longer required by the standby server. The pg_archivecleanup utility is designed specifically to be used with archive_cleanup_command in typical single-standby - configurations, see . + configurations, see . Note however, that if you're using the archive for backup purposes, you need to retain files needed to recover from at least the latest base backup, even if they're no longer needed by the standby. @@ -768,7 +768,7 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r' Streaming replication is asynchronous by default - (see ), in which case there is + (see ), in which case there is a small delay between committing a transaction in the primary and the changes becoming visible in the standby. This delay is however much smaller than with file-based log shipping, typically under one second @@ -791,27 +791,27 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r' To use streaming replication, set up a file-based log-shipping standby - server as described in . The step that + server as described in . The step that turns a file-based log-shipping standby into streaming replication standby is setting primary_conninfo setting in the recovery.conf file to point to the primary server. Set - and authentication options + and authentication options (see pg_hba.conf) on the primary so that the standby server can connect to the replication pseudo-database on the primary - server (see ). + server (see ). On systems that support the keepalive socket option, setting - , - and - helps the primary promptly + , + and + helps the primary promptly notice a broken connection. Set the maximum number of concurrent connections from the standby servers - (see for details). + (see for details). @@ -882,15 +882,15 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' standby. These locations can be retrieved using pg_current_wal_lsn on the primary and pg_last_wal_receive_lsn on the standby, - respectively (see and - for details). + respectively (see and + for details). The last WAL receive location in the standby is also displayed in the process status of the WAL receiver process, displayed using the - ps command (see for details). + ps command (see for details). You can retrieve a list of WAL sender processes via the - view. Large differences between + view. Large differences between pg_current_wal_lsn and the view's sent_lsn field might indicate that the master server is under heavy load, while differences between sent_lsn and @@ -899,7 +899,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' On a hot standby, the status of the WAL receiver process can be retrieved - via the view. A large + via the view. A large difference between pg_last_wal_replay_lsn and the view's received_lsn indicates that WAL is being received faster than it can be replayed. @@ -922,9 +922,9 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' In lieu of using replication slots, it is possible to prevent the removal - of old WAL segments using , or by + of old WAL segments using , or by storing the segments in an archive using - . + . However, these methods often result in retaining more WAL segments than required, whereas replication slots retain only the number of segments known to be needed. An advantage of these methods is that they bound @@ -932,8 +932,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' to do this using replication slots. - Similarly, - and provide protection against + Similarly, + and provide protection against relevant rows being removed by vacuum, but the former provides no protection during any time period when the standby is not connected, and the latter often needs to be set to a high value to provide adequate @@ -952,8 +952,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' Slots can be created and dropped either via the streaming replication - protocol (see ) or via SQL - functions (see ). + protocol (see ) or via SQL + functions (see ). @@ -1017,7 +1017,7 @@ primary_slot_name = 'node_a_slot' Cascading replication is currently asynchronous. Synchronous replication - (see ) settings have no effect on + (see ) settings have no effect on cascading replication at present. @@ -1034,7 +1034,7 @@ primary_slot_name = 'node_a_slot' To use cascading replication, set up the cascading standby so that it can accept replication connections (that is, set - and , + and , and configure host-based authentication). You will also need to set primary_conninfo in the downstream @@ -1109,11 +1109,11 @@ primary_slot_name = 'node_a_slot' Once streaming replication has been configured, configuring synchronous replication requires only one additional configuration step: - must be set to + must be set to a non-empty value. synchronous_commit must also be set to on, but since this is the default value, typically no change is - required. (See and - .) + required. (See and + .) This configuration will cause each commit to wait for confirmation that the standby has written the commit record to durable storage. @@ -1451,7 +1451,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)' and might stay down. To return to normal operation, a standby server must be recreated, either on the former primary system when it comes up, or on a third, - possibly new, system. The utility can be + possibly new, system. The utility can be used to speed up this process on large clusters. Once complete, the primary and standby can be considered to have switched roles. Some people choose to use a third @@ -1491,7 +1491,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)' This was the only option available in versions 8.4 and below. In this setup, set standby_mode off, because you are implementing the polling required for standby operation yourself. See the - module for a reference + module for a reference implementation of this. @@ -1551,7 +1551,7 @@ if (!triggered) A working example of a waiting restore_command is provided - in the module. It + in the module. It should be used as a reference on how to correctly implement the logic described above. It can also be extended as needed to support specific configurations and environments. @@ -1592,17 +1592,17 @@ if (!triggered) Set up continuous archiving from the primary to a WAL archive directory on the standby server. Ensure that - , - and - + , + and + are set appropriately on the primary - (see ). + (see ). Make a base backup of the primary server (see ), and load this data onto the standby. + linkend="backup-base-backup"/>), and load this data onto the standby. @@ -1610,7 +1610,7 @@ if (!triggered) Begin recovery on the standby server from the local WAL archive, using a recovery.conf that specifies a restore_command that waits as described - previously (see ). + previously (see ). @@ -1644,7 +1644,7 @@ if (!triggered) An external program can call the pg_walfile_name_offset() - function (see ) + function (see ) to find out the file name and the exact byte offset within it of the current end of WAL. It can then access the WAL file directly and copy the data from the last known end of WAL through the current end @@ -1663,7 +1663,7 @@ if (!triggered) Starting with PostgreSQL version 9.0, you can use - streaming replication (see ) to + streaming replication (see ) to achieve the same benefits with less effort. @@ -1697,7 +1697,7 @@ if (!triggered) User's Overview - When the parameter is set to true on a + When the parameter is set to true on a standby server, it will begin accepting connections once the recovery has brought the system to a consistent state. All such connections are strictly read-only; not even temporary tables may be written. @@ -1713,7 +1713,7 @@ if (!triggered) made by that transaction will be visible to any new snapshots taken on the standby. Snapshots may be taken at the start of each query or at the start of each transaction, depending on the current transaction isolation - level. For more details, see . + level. For more details, see . @@ -1891,7 +1891,7 @@ if (!triggered) Users will be able to tell whether their session is read-only by issuing SHOW transaction_read_only. In addition, a set of - functions () allow users to + functions () allow users to access information about the standby server. These allow you to write programs that are aware of the current state of the database. These can be used to monitor the progress of recovery, or to allow you to @@ -1986,8 +1986,8 @@ if (!triggered) When a conflicting query is short, it's typically desirable to allow it to complete by delaying WAL application for a little bit; but a long delay in WAL application is usually not desirable. So the cancel mechanism has - parameters, and , that define the maximum + parameters, and , that define the maximum allowed delay in WAL application. Conflicting queries will be canceled once it has taken longer than the relevant delay setting to apply any newly-received WAL data. There are two parameters so that different delay @@ -2082,7 +2082,7 @@ if (!triggered) - Another option is to increase + Another option is to increase on the primary server, so that dead rows will not be cleaned up as quickly as they normally would be. This will allow more time for queries to execute before they are canceled on the standby, without having to set @@ -2189,8 +2189,8 @@ LOG: database system is ready to accept read only connections It is important that the administrator select appropriate settings for - and . The best choices vary + and . The best choices vary depending on business priorities. For example if the server is primarily tasked as a High Availability server, then you will want low delay settings, perhaps even zero, though that is a very aggressive setting. If @@ -2382,23 +2382,23 @@ LOG: database system is ready to accept read only connections Various parameters have been mentioned above in - and - . + and + . - On the primary, parameters and - can be used. - and - have no effect if set on + On the primary, parameters and + can be used. + and + have no effect if set on the primary. - On the standby, parameters , - and - can be used. - has no effect + On the standby, parameters , + and + can be used. + has no effect as long as the server remains in standby mode, though it will become relevant if the standby becomes primary. @@ -2452,8 +2452,8 @@ LOG: database system is ready to accept read only connections The Serializable transaction isolation level is not yet available in hot - standby. (See and - for details.) + standby. (See and + for details.) An attempt to set a transaction to the serializable isolation level in hot standby mode will generate an error. diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml index b59e65bb20..59bfdb6055 100644 --- a/doc/src/sgml/history.sgml +++ b/doc/src/sgml/history.sgml @@ -31,12 +31,12 @@ Office (ARO), the National Science Foundation (NSF), and ESL, Inc. The implementation of POSTGRES began in 1986. The initial - concepts for the system were presented in , + concepts for the system were presented in , and the definition of the initial data model appeared in . The design of the rule system at that time was - described in . The rationale and + linkend="rowe87"/>. The design of the rule system at that time was + described in . The rationale and architecture of the storage manager were detailed in . + linkend="ston87b"/>. @@ -44,10 +44,10 @@ releases since then. The first demoware system became operational in 1987 and was shown at the 1988 ACM-SIGMOD Conference. Version 1, described in - , was released to a few external users in + , was released to a few external users in June 1989. In response to a critique of the first rule system - (), the rule system was redesigned (), and Version 2 was released in June 1990 with + (), the rule system was redesigned (), and Version 2 was released in June 1990 with the new rule system. Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rule system. For the most part, subsequent releases @@ -216,7 +216,7 @@ Details about what has happened in PostgreSQL since - then can be found in . + then can be found in . diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index 0264e4e532..94ccd1201e 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -70,7 +70,7 @@ key => NULL constant, then any single-quote characters and (depending on the setting of the standard_conforming_strings configuration parameter) backslash characters need to be escaped correctly. See - for more on the handling of string + for more on the handling of string constants. @@ -87,8 +87,8 @@ key => NULL The operators provided by the hstore module are - shown in , the functions - in . + shown in , the functions + in .
@@ -629,7 +629,7 @@ ALTER TABLE tablename ALTER hstorecol TYPE hstore USING hstorecol || ''; extensions for PL/Python are called hstore_plpythonu, hstore_plpython2u, and hstore_plpython3u - (see for the PL/Python naming + (see for the PL/Python naming convention). If you use them, hstore values are mapped to Python dictionaries. diff --git a/doc/src/sgml/indexam.sgml b/doc/src/sgml/indexam.sgml index a94b188f22..a7f6c8dc6a 100644 --- a/doc/src/sgml/indexam.sgml +++ b/doc/src/sgml/indexam.sgml @@ -22,7 +22,7 @@ pages so that they can use the regular storage manager and buffer manager to access the index contents. (All the existing index access methods furthermore use the standard page layout described in , and most use the same format for index + linkend="storage-page-layout"/>, and most use the same format for index tuple headers; but these decisions are not forced on an access method.) @@ -31,7 +31,7 @@ tuple identifiers, or TIDs, of row versions (tuples) in the index's parent table. A TID consists of a block number and an item number within that block (see ). This is sufficient + linkend="storage-page-layout"/>). This is sufficient information to fetch a particular row version from the table. Indexes are not directly aware that under MVCC, there might be multiple extant versions of the same logical row; to an index, each tuple is @@ -52,8 +52,8 @@ system catalog. The pg_am entry specifies a name and a handler function for the access method. These entries can be created and deleted using the - and - SQL commands. + and + SQL commands. @@ -71,7 +71,7 @@ functions for the access method, which do all of the real work to access indexes. These support functions are plain C functions and are not visible or callable at the SQL level. The support functions are described - in . + in . @@ -153,7 +153,7 @@ typedef struct IndexAmRoutine These entries allow the planner to determine what kinds of query qualifications can be used with indexes of this access method. Operator families and classes are described - in , which is prerequisite material for reading + in , which is prerequisite material for reading this chapter. @@ -177,7 +177,7 @@ typedef struct IndexAmRoutine Some of the flag fields of IndexAmRoutine have nonobvious implications. The requirements of amcanunique - are discussed in . + are discussed in . The amcanmulticol flag asserts that the access method supports multicolumn indexes, while amoptionalkey asserts that it allows scans @@ -271,7 +271,7 @@ aminsert (Relation indexRelation, amcanunique flag is true) then checkUnique indicates the type of uniqueness check to perform. This varies depending on whether the unique constraint is - deferrable; see for details. + deferrable; see for details. Normally the access method only needs the heapRelation parameter when performing uniqueness checking (since then it will have to look into the heap to verify tuple liveness). @@ -386,7 +386,7 @@ amcostestimate (PlannerInfo *root, double *indexCorrelation); Estimate the costs of an index scan. This function is described fully - in , below. + in , below. @@ -480,7 +480,7 @@ amvalidate (Oid opclassoid); The purpose of an index, of course, is to support scans for tuples matching an indexable WHERE condition, often called a qualifier or scan key. The semantics of - index scanning are described more fully in , + index scanning are described more fully in , below. An index access method can support plain index scans, bitmap index scans, or both. The scan-related functions that an index access method must or may provide are: @@ -594,7 +594,7 @@ amgetbitmap (IndexScanDesc scan, amgetbitmap and amgettuple cannot be used in the same index scan; there are other restrictions too when using amgetbitmap, as explained - in . + in . @@ -852,7 +852,7 @@ amparallelrescan (IndexScanDesc scan); index tuples. Finally, amgetbitmap does not guarantee any locking of the returned tuples, with implications - spelled out in . + spelled out in . @@ -901,7 +901,7 @@ amparallelrescan (IndexScanDesc scan); A new heap entry is made before making its index entries. (Therefore a concurrent index scan is likely to fail to see the heap entry. This is okay because the index reader would be uninterested in an - uncommitted row anyway. But see .) + uncommitted row anyway. But see .) diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml index 248ed7e8eb..0818196e76 100644 --- a/doc/src/sgml/indices.sgml +++ b/doc/src/sgml/indices.sgml @@ -77,7 +77,7 @@ CREATE INDEX test1_id_index ON test1 (id); than a sequential table scan. But you might have to run the ANALYZE command regularly to update statistics to allow the query planner to make educated decisions. - See for information about + See for information about how to find out whether an index is used and when and why the planner might choose not to use an index. @@ -99,7 +99,7 @@ CREATE INDEX test1_id_index ON test1 (id); It is possible to allow writes to occur in parallel with index creation, but there are several caveats to be aware of — for more information see . + endterm="sql-createindex-concurrently-title"/>. @@ -161,7 +161,7 @@ CREATE INDEX test1_id_index ON test1 (id); col LIKE '%bar'. However, if your database does not use the C locale you will need to create the index with a special operator class to support indexing of pattern-matching queries; see - below. It is also possible to use + below. It is also possible to use B-tree indexes for ILIKE and ~*, but only if the pattern starts with non-alphabetic characters, i.e., characters that are not affected by @@ -226,13 +226,13 @@ CREATE INDEX name ON table && - (See for the meaning of + (See for the meaning of these operators.) The GiST operator classes included in the standard distribution are - documented in . + documented in . Many other GiST operator classes are available in the contrib collection or as separate - projects. For more information see . + projects. For more information see . @@ -244,7 +244,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10; which finds the ten places closest to a given target point. The ability to do this is again dependent on the particular operator class being used. - In , operators that can be + In , operators that can be used in this way are listed in the column Ordering Operators. @@ -274,11 +274,11 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10; >^ - (See for the meaning of + (See for the meaning of these operators.) The SP-GiST operator classes included in the standard distribution are - documented in . - For more information see . + documented in . + For more information see . @@ -313,13 +313,13 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10; && - (See for the meaning of + (See for the meaning of these operators.) The GIN operator classes included in the standard distribution are - documented in . + documented in . Many other GIN operator classes are available in the contrib collection or as separate - projects. For more information see . + projects. For more information see . @@ -351,8 +351,8 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10; The BRIN operator classes included in the standard distribution are - documented in . - For more information see . + documented in . + For more information see . @@ -454,8 +454,8 @@ CREATE INDEX test2_mm_idx ON test2 (major, minor); an index on a single column is sufficient and saves space and time. Indexes with more than three columns are unlikely to be helpful unless the usage of the table is extremely stylized. See also - and - for some discussion of the + and + for some discussion of the merits of different index configurations. @@ -609,7 +609,7 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST); process the queries that use both columns. You could also create a multicolumn index on (x, y). This index would typically be more efficient than index combination for queries involving both - columns, but as discussed in , it + columns, but as discussed in , it would be almost useless for queries involving only y, so it should not be the only index. A combination of the multicolumn index and a separate index on y would serve reasonably well. For @@ -762,7 +762,7 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name)); index at all. This reduces the size of the index, which will speed up those queries that do use the index. It will also speed up many table update operations because the index does not need to be - updated in all cases. shows a + updated in all cases. shows a possible application of this idea. @@ -827,7 +827,7 @@ WHERE client_ip = inet '192.168.100.23'; Another possible use for a partial index is to exclude values from the index that the typical query workload is not interested in; this is shown in . This results in the same + linkend="indexes-partial-ex2"/>. This results in the same advantages as listed above, but it prevents the uninteresting values from being accessed via that index, even if an index scan might be profitable in that @@ -878,7 +878,7 @@ SELECT * FROM orders WHERE order_nr = 3501; - also illustrates that the + also illustrates that the indexed column and the column used in the predicate do not need to match. PostgreSQL supports partial indexes with arbitrary predicates, so long as only columns of the @@ -909,7 +909,7 @@ SELECT * FROM orders WHERE order_nr = 3501; A third possible use for partial indexes does not require the index to be used in queries at all. The idea here is to create a unique index over a subset of a table, as in . This enforces uniqueness + linkend="indexes-partial-ex3"/>. This enforces uniqueness among the rows that satisfy the index predicate, without constraining those that do not. @@ -962,8 +962,8 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target) More information about partial indexes can be found in , , and . + linkend="ston89b"/>, , and . @@ -1157,7 +1157,7 @@ CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y"); the index, the table rows they reference might be anywhere in the heap. The heap-access portion of an index scan thus involves a lot of random access into the heap, which can be slow, particularly on traditional - rotating media. (As described in , + rotating media. (As described in , bitmap scans try to alleviate this cost by doing the heap accesses in sorted order, but that only goes so far.) @@ -1212,7 +1212,7 @@ SELECT x FROM tab WHERE x = 'key' AND z < 42; is physically possible. But there is an additional requirement for any table scan in PostgreSQL: it must verify that each retrieved row be visible to the query's MVCC snapshot, as - discussed in . Visibility information is not stored + discussed in . Visibility information is not stored in index entries, only in heap entries; so at first glance it would seem that every row retrieval would require a heap access anyway. And this is indeed the case, if the table row has been modified recently. However, @@ -1289,7 +1289,7 @@ SELECT f(x) FROM tab WHERE f(x) < 1; Partial indexes also have interesting interactions with index-only scans. - Consider the partial index shown in : + Consider the partial index shown in : CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target) WHERE success; @@ -1325,11 +1325,11 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success; maintenance or tuning, it is still important to check which indexes are actually used by the real-life query workload. Examining index usage for an individual query is done with the - + command; its application for this purpose is - illustrated in . + illustrated in . It is also possible to gather overall statistics about index usage - in a running server, as described in . + in a running server, as described in . @@ -1343,7 +1343,7 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success; - Always run + Always run first. This command collects statistics about the distribution of the values in the table. This information is required to estimate the number of rows @@ -1353,8 +1353,8 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success; almost certain to be inaccurate. Examining an application's index usage without having run ANALYZE is therefore a lost cause. - See - and for more information. + See + and for more information. @@ -1386,7 +1386,7 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success; When indexes are not used, it can be useful for testing to force their use. There are run-time parameters that can turn off - various plan types (see ). + various plan types (see ). For instance, turning off sequential scans (enable_seqscan) and nested-loop joins (enable_nestloop), which are the most basic plans, @@ -1417,11 +1417,11 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success; per-row costs of each plan node times the selectivity estimate of the plan node. The costs estimated for the plan nodes can be adjusted via run-time parameters (described in ). + linkend="runtime-config-query-constants"/>). An inaccurate selectivity estimate is due to insufficient statistics. It might be possible to improve this by tuning the statistics-gathering parameters (see - ). + ). diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml index 58c54254d7..99b0ea8519 100644 --- a/doc/src/sgml/information_schema.sgml +++ b/doc/src/sgml/information_schema.sgml @@ -579,7 +579,7 @@
- See also under , a similarly + See also under , a similarly structured view, for further information on some of the columns. @@ -776,7 +776,7 @@ sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information.
@@ -895,7 +895,7 @@ identifies which character set the available collations are applicable to. In PostgreSQL, there is only one character set per database (see explanation - in ), so this view does + in ), so this view does not provide much useful information. @@ -1178,7 +1178,7 @@ that use data types owned by a currently enabled role. Note that in PostgreSQL, built-in data types behave like user-defined types, so they are included here as well. See - also for details. + also for details. @@ -3134,7 +3134,7 @@ ORDER BY c.ordinal_position; sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information. @@ -3594,7 +3594,7 @@ ORDER BY c.ordinal_position; sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information. @@ -3930,7 +3930,7 @@ ORDER BY c.ordinal_position; sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information. @@ -4762,7 +4762,7 @@ ORDER BY c.ordinal_position; The table sql_features contains information about which formal features defined in the SQL standard are supported by PostgreSQL. This is the - same information that is presented in . + same information that is presented in . There you can also find some additional background information. @@ -4998,7 +4998,7 @@ ORDER BY c.ordinal_position; The table sql_packages contains information about which feature packages defined in the SQL standard are supported by PostgreSQL. Refer to for background information on feature packages. + linkend="features"/> for background information on feature packages.
@@ -5586,7 +5586,7 @@ ORDER BY c.ordinal_position; sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information. @@ -5891,9 +5891,9 @@ ORDER BY c.ordinal_position; USAGE privileges granted on user-defined types to a currently enabled role or by a currently enabled role. There is one row for each combination of type, grantor, and grantee. This view shows only - composite types (see under + composite types (see under for why); see - for domain privileges. + for domain privileges.
@@ -6068,7 +6068,7 @@ ORDER BY c.ordinal_position; differentiate between these. Other user-defined types such as base types and enums, which are PostgreSQL extensions, are not shown here. For domains, - see instead. + see instead.
@@ -6522,7 +6522,7 @@ ORDER BY c.ordinal_position; sql_identifier The specific name of the function. See for more information. + linkend="infoschema-routines"/> for more information. diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml index 029e1dbc28..99e9c7b78e 100644 --- a/doc/src/sgml/install-windows.sgml +++ b/doc/src/sgml/install-windows.sgml @@ -37,8 +37,8 @@ Building using MinGW or Cygwin uses the normal build system, see - and the specific notes in - and . + and the specific notes in + and . To produce native 64 bit binaries in these environments, use the tools from MinGW-w64. These tools can also be used to cross-compile for 32 bit and 64 bit Windows @@ -457,7 +457,7 @@ $ENV{CONFIG}="Debug"; For more information about the regression tests, see - . + . diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index f8e1d60356..a922819fce 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -54,7 +54,7 @@ su - postgres In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received specific testing at the - time of release are listed in + time of release are listed in below. In the doc subdirectory of the distribution there are several platform-specific FAQ documents you might wish to consult if you are having trouble. @@ -193,7 +193,7 @@ su - postgres required version is Python 2.4. Python 3 is supported if it's version 3.1 or later; but see - + when using Python 3. @@ -262,7 +262,7 @@ su - postgres To build the PostgreSQL documentation, there is a separate set of requirements; see - . + . @@ -358,7 +358,7 @@ su - postgres You can also get the source directly from the version control repository, see - . + . @@ -835,8 +835,8 @@ su - postgres Build with LDAPLDAP support for authentication and connection parameter lookup (see - and - for more information). On Unix, + and + for more information). On Unix, this requires the OpenLDAP package to be installed. On Windows, the default WinLDAP library is used. configure will check for the required @@ -855,7 +855,7 @@ su - postgres for systemdsystemd service notifications. This improves integration if the server binary is started under systemd but has no impact - otherwise; see for more + otherwise; see for more information. libsystemd and the associated header files need to be installed to be able to use this option. @@ -901,7 +901,7 @@ su - postgres - Build the module + Build the module (which provides functions to generate UUIDs), using the specified UUID library.UUID LIBRARY must be one of: @@ -968,7 +968,7 @@ su - postgres Use libxslt when building the - + module. xml2 relies on this library to perform XSL transformations of XML. @@ -1084,7 +1084,7 @@ su - postgres has no support for strong random numbers on the platform. A source of random numbers is needed for some authentication protocols, as well as some routines in the - + module. disables functionality that requires cryptographically strong random numbers, and substitutes a weak pseudo-random-number-generator for the generation of @@ -1188,7 +1188,7 @@ su - postgres code coverage testing instrumentation. When run, they generate files in the build directory with code coverage metrics. - See + See for more information. This option is for use only with GCC and when doing development work. @@ -1249,7 +1249,7 @@ su - postgres Compiles PostgreSQL with support for the dynamic tracing tool DTrace. - See + See for more information. @@ -1285,7 +1285,7 @@ su - postgres Enable tests using the Perl TAP tools. This requires a Perl installation and the Perl module IPC::Run. - See for more information. + See for more information. @@ -1442,7 +1442,7 @@ su - postgres whether Python 2 or 3 is specified here (or otherwise implicitly chosen) determines which variant of the PL/Python language becomes available. See - + for more information. @@ -1569,7 +1569,7 @@ PostgreSQL, contrib, and documentation successfully made. Ready to install. make check (This won't work as root; do it as an unprivileged user.) - See for + See for detailed information about interpreting the test results. You can repeat this test at any later time by issuing the same command. @@ -1581,7 +1581,7 @@ PostgreSQL, contrib, and documentation successfully made. Ready to install. If you are upgrading an existing system be sure to read - , + , which has instructions about upgrading a cluster. @@ -1593,7 +1593,7 @@ PostgreSQL, contrib, and documentation successfully made. Ready to install. make install This will install files into the directories that were specified - in . Make sure that you have appropriate + in . Make sure that you have appropriate permissions to write into that area. Normally you need to do this step as root. Alternatively, you can create the target directories in advance and arrange for appropriate permissions to @@ -1727,7 +1727,7 @@ export LD_LIBRARY_PATH setenv LD_LIBRARY_PATH /usr/local/pgsql/lib Replace /usr/local/pgsql/lib with whatever you set - to in . + to in . You should put these commands into a shell start-up file such as /etc/profile or ~/.bash_profile. Some good information about the caveats associated with this method can @@ -1793,7 +1793,7 @@ libpq.so.2.1: cannot open shared object file: No such file or directory If you installed into /usr/local/pgsql or some other location that is not searched for programs by default, you should add /usr/local/pgsql/bin (or whatever you set - to in ) + to in ) into your PATH. Strictly speaking, this is not necessary, but it will make the use of PostgreSQL much more convenient. @@ -1873,7 +1873,7 @@ export MANPATH Other Unix-like systems may also work but are not currently being tested. In most cases, all CPU architectures supported by a given operating system will work. Look in - below to see if + below to see if there is information specific to your operating system, particularly if using an older system. @@ -1895,8 +1895,8 @@ export MANPATH This section documents additional platform-specific issues regarding the installation and setup of PostgreSQL. Be sure to read the installation instructions, and in - particular as well. Also, - check regarding the + particular as well. Also, + check regarding the interpretation of regression test results. @@ -2247,7 +2247,7 @@ ERROR: could not load library "/opt/dbs/pgsql/lib/plperl.so": Bad address PostgreSQL can be built using Cygwin, a Linux-like environment for Windows, but that method is inferior to the native Windows build - (see ) and + (see ) and running a server under Cygwin is no longer recommended. @@ -2441,7 +2441,7 @@ PHSS_30849 s700_800 u2comp/be/plugin library Patch Microsoft's Visual C++ compiler suite. The MinGW build variant uses the normal build system described in this chapter; the Visual C++ build works completely differently - and is described in . + and is described in . It is a fully native build and uses no additional software like MinGW. A ready-made installer is available on the main PostgreSQL web site. @@ -2602,7 +2602,7 @@ LIBOBJS = snprintf.o Using DTrace for Tracing PostgreSQL - Yes, using DTrace is possible. See for + Yes, using DTrace is possible. See for further information. diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml index 0cf9d5f3f6..b633cf3677 100644 --- a/doc/src/sgml/intarray.sgml +++ b/doc/src/sgml/intarray.sgml @@ -29,8 +29,8 @@ The functions provided by the intarray module - are shown in , the operators - in . + are shown in , the operators + in .
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml index 2fb19725f0..3038826311 100644 --- a/doc/src/sgml/intro.sgml +++ b/doc/src/sgml/intro.sgml @@ -23,13 +23,13 @@ - is an informal introduction for new users. + is an informal introduction for new users. - documents the SQL query + documents the SQL query language environment, including data types and functions, as well as user-level performance tuning. Every PostgreSQL user should read this. @@ -38,7 +38,7 @@ - describes the installation and + describes the installation and administration of the server. Everyone who runs a PostgreSQL server, be it for private use or for others, should read this part. @@ -47,7 +47,7 @@ - describes the programming + describes the programming interfaces for PostgreSQL client programs. @@ -56,7 +56,7 @@ - contains information for + contains information for advanced users about the extensibility capabilities of the server. Topics include user-defined data types and functions. @@ -65,7 +65,7 @@ - contains reference information about + contains reference information about SQL commands, client and server programs. This part supports the other parts with structured information sorted by command or program. @@ -74,7 +74,7 @@ - contains assorted information that might be of + contains assorted information that might be of use to PostgreSQL developers. diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml index 329b7b2c54..34d37ede01 100644 --- a/doc/src/sgml/isn.sgml +++ b/doc/src/sgml/isn.sgml @@ -25,7 +25,7 @@ Data Types - shows the data types provided by + shows the data types provided by the isn module. @@ -222,7 +222,7 @@ The isn module provides the standard comparison operators, plus B-tree and hash indexing support for all these data types. In - addition there are several specialized functions; shown in . + addition there are several specialized functions; shown in . In this table, isn means any one of the module's data types. diff --git a/doc/src/sgml/json.sgml b/doc/src/sgml/json.sgml index 05ecef2ffc..731b469613 100644 --- a/doc/src/sgml/json.sgml +++ b/doc/src/sgml/json.sgml @@ -18,7 +18,7 @@ the JSON data types have the advantage of enforcing that each stored value is valid according to the JSON rules. There are also assorted JSON-specific functions and operators available for data stored - in these data types; see . + in these data types; see . @@ -82,7 +82,7 @@ Many of the JSON processing functions described - in will convert Unicode escapes to + in will convert Unicode escapes to regular characters, and will therefore throw the same types of errors just described even if their input is of type json not jsonb. The fact that the json input function does @@ -98,7 +98,7 @@ When converting textual JSON input into jsonb, the primitive types described by RFC 7159 are effectively mapped onto native PostgreSQL types, as shown - in . + in . Therefore, there are some minor additional constraints on what constitutes valid jsonb data that do not apply to the json type, nor to JSON in the abstract, corresponding @@ -380,7 +380,7 @@ SELECT doc->'site_name' FROM websites The various containment and existence operators, along with all other JSON operators and functions are documented - in . + in . @@ -404,7 +404,7 @@ SELECT doc->'site_name' FROM websites and ?| operators and path/value-exists operator @>. (For details of the semantics that these operators - implement, see .) + implement, see .) An example of creating an index with this operator class is: CREATE INDEX idxgin ON api USING GIN (jdoc); @@ -465,7 +465,7 @@ CREATE INDEX idxgintags ON api USING GIN ((jdoc -> 'tags')); operator ? to the indexed expression jdoc -> 'tags'. (More information on expression indexes can be found in .) + linkend="indexes-expressional"/>.) Another approach to querying is to exploit containment, for example: diff --git a/doc/src/sgml/keywords.sgml b/doc/src/sgml/keywords.sgml index 01bc9b47b1..2dba7adedf 100644 --- a/doc/src/sgml/keywords.sgml +++ b/doc/src/sgml/keywords.sgml @@ -9,10 +9,10 @@ - lists all tokens that are key words + lists all tokens that are key words in the SQL standard and in PostgreSQL &version;. Background information can be found in . + linkend="sql-syntax-identifiers"/>. (For space reasons, only the latest two versions of the SQL standard, and SQL-92 for historical comparison, are included. The differences between those and the other intermediate standard versions are small.) @@ -45,7 +45,7 @@ - In in the column for + In in the column for PostgreSQL we classify as non-reserved those key words that are explicitly known to the parser but are allowed as column or table names. @@ -69,7 +69,7 @@ It is important to understand before studying that the fact that a key word is not + linkend="keywords-table"/> that the fact that a key word is not reserved in PostgreSQL does not mean that the feature related to the word is not implemented. Conversely, the presence of a key word does not indicate the existence of a feature. diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 694921f212..4703309254 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -25,15 +25,15 @@ those written for C++, Perl, Python, Tcl and ECPG. So some aspects of libpq's behavior will be important to you if you use one of those packages. In particular, - , - and - + , + and + describe behavior that is visible to the user of any application that uses libpq. - Some short programs are included at the end of this chapter () to show how + Some short programs are included at the end of this chapter () to show how to write programs that use libpq. There are also several complete examples of libpq applications in the directory src/test/examples in the source code distribution. @@ -118,7 +118,7 @@ PGconn *PQconnectdbParams(const char * const *keywords, The currently recognized parameter key words are listed in - . + . @@ -128,7 +128,7 @@ PGconn *PQconnectdbParams(const char * const *keywords, dbname is expanded this way, any subsequent dbname value is processed as plain database name. More details on the possible connection string formats appear in - . + . @@ -140,7 +140,7 @@ PGconn *PQconnectdbParams(const char * const *keywords, If any parameter is NULL or an empty string, the corresponding - environment variable (see ) is checked. + environment variable (see ) is checked. If the environment variable is not set either, then the indicated built-in defaults are used. @@ -176,7 +176,7 @@ PGconn *PQconnectdb(const char *conninfo); The passed string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace, or it can contain a URI. - See for details. + See for details. @@ -289,7 +289,7 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn); The hostaddr and host parameters are used appropriately to ensure that name and reverse name queries are not made. See the documentation of - these parameters in for details. + these parameters in for details. @@ -802,7 +802,7 @@ host=localhost port=5432 dbname=mydb connect_timeout=10 The recognized parameter key words are listed in . + linkend="libpq-paramkeywords"/>. @@ -847,7 +847,7 @@ postgresql:///mydb?host=localhost&port=5433 Any connection parameters not corresponding to key words listed in are ignored and a warning message about them + linkend="libpq-paramkeywords"/> are ignored and a warning message about them is sent to stderr. @@ -867,7 +867,7 @@ postgresql://[2001:db8::1234]/database The host component is interpreted as described for the parameter . In particular, a Unix-domain socket + linkend="libpq-connect-host"/>. In particular, a Unix-domain socket connection is chosen if the host part is either empty or starts with a slash, otherwise a TCP/IP connection is initiated. Note, however, that the slash is a reserved character in the hierarchical part of the URI. So, to @@ -954,7 +954,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname A comma-separated list of host names is also accepted, in which case each host name in the list is tried in order. See - for details. + for details. @@ -1006,13 +1006,13 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname is not the name of the server at network address hostaddr. Also, note that host rather than hostaddr is used to identify the connection in a password file (see - ). + ). A comma-separated list of hostaddrs is also accepted, in which case each host in the list is tried in order. See - for details. + for details. Without either a host name or host address, @@ -1044,7 +1044,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname The database name. Defaults to be the same as the user name. In certain contexts, the value is checked for extended - formats; see for more details on + formats; see for more details on those. @@ -1075,7 +1075,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname Specifies the name of the file used to store passwords - (see ). + (see ). Defaults to ~/.pgpass, or %APPDATA%\postgresql\pgpass.conf on Microsoft Windows. (No error is reported if this file does not exist.) @@ -1125,7 +1125,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname separate command-line arguments, unless escaped with a backslash (\); write \\ to represent a literal backslash. For a detailed discussion of the available - options, consult . + options, consult . @@ -1134,7 +1134,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname application_name - Specifies a value for the + Specifies a value for the configuration parameter. @@ -1145,7 +1145,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname Specifies a fallback value for the configuration parameter. + linkend="guc-application-name"/> configuration parameter. This value will be used if no value has been given for application_name via a connection parameter or the PGAPPNAME environment variable. Specifying @@ -1295,7 +1295,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname - See for a detailed description of how + See for a detailed description of how these options work. @@ -1430,7 +1430,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname to ensure that you are connected to a server run by a trusted user.) This option is only supported on platforms for which the peer authentication method is implemented; see - . + . @@ -1442,7 +1442,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname Kerberos service name to use when authenticating with GSSAPI. This must match the service name specified in the server configuration for Kerberos authentication to succeed. (See also - .) + .) @@ -1465,7 +1465,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname Service name to use for additional parameters. It specifies a service name in pg_service.conf that holds additional connection parameters. This allows applications to specify only a service name so connection parameters - can be centrally maintained. See . + can be centrally maintained. See . @@ -2225,7 +2225,7 @@ PGresult *PQexec(PGconn *conn, const char *command); PQexec call are processed in a single transaction, unless there are explicit BEGIN/COMMIT commands included in the query string to divide it into multiple - transactions. (See + transactions. (See for more details about how the server handles multi-query strings.) Note however that the returned PGresult structure describes only the result @@ -2447,7 +2447,7 @@ PGresult *PQprepare(PGconn *conn, PQprepare creates a prepared statement for later execution with PQexecPrepared. This feature allows commands to be executed repeatedly without being parsed and - planned each time; see for details. + planned each time; see for details. PQprepare is supported only in protocol 3.0 and later connections; it will fail when using protocol 2.0. @@ -2489,10 +2489,10 @@ PGresult *PQprepare(PGconn *conn, Prepared statements for use with PQexecPrepared can also - be created by executing SQL + be created by executing SQL statements. Also, although there is no libpq function for deleting a prepared statement, the SQL statement + linkend="sql-deallocate"/> statement can be used for that purpose. @@ -2746,7 +2746,7 @@ ExecStatusType PQresultStatus(const PGresult *res); The PGresult contains a single result tuple from the current command. This status occurs only when single-row mode has been selected for the query - (see ). + (see ). @@ -2770,7 +2770,7 @@ ExecStatusType PQresultStatus(const PGresult *res); never be returned directly by PQexec or other query execution functions; results of this kind are instead passed to the notice processor (see ). + linkend="libpq-notice-processing"/>). @@ -2941,7 +2941,7 @@ char *PQresultErrorField(const PGresult *res, int fieldcode); front-end applications to perform specific operations (such as error handling) in response to a particular database error. For a list of the possible SQLSTATE codes, see . This field is not localizable, + linkend="errcodes-appendix"/>. This field is not localizable, and is always present. @@ -3118,7 +3118,7 @@ char *PQresultErrorField(const PGresult *res, int fieldcode); The fields for schema name, table name, column name, data type name, and constraint name are supplied only for a limited number of error - types; see . Do not assume that + types; see . Do not assume that the presence of any of these fields guarantees the presence of another field. Core error sources observe the interrelationships noted above, but user-defined functions may use these fields in other @@ -4075,7 +4075,7 @@ unsigned char *PQescapeByteaConn(PGconn *conn, bytea literal in an SQL statement. PQescapeByteaConn escapes bytes using either hex encoding or backslash escaping. See for more information. + linkend="datatype-binary"/> for more information. @@ -4508,7 +4508,7 @@ PGresult *PQgetResult(PGconn *conn); Another frequently-desired feature that can be obtained with PQsendQuery and PQgetResult is retrieving large query results a row at a time. This is discussed - in . + in . @@ -4600,14 +4600,14 @@ int PQisBusy(PGconn *conn); PQgetResult if PQisBusy returns false (0). It can also call PQnotifies to detect NOTIFY messages (see ). + linkend="libpq-notify"/>). A client that uses PQsendQuery/PQgetResult can also attempt to cancel a command that is still being processed - by the server; see . But regardless of + by the server; see . But regardless of the return value of PQcancel, the application must continue with the normal result-reading sequence using PQgetResult. A successful cancellation will @@ -4753,7 +4753,7 @@ int PQflush(PGconn *conn); (or a sibling function). This mode selection is effective only for the currently executing query. Then call PQgetResult repeatedly, until it returns null, as documented in . If the query returns any rows, they are returned + linkend="libpq-async"/>. If the query returns any rows, they are returned as individual PGresult objects, which look like normal query results except for having status code PGRES_SINGLE_TUPLE instead of @@ -5119,7 +5119,7 @@ typedef struct pgNotify - gives a sample program that illustrates + gives a sample program that illustrates the use of asynchronous notification. @@ -5242,7 +5242,7 @@ typedef struct pgNotify 0 indicates the overall copy format is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary. See for more information. + linkend="sql-copy"/> for more information. @@ -5322,7 +5322,7 @@ int PQputCopyData(PGconn *conn, into buffer loads of any convenient size. Buffer-load boundaries have no semantic significance when sending. The contents of the data stream must match the data format expected by the - COPY command; see for details. + COPY command; see for details. @@ -5982,7 +5982,7 @@ char *PQencryptPasswordConn(PGconn *conn, const char *passwd, const char *user, version 10, and will not work correctly with older server versions. If algorithm is NULL, this function will query the server for the current value of the - setting. That can block, and + setting. That can block, and will fail if the current transaction is aborted, or if the connection is busy executing another query. If you wish to use the default algorithm for the server but want to avoid blocking, query @@ -6072,7 +6072,7 @@ PGresult *PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status); Fires a PGEVT_RESULTCREATE event (see ) for each event procedure registered in the + linkend="libpq-events"/>) for each event procedure registered in the PGresult object. Returns non-zero for success, zero if any event procedure fails. @@ -7004,7 +7004,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGHOST PGHOST behaves the same as the connection parameter. + linkend="libpq-connect-host"/> connection parameter. @@ -7014,7 +7014,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGHOSTADDR PGHOSTADDR behaves the same as the connection parameter. + linkend="libpq-connect-hostaddr"/> connection parameter. This can be set instead of or in addition to PGHOST to avoid DNS lookup overhead. @@ -7026,7 +7026,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGPORT PGPORT behaves the same as the connection parameter. + linkend="libpq-connect-port"/> connection parameter. @@ -7036,7 +7036,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGDATABASE PGDATABASE behaves the same as the connection parameter. + linkend="libpq-connect-dbname"/> connection parameter. @@ -7046,7 +7046,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGUSER PGUSER behaves the same as the connection parameter. + linkend="libpq-connect-user"/> connection parameter. @@ -7056,12 +7056,12 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGPASSWORD PGPASSWORD behaves the same as the connection parameter. + linkend="libpq-connect-password"/> connection parameter. Use of this environment variable is not recommended for security reasons, as some operating systems allow non-root users to see process environment variables via ps; instead consider using a password file - (see ). + (see ). @@ -7071,7 +7071,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGPASSFILE PGPASSFILE behaves the same as the connection parameter. + linkend="libpq-connect-passfile"/> connection parameter. @@ -7081,7 +7081,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSERVICE PGSERVICE behaves the same as the connection parameter. + linkend="libpq-connect-service"/> connection parameter. @@ -7093,7 +7093,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSERVICEFILE specifies the name of the per-user connection service file. If not set, it defaults to ~/.pg_service.conf - (see ). + (see ). @@ -7103,7 +7103,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGOPTIONS PGOPTIONS behaves the same as the connection parameter. + linkend="libpq-connect-options"/> connection parameter. @@ -7113,7 +7113,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGAPPNAME PGAPPNAME behaves the same as the connection parameter. + linkend="libpq-connect-application-name"/> connection parameter. @@ -7123,7 +7123,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLMODE PGSSLMODE behaves the same as the connection parameter. + linkend="libpq-connect-sslmode"/> connection parameter. @@ -7133,7 +7133,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGREQUIRESSL PGREQUIRESSL behaves the same as the connection parameter. + linkend="libpq-connect-requiressl"/> connection parameter. This environment variable is deprecated in favor of the PGSSLMODE variable; setting both variables suppresses the effect of this one. @@ -7146,7 +7146,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLCOMPRESSION PGSSLCOMPRESSION behaves the same as the connection parameter. + linkend="libpq-connect-sslcompression"/> connection parameter. @@ -7156,7 +7156,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLCERT PGSSLCERT behaves the same as the connection parameter. + linkend="libpq-connect-sslcert"/> connection parameter. @@ -7166,7 +7166,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLKEY PGSSLKEY behaves the same as the connection parameter. + linkend="libpq-connect-sslkey"/> connection parameter. @@ -7176,7 +7176,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLROOTCERT PGSSLROOTCERT behaves the same as the connection parameter. + linkend="libpq-connect-sslrootcert"/> connection parameter. @@ -7186,7 +7186,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGSSLCRL PGSSLCRL behaves the same as the connection parameter. + linkend="libpq-connect-sslcrl"/> connection parameter. @@ -7196,7 +7196,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGREQUIREPEER PGREQUIREPEER behaves the same as the connection parameter. + linkend="libpq-connect-requirepeer"/> connection parameter. @@ -7206,7 +7206,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGKRBSRVNAME PGKRBSRVNAME behaves the same as the connection parameter. + linkend="libpq-connect-krbsrvname"/> connection parameter. @@ -7216,7 +7216,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGGSSLIB PGGSSLIB behaves the same as the connection parameter. + linkend="libpq-connect-gsslib"/> connection parameter. @@ -7226,7 +7226,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGCONNECT_TIMEOUT PGCONNECT_TIMEOUT behaves the same as the connection parameter. + linkend="libpq-connect-connect-timeout"/> connection parameter. @@ -7236,7 +7236,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGCLIENTENCODING PGCLIENTENCODING behaves the same as the connection parameter. + linkend="libpq-connect-client-encoding"/> connection parameter. @@ -7246,7 +7246,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGTARGETSESSIONATTRS PGTARGETSESSIONATTRS behaves the same as the connection parameter. + linkend="libpq-connect-target-session-attrs"/> connection parameter. @@ -7255,8 +7255,8 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) The following environment variables can be used to specify default behavior for each PostgreSQL session. (See - also the - and + also the + and commands for ways to set default behavior on a per-user or per-database basis.) @@ -7293,7 +7293,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) - Refer to the SQL command + Refer to the SQL command for information on correct values for these environment variables. @@ -7348,7 +7348,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) %APPDATA% refers to the Application Data subdirectory in the user's profile). Alternatively, a password file can be specified - using the connection parameter + using the connection parameter or the environment variable PGPASSFILE. @@ -7422,7 +7422,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) The file uses an INI file format where the section name is the service name and the parameters are connection - parameters; see for a list. For + parameters; see for a list. For example: # comment @@ -7456,7 +7456,7 @@ user=admin LDAP connection parameter lookup uses the connection service file pg_service.conf (see ). A line in a + linkend="libpq-pgservice"/>). A line in a pg_service.conf stanza that starts with ldap:// will be recognized as an LDAP URL and an LDAP query will be performed. The result must be a list of @@ -7528,7 +7528,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) PostgreSQL has native support for using SSL connections to encrypt client/server communications for increased - security. See for details about the server-side + security. See for details about the server-side SSL functionality. @@ -7643,7 +7643,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) file, then its parent authority's certificate, and so on up to a certificate authority, root or intermediate, that is trusted by the server, i.e. signed by a certificate in the server's root CA file - (). + (). @@ -7728,7 +7728,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) All SSL options carry overhead in the form of encryption and key-exchange, so there is a trade-off that has to be made between performance - and security. + and security. illustrates the risks the different sslmode values protect against, and what statement they make about security and overhead. @@ -7828,7 +7828,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) SSL Client File Usage - summarizes the files that are + summarizes the files that are relevant to the SSL setup on the client. @@ -8027,7 +8027,7 @@ int PQisthreadsafe(); PGresult objects are normally read-only after creation, and so can be passed around freely between threads. However, if you use any of the PGresult-modifying functions described in - or , it's up + or , it's up to you to avoid concurrent operations on the same PGresult, too. diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml index 8d8ee82722..ab8d192bc1 100644 --- a/doc/src/sgml/lo.sgml +++ b/doc/src/sgml/lo.sgml @@ -102,7 +102,7 @@ CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image If you already have, or suspect you have, orphaned large objects, see the - module to help + module to help you clean them up. It's a good idea to run vacuumlo occasionally as a back-stop to the lo_manage trigger. diff --git a/doc/src/sgml/lobj.sgml b/doc/src/sgml/lobj.sgml index e11c8e0f8b..086cb8dbe8 100644 --- a/doc/src/sgml/lobj.sgml +++ b/doc/src/sgml/lobj.sgml @@ -83,8 +83,8 @@ As of PostgreSQL 9.0, large objects have an owner and a set of access permissions, which can be managed using - and - . + and + . SELECT privileges are required to read a large object, and UPDATE privileges are required to write or @@ -92,7 +92,7 @@ Only the large object's owner (or a database superuser) can delete, comment on, or change the owner of a large object. To adjust this behavior for compatibility with prior releases, see the - run-time parameter. + run-time parameter. @@ -301,7 +301,7 @@ int lo_open(PGconn *conn, Oid lobjId, int mode); checks were instead performed at the first actual read or write call using the descriptor.) These privilege checks can be disabled with the - run-time parameter. + run-time parameter. @@ -539,7 +539,7 @@ int lo_unlink(PGconn *conn, Oid lobjId); Server-side functions tailored for manipulating large objects from SQL are - listed in . + listed in .
@@ -656,7 +656,7 @@ SELECT lo_export(image.raster, '/tmp/motd') FROM image - It is possible to use of the + It is possible to use of the server-side lo_import and lo_export functions to non-superusers, but careful consideration of the security implications is required. A @@ -688,7 +688,7 @@ SELECT lo_export(image.raster, '/tmp/motd') FROM image Example Program - is a sample program which shows how the large object + is a sample program which shows how the large object interface in libpq can be used. Parts of the program are commented out but are left in the source for the reader's diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index 676ab1f5ad..75551d8ee1 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -8,7 +8,7 @@ changes, based upon their replication identity (usually a primary key). We use the term logical in contrast to physical replication, which uses exact block addresses and byte-by-byte replication. PostgreSQL supports both - mechanisms concurrently, see . Logical + mechanisms concurrently, see . Logical replication allows fine-grained control over both data replication and security. @@ -126,7 +126,7 @@ fallback if no other solution is possible. If a replica identity other than full is set on the publisher side, a replica identity comprising the same or fewer columns must also be set on the subscriber - side. See for details on + side. See for details on how to set the replica identity. If a table without a replica identity is added to a publication that replicates UPDATE or DELETE operations then @@ -140,13 +140,13 @@ - A publication is created using the + A publication is created using the command and may later be altered or dropped using corresponding commands. The individual tables can be added and removed dynamically using - . Both the ADD + . Both the ADD TABLE and DROP TABLE operations are transactional; so the table will start or stop replicating at the correct snapshot once the transaction has committed. @@ -179,14 +179,14 @@ Each subscription will receive changes via one replication slot (see - ). Additional temporary + ). Additional temporary replication slots may be required for the initial data synchronization of pre-existing table data. A logical replication subscription can be a standby for synchronous - replication (see ). The standby + replication (see ). The standby name is by default the subscription name. An alternative name can be specified as application_name in the connection information of the subscription. @@ -200,10 +200,10 @@ - The subscription is added using and + The subscription is added using and can be stopped/resumed at any time using the - command and removed using - . + command and removed using + . @@ -375,7 +375,7 @@ - Large objects (see ) are not replicated. + Large objects (see ) are not replicated. There is no workaround for that, other than storing data in normal tables. @@ -409,13 +409,13 @@ Logical replication is built with an architecture similar to physical - streaming replication (see ). It is + streaming replication (see ). It is implemented by walsender and apply processes. The walsender process starts logical decoding (described - in ) of the WAL and loads the standard + in ) of the WAL and loads the standard logical decoding plugin (pgoutput). The plugin transforms the changes read from WAL to the logical replication protocol - (see ) and filters the data + (see ) and filters the data according to the publication specification. The data is then continuously transferred using the streaming replication protocol to the apply worker, which maps the data to local tables and applies the individual changes as @@ -461,7 +461,7 @@ physical streaming replication, the monitoring on a publication node is similar to monitoring of a physical replication master - (see ). + (see ). diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml index 3b268c3f3c..6bab1b9b32 100644 --- a/doc/src/sgml/logicaldecoding.sgml +++ b/doc/src/sgml/logicaldecoding.sgml @@ -24,17 +24,17 @@ by INSERT and the new row version created by UPDATE. Availability of old row versions for UPDATE and DELETE depends on - the configured replica identity (see ). + the configured replica identity (see ). Changes can be consumed either using the streaming replication protocol - (see and - ), or by calling functions - via SQL (see ). It is also possible + (see and + ), or by calling functions + via SQL (see ). It is also possible to write additional methods of consuming the output of a replication slot without modifying core code - (see ). + (see ). @@ -47,8 +47,8 @@ Before you can use logical decoding, you must set - to logical and - to at least 1. Then, you + to logical and + to at least 1. Then, you should connect to the target database (in the example below, postgres) as a superuser. @@ -146,10 +146,10 @@ postgres=# SELECT pg_drop_replication_slot('regression_slot'); The following example shows how logical decoding is controlled over the streaming replication protocol, using the - program included in the PostgreSQL + program included in the PostgreSQL distribution. This requires that client authentication is set up to allow replication connections - (see ) and + (see ) and that max_wal_senders is set sufficiently high to allow an additional connection. @@ -208,7 +208,7 @@ $ pg_recvlogical -d postgres --slot test --drop-slot PostgreSQL also has streaming replication slots - (see ), but they are used somewhat + (see ), but they are used somewhat differently there. @@ -272,9 +272,9 @@ $ pg_recvlogical -d postgres --slot test --drop-slot Exported Snapshots When a new replication slot is created using the streaming replication - interface (see ), a + interface (see ), a snapshot is exported - (see ), which will show + (see ), which will show exactly the state of the database after which all changes will be included in the change stream. This can be used to create a new replica by using SET TRANSACTION @@ -313,11 +313,11 @@ $ pg_recvlogical -d postgres --slot test --drop-slot are used to create, drop, and stream changes from a replication slot, respectively. These commands are only available over a replication connection; they cannot be used via SQL. - See for details on these commands. + See for details on these commands. - The command can be used to control + The command can be used to control logical decoding over a streaming replication connection. (It uses these commands internally.) @@ -327,12 +327,12 @@ $ pg_recvlogical -d postgres --slot test --drop-slot Logical Decoding <acronym>SQL</acronym> Interface - See for detailed documentation on + See for detailed documentation on the SQL-level API for interacting with logical decoding. - Synchronous replication (see ) is + Synchronous replication (see ) is only supported on replication slots used over the streaming replication interface. The function interface and additional, non-core interfaces do not support synchronous replication. @@ -489,7 +489,7 @@ typedef struct OutputPluginOptions output_type has to either be set to OUTPUT_PLUGIN_TEXTUAL_OUTPUT or OUTPUT_PLUGIN_BINARY_OUTPUT. See also - . + . @@ -576,8 +576,8 @@ typedef void (*LogicalDecodeChangeCB) (struct LogicalDecodingContext *ctx, Only changes in user defined tables that are not unlogged - (see ) and not temporary - (see ) can be extracted using + (see ) and not temporary + (see ) can be extracted using logical decoding. @@ -685,7 +685,7 @@ OutputPluginWrite(ctx, true); src/backend/replication/logical/logicalfuncs.c. Essentially, three functions need to be provided: one to read WAL, one to prepare writing output, and one to write the output - (see ). + (see ). @@ -698,9 +698,9 @@ OutputPluginWrite(ctx, true); replication solutions with the same user interface as synchronous replication for streaming replication. To do this, the streaming replication interface - (see ) must be used to stream out + (see ) must be used to stream out data. Clients have to send Standby status update (F) - (see ) messages, just like streaming + (see ) messages, just like streaming replication clients do. diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml index 602d9403f7..ea362f8a1d 100644 --- a/doc/src/sgml/ltree.sgml +++ b/doc/src/sgml/ltree.sgml @@ -183,7 +183,7 @@ Europe & Russia*@ & !Transportation <, >, <=, >=. Comparison sorts in the order of a tree traversal, with the children of a node sorted by label text. In addition, the specialized - operators shown in are available. + operators shown in are available.
@@ -362,7 +362,7 @@ Europe & Russia*@ & !Transportation - The available functions are shown in . + The available functions are shown in .
@@ -672,7 +672,7 @@ ltreetest=> SELECT ins_label(path,2,'Space') FROM test WHERE path <@ 'Top. the ltree type for PL/Python. The extensions are called ltree_plpythonu, ltree_plpython2u, and ltree_plpython3u - (see for the PL/Python naming + (see for the PL/Python naming convention). If you install these transforms and specify them when creating a function, ltree values are mapped to Python lists. (The reverse is currently not supported, however.) diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 1a379058a2..4a68ec3b40 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -28,20 +28,20 @@ after a catastrophe (disk failure, fire, mistakenly dropping a critical table, etc.). The backup and recovery mechanisms available in PostgreSQL are discussed at length in - . + . The other main category of maintenance task is periodic vacuuming of the database. This activity is discussed in - . Closely related to this is updating + . Closely related to this is updating the statistics that will be used by the query planner, as discussed in - . + . Another task that might need periodic attention is log file management. - This is discussed in . + This is discussed in . @@ -70,7 +70,7 @@ PostgreSQL databases require periodic maintenance known as vacuuming. For many installations, it is sufficient to let vacuuming be performed by the autovacuum - daemon, which is described in . You might + daemon, which is described in . You might need to adjust the autovacuuming parameters described there to obtain best results for your situation. Some database administrators will want to supplement or replace the daemon's activities with manually-managed @@ -87,7 +87,7 @@ PostgreSQL's - command has to + command has to process each table on a regular basis for several reasons: @@ -140,7 +140,7 @@ traffic, which can cause poor performance for other active sessions. There are configuration parameters that can be adjusted to reduce the performance impact of background vacuuming — see - . + . @@ -156,7 +156,7 @@ UPDATE or DELETE of a row does not immediately remove the old version of the row. This approach is necessary to gain the benefits of multiversion - concurrency control (MVCC, see ): the row version + concurrency control (MVCC, see ): the row version must not be deleted while it is still potentially visible to other transactions. But eventually, an outdated or deleted row version is no longer of interest to any transaction. The space it occupies must then be @@ -217,7 +217,7 @@ their busiest tables as often as once every few minutes.) If you have multiple databases in a cluster, don't forget to VACUUM each one; the program might be helpful. + linkend="app-vacuumdb"/> might be helpful. @@ -227,9 +227,9 @@ massive update or delete activity. If you have such a table and you need to reclaim the excess disk space it occupies, you will need to use VACUUM FULL, or alternatively - + or one of the table-rewriting variants of - . + . These commands rewrite an entire new copy of the table and build new indexes for it. All these options require exclusive lock. Note that they also temporarily use extra disk space approximately equal to the size @@ -242,7 +242,7 @@ If you have a table whose entire contents are deleted on a periodic basis, consider doing it with - rather + rather than using DELETE followed by VACUUM. TRUNCATE removes the entire content of the table immediately, without requiring a @@ -269,7 +269,7 @@ The PostgreSQL query planner relies on statistical information about the contents of tables in order to generate good plans for queries. These statistics are gathered by - the command, + the command, which can be invoked by itself or as an optional step in VACUUM. It is important to have reasonably accurate statistics, otherwise poor choices of plans might @@ -323,7 +323,7 @@ clauses and have highly irregular data distributions might require a finer-grain data histogram than other columns. See ALTER TABLE SET STATISTICS, or change the database-wide default using the configuration parameter. + linkend="guc-default-statistics-target"/> configuration parameter. @@ -453,7 +453,7 @@ - + controls how old an XID value has to be before rows bearing that XID will be frozen. Increasing this setting may avoid unnecessary work if the rows that would otherwise be frozen will soon be modified again, @@ -471,7 +471,7 @@ Periodically, VACUUM will perform an aggressive vacuum, skipping only those pages which contain neither dead rows nor any unfrozen XID or MXID values. - + controls when VACUUM does that: all-visible but not all-frozen pages are scanned if the number of transactions that have passed since the last such scan is greater than vacuum_freeze_table_age minus @@ -488,7 +488,7 @@ that, data loss could result. To ensure that this does not happen, autovacuum is invoked on any table that might contain unfrozen rows with XIDs older than the age specified by the configuration parameter . (This will happen even if + linkend="guc-autovacuum-freeze-max-age"/>. (This will happen even if autovacuum is disabled.) @@ -636,7 +636,7 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. execute commands once it has gone into the safety shutdown mode, the only way to do this is to stop the server and start the server in single-user mode to execute VACUUM. The shutdown mode is not enforced - in single-user mode. See the reference + in single-user mode. See the reference page for details about using single-user mode. @@ -673,13 +673,13 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. Whenever VACUUM scans any part of a table, it will replace any multixact ID it encounters which is older than - + by a different value, which can be the zero value, a single transaction ID, or a newer multixact ID. For each table, pg_class.relminmxid stores the oldest possible multixact ID still appearing in any tuple of that table. If this value is older than - , an aggressive + , an aggressive vacuum is forced. As discussed in the previous section, an aggressive vacuum means that only those pages which are known to be all-frozen will be skipped. mxid_age() can be used on @@ -697,7 +697,7 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. As a safety device, an aggressive vacuum scan will occur for any table whose multixact-age is greater than - . Aggressive + . Aggressive vacuum scans will also occur progressively for all tables, starting with those that have the oldest multixact-age, if the amount of used member storage space exceeds the amount 50% of the addressable storage space. @@ -723,7 +723,7 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. tables that have had a large number of inserted, updated or deleted tuples. These checks use the statistics collection facility; therefore, autovacuum cannot be used unless is set to true. + linkend="guc-track-counts"/> is set to true. In the default configuration, autovacuuming is enabled and the related configuration parameters are appropriately set. @@ -734,17 +734,17 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. autovacuum launcher, which is in charge of starting autovacuum worker processes for all databases. The launcher will distribute the work across time, attempting to start one - worker within each database every + worker within each database every seconds. (Therefore, if the installation has N databases, a new worker will be launched every autovacuum_naptime/N seconds.) - A maximum of worker processes + A maximum of worker processes are allowed to run at the same time. If there are more than autovacuum_max_workers databases to be processed, the next database will be processed as soon as the first worker finishes. Each worker process will check each table within its database and execute VACUUM and/or ANALYZE as needed. - can be set to monitor + can be set to monitor autovacuum workers' activity. @@ -756,13 +756,13 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. available. There is no limit on how many workers might be in a single database, but workers do try to avoid repeating work that has already been done by other workers. Note that the number of running - workers does not count towards or - limits. + workers does not count towards or + limits. Tables whose relfrozenxid value is more than - transactions old are always + transactions old are always vacuumed (this also applies to those tables whose freeze max age has been modified via storage parameters; see below). Otherwise, if the number of tuples obsoleted since the last @@ -772,9 +772,9 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. vacuum threshold = vacuum base threshold + vacuum scale factor * number of tuples where the vacuum base threshold is - , + , the vacuum scale factor is - , + , and the number of tuples is pg_class.reltuples. The number of obsolete tuples is obtained from the statistics @@ -808,16 +808,16 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu postgresql.conf, but it is possible to override them (and many other autovacuum control parameters) on a per-table basis; see for more information. + endterm="sql-createtable-storage-parameters-title"/> for more information. If a setting has been changed via a table's storage parameters, that value is used when processing that table; otherwise the global settings are - used. See for more details on + used. See for more details on the global settings. When multiple workers are running, the autovacuum cost delay parameters - (see ) are + (see ) are balanced among all the running workers, so that the total I/O impact on the system is the same regardless of the number of workers actually running. However, any workers processing tables whose @@ -838,7 +838,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu In some situations it is worthwhile to rebuild indexes periodically - with the command or a series of individual + with the command or a series of individual rebuilding steps. @@ -868,16 +868,16 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu - can be used safely and easily in all cases. + can be used safely and easily in all cases. But since the command requires an exclusive table lock, it is often preferable to execute an index rebuild with a sequence of creation and replacement steps. Index types that support - with the CONCURRENTLY + with the CONCURRENTLY option can instead be recreated that way. If that is successful and the resulting index is valid, the original index can then be replaced by - the newly built one using a combination of - and . When an index is used to enforce - uniqueness or other constraints, might + the newly built one using a combination of + and . When an index is used to enforce + uniqueness or other constraints, might be necessary to swap the existing constraint with one enforced by the new index. Review this alternate multistep rebuild approach carefully before using it as there are limitations on which @@ -922,7 +922,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu setting the configuration parameter logging_collector to true in postgresql.conf. The control parameters for this program are described in . You can also use this approach + linkend="runtime-config-logging-where"/>. You can also use this approach to capture the log data in machine readable CSV (comma-separated values) format. diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml index f005538220..0154064e50 100644 --- a/doc/src/sgml/manage-ag.sgml +++ b/doc/src/sgml/manage-ag.sgml @@ -49,20 +49,20 @@ resources, they should be put in the same database but possibly into separate schemas. Schemas are a purely logical structure and who can access what is managed by the privilege system. More information about - managing schemas is in . + managing schemas is in . Databases are created with the CREATE DATABASE command - (see ) and destroyed with the + (see ) and destroyed with the DROP DATABASE command - (see ). + (see ). To determine the set of existing databases, examine the pg_database system catalog, for example SELECT datname FROM pg_database; - The program's \l meta-command + The program's \l meta-command and command-line option are also useful for listing the existing databases. @@ -83,12 +83,12 @@ SELECT datname FROM pg_database; In order to create a database, the PostgreSQL server must be up and running (see ). + linkend="server-start"/>). Databases are created with the SQL command - : + : CREATE DATABASE name; @@ -101,7 +101,7 @@ CREATE DATABASE name; The creation of databases is a restricted operation. See for how to grant permission. + linkend="role-attributes"/> for how to grant permission. @@ -110,7 +110,7 @@ CREATE DATABASE name; question remains how the first database at any given site can be created. The first database is always created by the initdb command when the data storage area is - initialized. (See .) This + initialized. (See .) This database is called postgres.postgres So to create the first ordinary database you can connect to @@ -127,7 +127,7 @@ CREATE DATABASE name; propagated to all subsequently created databases. Because of this, avoid creating objects in template1 unless you want them propagated to every newly created database. More details - appear in . + appear in . @@ -142,14 +142,14 @@ createdb dbname createdb does no magic. It connects to the postgres database and issues the CREATE DATABASE command, exactly as described above. - The reference page contains the invocation + The reference page contains the invocation details. Note that createdb without any arguments will create a database with the current user name. - contains information about + contains information about how to restrict who can connect to a given database. @@ -283,7 +283,7 @@ createdb -T template0 dbname Database Configuration - Recall from that the + Recall from that the PostgreSQL server provides a large number of run-time configuration variables. You can set database-specific default values for many of these settings. @@ -315,7 +315,7 @@ ALTER DATABASE mydb SET geqo TO off; Databases are destroyed with the command - :DROP DATABASE + :DROP DATABASE DROP DATABASE name; @@ -337,7 +337,7 @@ DROP DATABASE name; For convenience, there is also a shell program to drop - databases, :dropdb + databases, :dropdb dropdb dbname @@ -396,7 +396,7 @@ dropdb dbname To define a tablespace, use the + linkend="sql-createtablespace"/> command, for example:CREATE TABLESPACE: CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data'; @@ -438,7 +438,7 @@ CREATE TABLE foo(i int) TABLESPACE space1; - Alternatively, use the parameter: + Alternatively, use the parameter: SET default_tablespace = space1; CREATE TABLE foo(i int); @@ -450,7 +450,7 @@ CREATE TABLE foo(i int); - There is also a parameter, which + There is also a parameter, which determines the placement of temporary tables and indexes, as well as temporary files that are used for purposes such as sorting large data sets. This can be a list of tablespace names, rather than only one, @@ -490,7 +490,7 @@ CREATE TABLE foo(i int); To remove an empty tablespace, use the + linkend="sql-droptablespace"/> command. @@ -501,7 +501,7 @@ CREATE TABLE foo(i int); SELECT spcname FROM pg_tablespace; - The program's \db meta-command + The program's \db meta-command is also useful for listing the existing tablespaces. diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 6f8203355e..8d461c8145 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -27,8 +27,8 @@ ps, top, iostat, and vmstat. Also, once one has identified a poorly-performing query, further investigation might be needed using - PostgreSQL's command. - discusses EXPLAIN + PostgreSQL's command. + discusses EXPLAIN and other methods for understanding the behavior of an individual query. @@ -92,7 +92,7 @@ postgres: user database - If has been configured the + If has been configured the cluster name will also be shown in ps output: $ psql -c 'SHOW cluster_name' @@ -108,7 +108,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser - If you have turned off then the + If you have turned off then the activity indicator is not updated; the process title is set only once when a new process is launched. On some platforms this saves a measurable amount of per-command overhead; on others it's insignificant. @@ -161,27 +161,27 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser Since collection of statistics adds some overhead to query execution, the system can be configured to collect or not collect information. This is controlled by configuration parameters that are normally set in - postgresql.conf. (See for + postgresql.conf. (See for details about setting configuration parameters.) - The parameter enables monitoring + The parameter enables monitoring of the current command being executed by any server process. - The parameter controls whether + The parameter controls whether statistics are collected about table and index accesses. - The parameter enables tracking of + The parameter enables tracking of usage of user-defined functions. - The parameter enables monitoring + The parameter enables monitoring of block read and write times. @@ -189,7 +189,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser Normally these parameters are set in postgresql.conf so that they apply to all server processes, but it is possible to turn them on or off in individual sessions using the command. (To prevent + linkend="sql-set"/> command. (To prevent ordinary users from hiding their activity from the administrator, only superusers are allowed to change these parameters with SET.) @@ -199,7 +199,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser The statistics collector transmits the collected information to other PostgreSQL processes through temporary files. These files are stored in the directory named by the - parameter, + parameter, pg_stat_tmp by default. For better performance, stats_temp_directory can be pointed at a RAM-based file system, decreasing physical I/O requirements. @@ -217,13 +217,13 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser Several predefined views, listed in , are available to show + linkend="monitoring-stats-dynamic-views-table"/>, are available to show the current state of the system. There are also several other views, listed in , available to show the results + linkend="monitoring-stats-views-table"/>, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed - in . + in . @@ -288,7 +288,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row per server process, showing information related to the current activity of that process, such as state and current query. - See for details. + See for details. @@ -296,7 +296,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_replicationpg_stat_replication One row per WAL sender process, showing statistics about replication to that sender's connected standby server. - See for details. + See for details. @@ -304,7 +304,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_wal_receiverpg_stat_wal_receiver Only one row, showing statistics about the WAL receiver from that receiver's connected server. - See for details. + See for details. @@ -312,7 +312,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_subscriptionpg_stat_subscription At least one row per subscription, showing information about the subscription workers. - See for details. + See for details. @@ -320,7 +320,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_sslpg_stat_ssl One row per connection (regular and replication), showing information about SSL used on this connection. - See for details. + See for details. @@ -328,7 +328,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_progress_vacuumpg_stat_progress_vacuum One row for each backend (including autovacuum worker processes) running VACUUM, showing current progress. - See . + See . @@ -352,7 +352,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_archiverpg_stat_archiver One row only, showing statistics about the WAL archiver process's activity. See - for details. + for details. @@ -360,14 +360,14 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser pg_stat_bgwriterpg_stat_bgwriter One row only, showing statistics about the background writer process's activity. See - for details. + for details. pg_stat_databasepg_stat_database One row per database, showing database-wide statistics. See - for details. + for details. @@ -376,7 +376,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row per database, showing database-wide statistics about query cancels due to conflict with recovery on standby servers. - See for details. + See for details. @@ -385,7 +385,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each table in the current database, showing statistics about accesses to that specific table. - See for details. + See for details. @@ -427,7 +427,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each index in the current database, showing statistics about accesses to that specific index. - See for details. + See for details. @@ -448,7 +448,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each table in the current database, showing statistics about I/O on that specific table. - See for details. + See for details. @@ -469,7 +469,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each index in the current database, showing statistics about I/O on that specific index. - See for details. + See for details. @@ -490,7 +490,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each sequence in the current database, showing statistics about I/O on that specific sequence. - See for details. + See for details. @@ -512,7 +512,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser One row for each tracked function, showing statistics about executions of that function. See - for details. + for details. @@ -609,7 +609,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when is enabled. + linkend="guc-log-hostname"/> is enabled. @@ -731,7 +731,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser wait_event text Wait event name if backend is currently waiting, otherwise NULL. - See for details. + See for details. @@ -772,7 +772,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser disabled: This state is reported if is disabled in this backend. + linkend="guc-track-activities"/> is disabled in this backend. @@ -796,7 +796,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 characters; this value can be changed via the parameter - . + . @@ -1683,7 +1683,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when is enabled. + linkend="guc-log-hostname"/> is enabled. @@ -1704,7 +1704,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i backend_xmin xid This standby's xmin horizon reported - by . + by . state @@ -2347,7 +2347,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i bigint Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see - for details.) + for details.) @@ -2356,7 +2356,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the - setting. + setting. @@ -2365,7 +2365,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and - regardless of the setting. + regardless of the setting. @@ -2942,7 +2942,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of - that function. The parameter + that function. The parameter controls exactly which functions are tracked. @@ -2967,7 +2967,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i Additional functions related to statistics collection are listed in . + linkend="monitoring-stats-funcs-table"/>.
@@ -3074,7 +3074,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i Sometimes it may be more convenient to obtain just a subset of this information. In such cases, an older set of per-backend statistics access functions can be used; these are shown in . + linkend="monitoring-stats-backend-funcs-table"/>. These access functions use a backend ID number, which ranges from one to the number of currently active backends. The function pg_stat_get_backend_idset provides a @@ -3162,7 +3162,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, pg_stat_get_backend_wait_event_type(integer) text Wait event type name if backend is currently waiting, otherwise NULL. - See for details. + See for details. @@ -3170,7 +3170,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, pg_stat_get_backend_wait_event(integer) text Wait event name if backend is currently waiting, otherwise NULL. - See for details. + See for details. @@ -3230,9 +3230,9 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, Details of the pg_locks view appear in - . + . For more information on locking and managing concurrency with - PostgreSQL, refer to . + PostgreSQL, refer to . @@ -3296,7 +3296,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, phase text - Current processing phase of vacuum. See . + Current processing phase of vacuum. See . @@ -3343,7 +3343,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on - . + . @@ -3390,7 +3390,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, VACUUM is currently vacuuming the indexes. If a table has any indexes, this will happen at least once per vacuum, after the heap has been completely scanned. It may happen multiple times per vacuum - if is insufficient to + if is insufficient to store the number of dead tuples found. @@ -3478,7 +3478,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, explicitly tell the configure script to make the probes available in PostgreSQL. To include DTrace support specify to configure. See for further information. + linkend="install-procedure"/> for further information. @@ -3487,8 +3487,8 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, A number of standard probes are provided in the source code, - as shown in ; - + as shown in ; + shows the types used in the probes. More probes can certainly be added to enhance PostgreSQL's observability. @@ -3752,7 +3752,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, (ForkNumber, BlockNumber, Oid, Oid, Oid) Probe that fires when a server process begins to write a dirty buffer. (If this happens often, it implies that - is too + is too small or the background writer control parameters need adjustment.) arg0 and arg1 contain the fork and block numbers of the page. arg2, arg3, and arg4 contain the tablespace, database, and relation OIDs @@ -3770,7 +3770,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, Probe that fires when a server process begins to write a dirty WAL buffer because no more WAL buffer space is available. (If this happens often, it implies that - is too small.) + is too small.) wal-buffer-write-dirty-done diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml index a0ca2851e5..24613e3c75 100644 --- a/doc/src/sgml/mvcc.sgml +++ b/doc/src/sgml/mvcc.sgml @@ -165,7 +165,7 @@ transaction isolation level The SQL standard and PostgreSQL-implemented transaction isolation levels - are described in . + are described in .
@@ -286,7 +286,7 @@ To set the transaction isolation level of a transaction, use the - command . + command . @@ -296,8 +296,8 @@ made to a sequence (and therefore the counter of a column declared using serial) are immediately visible to all other transactions and are not rolled back if the transaction - that made the changes aborts. See - and . + that made the changes aborts. See + and . @@ -461,7 +461,7 @@ COMMIT; even though they are not yet committed.) This is a stronger guarantee than is required by the SQL standard for this isolation level, and prevents all of the phenomena described - in except for serialization + in except for serialization anomalies. As mentioned above, this is specifically allowed by the standard, which only describes the minimum protections each isolation level must @@ -748,7 +748,7 @@ ERROR: could not serialize access due to read/write dependencies among transact Don't leave connections dangling idle in transaction longer than necessary. The configuration parameter - may be used to + may be used to automatically disconnect lingering sessions. @@ -765,9 +765,9 @@ ERROR: could not serialize access due to read/write dependencies among transact locks into a single relation-level predicate lock because the predicate lock table is short of memory, an increase in the rate of serialization failures may occur. You can avoid this by increasing - , - , and/or - . + , + , and/or + . @@ -775,8 +775,8 @@ ERROR: could not serialize access due to read/write dependencies among transact A sequential scan will always necessitate a relation-level predicate lock. This can result in an increased rate of serialization failures. It may be helpful to encourage the use of index scans by reducing - and/or increasing - . Be sure to weigh any decrease + and/or increasing + . Be sure to weigh any decrease in transaction rollbacks and restarts against any overall change in query execution time. @@ -811,7 +811,7 @@ ERROR: could not serialize access due to read/write dependencies among transact server, use the pg_locks system view. For more information on monitoring the status of the lock - manager subsystem, refer to . + manager subsystem, refer to . @@ -826,14 +826,14 @@ ERROR: could not serialize access due to read/write dependencies among transact which they are used automatically by PostgreSQL. You can also acquire any of these locks explicitly with the command . + linkend="sql-lock"/>. Remember that all of these lock modes are table-level locks, even if the name contains the word row; the names of the lock modes are historical. To some extent the names reflect the typical usage of each lock mode — but the semantics are all the same. The only real difference between one lock mode and another is the set of lock modes with - which each conflicts (see ). + which each conflicts (see ). Two transactions cannot hold locks of conflicting modes on the same table at the same time. (However, a transaction never conflicts with itself. For example, it might acquire @@ -929,7 +929,7 @@ ERROR: could not serialize access due to read/write dependencies among transact CREATE STATISTICS and ALTER TABLE VALIDATE and other ALTER TABLE variants (for full details see - ). + ). @@ -972,7 +972,7 @@ ERROR: could not serialize access due to read/write dependencies among transact Acquired by CREATE COLLATION, CREATE TRIGGER, and many forms of - ALTER TABLE (see ). + ALTER TABLE (see ). @@ -1053,9 +1053,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
Conflicting Lock Modes - - - + + + Requested Lock Mode @@ -1173,7 +1173,7 @@ ERROR: could not serialize access due to read/write dependencies among transact In addition to table-level locks, there are row-level locks, which are listed as below with the contexts in which they are used automatically by PostgreSQL. See - for a complete table of + for a complete table of row-level lock conflicts. Note that a transaction can hold conflicting locks on the same row, even in different subtransactions; but other than that, two transactions can never hold conflicting locks @@ -1208,7 +1208,7 @@ ERROR: could not serialize access due to read/write dependencies among transact SERIALIZABLE transaction, however, an error will be thrown if a row to be locked has changed since the transaction started. For further discussion see - . + . The FOR UPDATE lock mode @@ -1286,9 +1286,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
Conflicting Row-level Locks - - - + + + Requested Lock Mode @@ -1495,8 +1495,8 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222; Both advisory locks and regular locks are stored in a shared memory pool whose size is defined by the configuration variables - and - . + and + . Care must be taken not to exhaust this memory or the server will be unable to grant any locks at all. This imposes an upper limit on the number of advisory locks @@ -1529,7 +1529,7 @@ SELECT pg_advisory_lock(q.id) FROM The functions provided to manipulate advisory locks are described in - . + . @@ -1565,7 +1565,7 @@ SELECT pg_advisory_lock(q.id) FROM - As mentioned in , Serializable + As mentioned in , Serializable transactions are just Repeatable Read transactions which add nonblocking monitoring for dangerous patterns of read/write conflicts. When a pattern is detected which could cause a cycle in the apparent @@ -1598,13 +1598,13 @@ SELECT pg_advisory_lock(q.id) FROM - See for performance suggestions. + See for performance suggestions. This level of integrity protection using Serializable transactions - does not yet extend to hot standby mode (). + does not yet extend to hot standby mode (). Because of that, those using hot standby may want to use Repeatable Read and explicit locking on the master. @@ -1687,8 +1687,8 @@ SELECT pg_advisory_lock(q.id) FROM Caveats - Some DDL commands, currently only and the - table-rewriting forms of , are not + Some DDL commands, currently only and the + table-rewriting forms of , are not MVCC-safe. This means that after the truncation or rewrite commits, the table will appear empty to concurrent transactions, if they are using a snapshot taken before the DDL command committed. This will only be an @@ -1705,7 +1705,7 @@ SELECT pg_advisory_lock(q.id) FROM Support for the Serializable transaction isolation level has not yet been added to Hot Standby replication targets (described in - ). The strictest isolation level currently + ). The strictest isolation level currently supported in hot standby mode is Repeatable Read. While performing all permanent database writes within Serializable transactions on the master will ensure that all standbys will eventually reach a consistent diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml index f312b5bfb5..16e25abd31 100644 --- a/doc/src/sgml/nls.sgml +++ b/doc/src/sgml/nls.sgml @@ -272,7 +272,7 @@ msgstr "Die Datei %2$s hat %1$u Zeichen." open file %s) should probably not start with a capital letter (if your language distinguishes letter case) or end with a period (if your language uses punctuation marks). - It might help to read . + It might help to read . diff --git a/doc/src/sgml/oid2name.sgml b/doc/src/sgml/oid2name.sgml index 4ab2cf1a85..dd875281c8 100644 --- a/doc/src/sgml/oid2name.sgml +++ b/doc/src/sgml/oid2name.sgml @@ -30,7 +30,7 @@ oid2name is a utility program that helps administrators to examine the file structure used by PostgreSQL. To make use of it, you need to be familiar with the database file structure, which is described in - . + . diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml index 6aac506942..f15a9233cb 100644 --- a/doc/src/sgml/parallel.sgml +++ b/doc/src/sgml/parallel.sgml @@ -64,10 +64,10 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; worker processes equal to the number of workers chosen by the planner. The number of background workers that the planner will consider using is limited to at most - . The total number + . The total number of background workers that can exist at any one time is limited by both - and - . Therefore, it is possible for a + and + . Therefore, it is possible for a parallel query to run with fewer workers than planned, or even with no workers at all. The optimal plan may depend on the number of workers that are available, so this can result in poor query performance. If this @@ -118,7 +118,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; - must be set to a + must be set to a value which is greater than zero. This is a special case of the more general principle that no more workers should be used than the number configured via max_parallel_workers_per_gather. @@ -127,7 +127,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; - must be set to a + must be set to a value other than none. Parallel query requires dynamic shared memory in order to pass data between cooperating processes. @@ -178,7 +178,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; Most system-defined functions are PARALLEL SAFE, but user-defined functions are marked PARALLEL UNSAFE by default. See the discussion of - . + . @@ -215,7 +215,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; No background workers can be obtained because of the limitation that the total number of background workers cannot exceed - . + . @@ -223,7 +223,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; No background workers can be obtained because of the limitation that the total number of background workers launched for purposes of - parallel query cannot exceed . + parallel query cannot exceed . @@ -236,7 +236,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; send such a message, this can only occur when using a client that does not rely on libpq. If this is a frequent occurrence, it may be a good idea to set - to zero in + to zero in sessions where it is likely, so as to avoid generating query plans that may be suboptimal when run serially. @@ -374,7 +374,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; must be safe for parallelism and must have a combine function. If the aggregate has a transition state of type internal, it must have serialization and deserialization - functions. See for more details. + functions. See for more details. Parallel aggregation is not supported if any aggregate function call contains DISTINCT or ORDER BY clause and is also not supported for ordered set aggregates or when the query involves @@ -389,15 +389,15 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; If a query that is expected to do so does not produce a parallel plan, - you can try reducing or - . Of course, this plan may turn + you can try reducing or + . Of course, this plan may turn out to be slower than the serial plan which the planner preferred, but this will not always be the case. If you don't get a parallel plan even with very small values of these settings (e.g. after setting them both to zero), there may be some reason why the query planner is unable to generate a parallel plan for your query. See - and - for information on why this may be + and + for information on why this may be the case. @@ -473,11 +473,11 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; where it conceivably be done, we do not try, since this would be expensive and error-prone. Instead, all user-defined functions are assumed to be parallel unsafe unless otherwise marked. When using - or - , markings can be set by specifying + or + , markings can be set by specifying PARALLEL SAFE, PARALLEL RESTRICTED, or PARALLEL UNSAFE as appropriate. When using - , the + , the PARALLEL option can be specified with SAFE, RESTRICTED, or UNSAFE as the corresponding value. diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml index d034f8887f..3db169b4c1 100644 --- a/doc/src/sgml/passwordcheck.sgml +++ b/doc/src/sgml/passwordcheck.sgml @@ -10,15 +10,15 @@ The passwordcheck module checks users' passwords whenever they are set with - or - . + or + . If a password is considered too weak, it will be rejected and the command will terminate with an error. To enable this module, add '$libdir/passwordcheck' - to in + to in postgresql.conf, then restart the server. @@ -49,7 +49,7 @@ For this reason, passwordcheck is not recommended if your security requirements are high. It is more secure to use an external authentication method such as GSSAPI - (see ) than to rely on + (see ) than to rely on passwords within the database. diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index fed5c956a2..a51fd1c7dc 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -31,7 +31,7 @@ plan to match the query structure and the properties of the data is absolutely critical for good performance, so the system includes a complex planner that tries to choose good plans. - You can use the command + You can use the command to see what query plan the planner creates for any query. Plan-reading is an art that requires some experience to master, but this section attempts to cover the basics. @@ -132,9 +132,9 @@ EXPLAIN SELECT * FROM tenk1; The costs are measured in arbitrary units determined by the planner's - cost parameters (see ). + cost parameters (see ). Traditional practice is to measure the costs in units of disk page - fetches; that is, is conventionally + fetches; that is, is conventionally set to 1.0 and the other cost parameters are set relative to that. The examples in this section are run with the default cost parameters. @@ -182,8 +182,8 @@ SELECT relpages, reltuples FROM pg_class WHERE relname = 'tenk1'; you will find that tenk1 has 358 disk pages and 10000 rows. The estimated cost is computed as (disk pages read * - ) + (rows scanned * - ). By default, + ) + (rows scanned * + ). By default, seq_page_cost is 1.0 and cpu_tuple_cost is 0.01, so the estimated cost is (358 * 1.0) + (10000 * 0.01) = 458. @@ -209,7 +209,7 @@ EXPLAIN SELECT * FROM tenk1 WHERE unique1 < 7000; WHERE clause. However, the scan will still have to visit all 10000 rows, so the cost hasn't decreased; in fact it has gone up a bit (by 10000 * , to be exact) to reflect the extra CPU + linkend="guc-cpu-operator-cost"/>, to be exact) to reflect the extra CPU time spent checking the WHERE condition. @@ -508,9 +508,9 @@ WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2; One way to look at variant plans is to force the planner to disregard whatever strategy it thought was the cheapest, using the enable/disable - flags described in . + flags described in . (This is a crude tool, but useful. See - also .) + also .) For example, if we're unconvinced that sequential-scan-and-sort is the best way to deal with table onek in the previous example, we could try @@ -828,7 +828,7 @@ EXPLAIN UPDATE parent SET f2 = f2 + 1 WHERE f1 = 101; Second, the measurement overhead added by EXPLAIN ANALYZE can be significant, especially on machines with slow gettimeofday() operating-system calls. You can use the - tool to measure the overhead of timing + tool to measure the overhead of timing on your system. @@ -1032,7 +1032,7 @@ WHERE tablename = 'road'; arrays for each column, can be set on a column-by-column basis using the ALTER TABLE SET STATISTICS command, or globally by setting the - configuration variable. + configuration variable. The default limit is presently 100 entries. Raising the limit might allow more accurate planner estimates to be made, particularly for columns with irregular data distributions, at the price of consuming @@ -1043,7 +1043,7 @@ WHERE tablename = 'road'; Further details about the planner's use of statistics can be found in - . + . @@ -1087,7 +1087,7 @@ WHERE tablename = 'road'; Statistics objects are created using - , which see for more details. + , which see for more details. Creation of such an object merely creates a catalog entry expressing interest in the statistics. Actual data collection is performed by ANALYZE (either a manual command, or background @@ -1323,7 +1323,7 @@ SELECT * FROM a, b, c WHERE a.id = b.id AND b.ref = c.id; PostgreSQL planner will switch from exhaustive search to a genetic probabilistic search through a limited number of possibilities. (The switch-over threshold is - set by the run-time + set by the run-time parameter.) The genetic search takes less time, but it won't necessarily find the best possible plan. @@ -1379,7 +1379,7 @@ SELECT * FROM a JOIN (b JOIN c ON (b.ref = c.id)) ON (a.id = b.id); To force the planner to follow the join order laid out by explicit JOINs, - set the run-time parameter to 1. + set the run-time parameter to 1. (Other possible values are discussed below.) @@ -1436,8 +1436,8 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; - and + and are similarly named because they do almost the same thing: one controls when the planner will flatten out subqueries, and the other controls when it will flatten out explicit joins. Typically @@ -1488,7 +1488,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; Use <command>COPY</command> - Use to load + Use to load all the rows in one command, instead of using a series of INSERT commands. The COPY command is optimized for loading large numbers of rows; it is less @@ -1500,7 +1500,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; If you cannot use COPY, it might help to use to create a + linkend="sql-prepare"/> to create a prepared INSERT statement, and then use EXECUTE as many times as required. This avoids some of the overhead of repeatedly parsing and planning @@ -1523,7 +1523,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; needs to be written, because in case of an error, the files containing the newly loaded data will be removed anyway. However, this consideration only applies when - is minimal as all commands + is minimal as all commands must write WAL otherwise. @@ -1581,7 +1581,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; Increase <varname>maintenance_work_mem</varname> - Temporarily increasing the + Temporarily increasing the configuration variable when loading large amounts of data can lead to improved performance. This will help to speed up CREATE INDEX commands and ALTER TABLE ADD FOREIGN KEY commands. @@ -1594,7 +1594,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; Increase <varname>max_wal_size</varname> - Temporarily increasing the + Temporarily increasing the configuration variable can also make large data loads faster. This is because loading a large amount of data into PostgreSQL will @@ -1617,9 +1617,9 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; new base backup after the load has completed than to process a large amount of incremental WAL data. To prevent incremental WAL logging while loading, disable archiving and streaming replication, by setting - to minimal, - to off, and - to zero. + to minimal, + to off, and + to zero. But note that changing these settings requires a server restart. @@ -1668,7 +1668,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; Whenever you have significantly altered the distribution of data - within a table, running is strongly recommended. This + within a table, running is strongly recommended. This includes bulk loading large amounts of data into the table. Running ANALYZE (or VACUUM ANALYZE) ensures that the planner has up-to-date statistics about the @@ -1677,8 +1677,8 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; performance on any tables with inaccurate or nonexistent statistics. Note that if the autovacuum daemon is enabled, it might run ANALYZE automatically; see - - and for more information. + + and for more information. @@ -1779,8 +1779,8 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; maintenance_work_mem; rather, you'd do that while manually recreating indexes and foreign keys afterwards. And don't forget to ANALYZE when you're done; see - - and for more information. + + and for more information. @@ -1816,14 +1816,14 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; - Turn off ; there is no need to flush + Turn off ; there is no need to flush data to disk. - Turn off ; there might be no + Turn off ; there might be no need to force WAL writes to disk on every commit. This setting does risk transaction loss (though not data corruption) in case of a crash of the database. @@ -1832,15 +1832,15 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; - Turn off ; there is no need + Turn off ; there is no need to guard against partial page writes. - Increase and ; this reduces the frequency + Increase and ; this reduces the frequency of checkpoints, but increases the storage requirements of /pg_wal. diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml index 18ac781d0d..faf5a3115d 100644 --- a/doc/src/sgml/pgbuffercache.sgml +++ b/doc/src/sgml/pgbuffercache.sgml @@ -33,7 +33,7 @@ The <structname>pg_buffercache</structname> View - The definitions of the columns exposed by the view are shown in . + The definitions of the columns exposed by the view are shown in .
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml index 80595e193b..25341d684c 100644 --- a/doc/src/sgml/pgcrypto.sgml +++ b/doc/src/sgml/pgcrypto.sgml @@ -40,7 +40,7 @@ digest(data bytea, type text) returns bytea sha384 and sha512. If pgcrypto was built with OpenSSL, more algorithms are available, as detailed in - . + . @@ -129,7 +129,7 @@ hmac(data bytea, key text, type text) returns bytea - lists the algorithms + lists the algorithms supported by the crypt() function. @@ -247,7 +247,7 @@ gen_salt(type text [, iter_count integer ]) returns text — which is somewhat impractical. If the iter_count parameter is omitted, the default iteration count is used. Allowed values for iter_count depend on the algorithm and - are shown in . + are shown in .
@@ -292,7 +292,7 @@ gen_salt(type text [, iter_count integer ]) returns text - gives an overview of the relative slowness + gives an overview of the relative slowness of different hashing algorithms. The table shows how much time it would take to try all combinations of characters in an 8-character password, assuming diff --git a/doc/src/sgml/pgprewarm.sgml b/doc/src/sgml/pgprewarm.sgml index e0a6d0503f..51afc5df3f 100644 --- a/doc/src/sgml/pgprewarm.sgml +++ b/doc/src/sgml/pgprewarm.sgml @@ -13,7 +13,7 @@ or the PostgreSQL buffer cache. Prewarming can be performed manually using the pg_prewarm function, or can be performed automatically by including pg_prewarm in - . In the latter case, the + . In the latter case, the system will run a background worker which periodically records the contents of shared buffers in a file called autoprewarm.blocks and will, using 2 background workers, reload those same blocks after a restart. diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml index 57dcf6beb2..39de41a03c 100644 --- a/doc/src/sgml/pgrowlocks.sgml +++ b/doc/src/sgml/pgrowlocks.sgml @@ -33,7 +33,7 @@ pgrowlocks(text) returns setof record The parameter is the name of a table. The result is a set of records, with one row for each locked row within the table. The output columns - are shown in . + are shown in .
diff --git a/doc/src/sgml/pgstandby.sgml b/doc/src/sgml/pgstandby.sgml index 7feba8cdd6..2cc58fe356 100644 --- a/doc/src/sgml/pgstandby.sgml +++ b/doc/src/sgml/pgstandby.sgml @@ -41,7 +41,7 @@ restore_command, which is needed to turn a standard archive recovery into a warm standby operation. Other configuration is required as well, all of which is described in the main - server manual (see ). + server manual (see ). @@ -180,7 +180,7 @@ restore_command = 'pg_standby archiveDir %f %p %r' Set the number of seconds (up to 60, default 5) to sleep between tests to see if the WAL file to be restored is available in the archive yet. The default setting is not necessarily - recommended; consult for discussion. + recommended; consult for discussion. @@ -216,7 +216,7 @@ restore_command = 'pg_standby archiveDir %f %p %r' after which a fast failover will be performed. A setting of zero (the default) means wait forever. The default setting is not necessarily recommended; - consult for discussion. + consult for discussion. @@ -388,7 +388,7 @@ recovery_end_command = 'del C:\pgsql.trigger.5442' See Also - + diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml index 4b15a268cd..c0217ed485 100644 --- a/doc/src/sgml/pgstatstatements.sgml +++ b/doc/src/sgml/pgstatstatements.sgml @@ -14,7 +14,7 @@ The module must be loaded by adding pg_stat_statements to - in + in postgresql.conf, because it requires additional shared memory. This means that a server restart is needed to add or remove the module. @@ -38,7 +38,7 @@ contains one row for each distinct database ID, user ID and query ID (up to the maximum number of distinct statements that the module can track). The columns of the view are shown in - . + .
@@ -207,7 +207,7 @@ Total time the statement spent reading blocks, in milliseconds - (if is enabled, otherwise zero) + (if is enabled, otherwise zero) @@ -217,7 +217,7 @@ Total time the statement spent writing blocks, in milliseconds - (if is enabled, otherwise zero) + (if is enabled, otherwise zero) diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml index 04a4423dc5..b17b3c59e0 100644 --- a/doc/src/sgml/pgstattuple.sgml +++ b/doc/src/sgml/pgstattuple.sgml @@ -55,7 +55,7 @@ dead_tuple_percent | 0.69 free_space | 8932 free_percent | 1.95 - The output columns are described in . + The output columns are described in .
@@ -509,7 +509,7 @@ dead_tuple_percent | 0 approx_free_space | 11996 approx_free_percent | 2.09 - The output columns are described in . + The output columns are described in . diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml index 7903dc3d82..338ef30fbc 100644 --- a/doc/src/sgml/pgtrgm.sgml +++ b/doc/src/sgml/pgtrgm.sgml @@ -58,8 +58,8 @@ The functions provided by the pg_trgm module - are shown in , the operators - in . + are shown in , the operators + in .
diff --git a/doc/src/sgml/planstats.sgml b/doc/src/sgml/planstats.sgml index ee081308a9..ef643ad064 100644 --- a/doc/src/sgml/planstats.sgml +++ b/doc/src/sgml/planstats.sgml @@ -5,7 +5,7 @@ This chapter builds on the material covered in and to show some + linkend="using-explain"/> and to show some additional details about how the planner uses the system statistics to estimate the number of rows each part of a query might return. This is a significant part of the planning process, @@ -49,7 +49,7 @@ EXPLAIN SELECT * FROM tenk1; How the planner determines the cardinality of tenk1 - is covered in , but is repeated here for + is covered in , but is repeated here for completeness. The number of pages and rows is looked up in pg_class: @@ -468,7 +468,7 @@ INSERT INTO t SELECT i % 100, i % 100 FROM generate_series(1, 10000) s(i); ANALYZE t; - As explained in , the planner can determine + As explained in , the planner can determine cardinality of t using the number of pages and rows obtained from pg_class: diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml index 95e7dc9fc0..363f84b9f3 100644 --- a/doc/src/sgml/plhandler.sgml +++ b/doc/src/sgml/plhandler.sgml @@ -29,7 +29,7 @@ special pseudo-type identifies the function as a call handler and prevents it from being called directly in SQL commands. For more details on C language calling conventions and dynamic loading, - see . + see . @@ -144,7 +144,7 @@ plsample_call_handler(PG_FUNCTION_ARGS) After having compiled the handler function into a loadable module - (see ), the following commands then + (see ), the following commands then register the sample procedural language: CREATE FUNCTION plsample_call_handler() RETURNS language_handler @@ -162,9 +162,9 @@ CREATE LANGUAGE plsample are a validator and an inline handler. A validator can be provided to allow language-specific checking to be done during - . + . An inline handler can be provided to allow the language to support - anonymous code blocks executed via the command. + anonymous code blocks executed via the command. @@ -191,7 +191,7 @@ CREATE LANGUAGE plsample Validator functions should typically honor the parameter: if it is turned off then + linkend="guc-check-function-bodies"/> parameter: if it is turned off then any expensive or context-sensitive checking should be skipped. If the language provides for code execution at compilation time, the validator must suppress checks that would induce such execution. In particular, @@ -230,7 +230,7 @@ CREATE LANGUAGE plsample as well as the CREATE LANGUAGE command itself, into an extension so that a simple CREATE EXTENSION command is sufficient to install the language. See - for information about writing + for information about writing extensions. @@ -238,7 +238,7 @@ CREATE LANGUAGE plsample The procedural languages included in the standard distribution are good references when trying to write your own language handler. Look into the src/pl subdirectory of the source tree. - The + The reference page also has some useful details. diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml index dfffa4077f..33e39d85e4 100644 --- a/doc/src/sgml/plperl.sgml +++ b/doc/src/sgml/plperl.sgml @@ -41,7 +41,7 @@ Users of source packages must specially enable the build of PL/Perl during the installation process. (Refer to for more information.) Users of + linkend="installation"/> for more information.) Users of binary packages might find PL/Perl in a separate subpackage. @@ -51,7 +51,7 @@ To create a function in the PL/Perl language, use the standard - + syntax: @@ -69,7 +69,7 @@ $$ LANGUAGE plperl; PL/Perl also supports anonymous code blocks called with the - statement: + statement: DO $$ @@ -99,11 +99,11 @@ $$ LANGUAGE plperl; The syntax of the CREATE FUNCTION command requires the function body to be written as a string constant. It is usually most convenient to use dollar quoting (see ) for the string constant. + linkend="sql-syntax-dollar-quoting"/>) for the string constant. If you choose to use escape string syntax E'', you must double any single quote marks (') and backslashes (\) used in the body of the function - (see ). + (see ). @@ -686,9 +686,9 @@ SELECT release_hosts_query(); priority levels. Whether messages of a particular priority are reported to the client, written to the server log, or both is controlled by the - and - configuration - variables. See for more + and + configuration + variables. See for more information. @@ -792,7 +792,7 @@ SELECT release_hosts_query(); Returns the contents of the referenced array as a string in array literal format - (see ). + (see ). Returns the argument value unaltered if it's not a reference to an array. The delimiter used between elements of the array literal defaults to ", " if a delimiter is not specified or is undef. @@ -828,7 +828,7 @@ SELECT release_hosts_query(); Returns the contents of the referenced array as a string in array constructor format - (see ). + (see ). Individual values are quoted using quote_nullable. Returns the argument value, quoted using quote_nullable, if it's not a reference to an array. @@ -1336,7 +1336,7 @@ DO 'elog(WARNING, join ", ", sort keys %INC)' LANGUAGE plperl; Initialization will happen in the postmaster if the plperl library is - included in , in which + included in , in which case extra consideration should be given to the risk of destabilizing the postmaster. The principal reason for making use of this feature is that Perl modules loaded by plperl.on_init need be diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 7323c2f67d..6d14b34448 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -125,14 +125,14 @@ It is also possible to declare a PL/pgSQL function as returning record, which means that the result is a row type whose columns are determined by specification in the - calling query, as discussed in . + calling query, as discussed in . PL/pgSQL functions can be declared to accept a variable number of arguments by using the VARIADIC marker. This works exactly the same way as for SQL functions, as discussed in - . + . @@ -141,8 +141,8 @@ anyelement, anyarray, anynonarray, anyenum, and anyrange. The actual data types handled by a polymorphic function can vary from call to - call, as discussed in . - An example is shown in . + call, as discussed in . + An example is shown in . @@ -170,8 +170,8 @@ Specific examples appear in - and - . + and + . @@ -181,7 +181,7 @@ Functions written in PL/pgSQL are defined - to the server by executing commands. + to the server by executing commands. Such a command would normally look like, say, CREATE FUNCTION somefunc(integer, text) RETURNS integer @@ -190,7 +190,7 @@ LANGUAGE plpgsql; The function body is simply a string literal so far as CREATE FUNCTION is concerned. It is often helpful to use dollar quoting - (see ) to write the function + (see ) to write the function body, rather than the normal single quote syntax. Without dollar quoting, any single quotes or backslashes in the function body must be escaped by doubling them. Almost all the examples in this chapter use dollar-quoted @@ -289,7 +289,7 @@ $$ LANGUAGE plpgsql; of any PL/pgSQL function. This block provides the declarations of the function's parameters (if any), as well as some special variables such as FOUND (see - ). The outer block is + ). The outer block is labeled with the function's name, meaning that parameters and special variables can be qualified with the function's name. @@ -308,7 +308,7 @@ $$ LANGUAGE plpgsql; However, a block containing an EXCEPTION clause effectively forms a subtransaction that can be rolled back without affecting the outer transaction. For more about that see . + linkend="plpgsql-error-trapping"/>. @@ -356,7 +356,7 @@ arow RECORD; assigned to after initialization, so that its value will remain constant for the duration of the block. The COLLATE option specifies a collation to use for the - variable (see ). + variable (see ). If NOT NULL is specified, an assignment of a null value results in a run-time error. All variables declared as NOT NULL @@ -491,7 +491,7 @@ END; $$ LANGUAGE plpgsql; - As discussed in , this + As discussed in , this effectively creates an anonymous record type for the function's results. If a RETURNS clause is given, it must say RETURNS record. @@ -523,9 +523,9 @@ $$ LANGUAGE plpgsql; or anyrange), a special parameter $0 is created. Its data type is the actual return type of the function, as deduced from the actual input types (see ). + linkend="extend-types-polymorphic"/>). This allows the function to access its actual return type - as shown in . + as shown in . $0 is initialized to null and can be modified by the function, so it can be used to hold the return value if desired, though that is not required. $0 can also be @@ -740,7 +740,7 @@ SELECT merge_fields(t.*) FROM table1 t WHERE ... ; When a PL/pgSQL function has one or more parameters of collatable data types, a collation is identified for each function call depending on the collations assigned to the actual - arguments, as described in . If a collation is + arguments, as described in . If a collation is successfully identified (i.e., there are no conflicts of implicit collations among the arguments) then all the collatable parameters are treated as having that collation implicitly. This will affect the @@ -841,7 +841,7 @@ SELECT expression to the main SQL engine. While forming the SELECT command, any occurrences of PL/pgSQL variable names are replaced by parameters, as discussed in detail in - . + . This allows the query plan for the SELECT to be prepared just once and then reused for subsequent evaluations with different values of the variables. Thus, what @@ -861,7 +861,7 @@ PREPARE statement_name(integer, integer) AS SELECT $1 parameter values. Normally these details are not important to a PL/pgSQL user, but they are useful to know when trying to diagnose a problem. - More information appears in . + More information appears in . @@ -874,8 +874,8 @@ PREPARE statement_name(integer, integer) AS SELECT $1 PL/pgSQL. Anything not recognized as one of these statement types is presumed to be an SQL command and is sent to the main database engine to execute, - as described in - and . + as described in + and . @@ -900,7 +900,7 @@ PREPARE statement_name(integer, integer) AS SELECT $1 If the expression's result data type doesn't match the variable's data type, the value will be coerced as though by an assignment cast - (see ). If no assignment cast is known + (see ). If no assignment cast is known for the pair of data types involved, the PL/pgSQL interpreter will attempt to convert the result value textually, that is by applying the result type's output function followed by the variable @@ -933,14 +933,14 @@ my_record.user_id := 20; in the command text is treated as a parameter, and then the current value of the variable is provided as the parameter value at run time. This is exactly like the processing described earlier - for expressions; for details see . + for expressions; for details see . When executing a SQL command in this way, PL/pgSQL may cache and re-use the execution plan for the command, as discussed in - . + . @@ -966,7 +966,7 @@ PERFORM query; and the plan is cached in the same way. Also, the special variable FOUND is set to true if the query produced at least one row, or false if it produced no rows (see - ). + ). @@ -1067,7 +1067,7 @@ DELETE ... RETURNING expressions INTO STRIC well-defined unless you've used ORDER BY.) Any result rows after the first row are discarded. You can check the special FOUND variable (see - ) to + ) to determine whether a row was returned: @@ -1147,7 +1147,7 @@ CONTEXT: PL/pgSQL function get_userid(text) line 6 at SQL statement To handle cases where you need to process multiple result rows - from a SQL query, see . + from a SQL query, see . @@ -1161,7 +1161,7 @@ CONTEXT: PL/pgSQL function get_userid(text) line 6 at SQL statement that will involve different tables or different data types each time they are executed. PL/pgSQL's normal attempts to cache plans for commands (as discussed in - ) will not work in such + ) will not work in such scenarios. To handle this sort of problem, the EXECUTE statement is provided: @@ -1283,7 +1283,7 @@ EXECUTE format('SELECT count(*) FROM %I ' The PL/pgSQL EXECUTE statement is not related to the - SQL + SQL statement supported by the PostgreSQL server. The server's EXECUTE statement cannot be used directly within @@ -1319,7 +1319,7 @@ EXECUTE format('SELECT count(*) FROM %I ' of single quotes. The recommended method for quoting fixed text in your function body is dollar quoting. (If you have legacy code that does not use dollar quoting, please refer to the - overview in , which can save you + overview in , which can save you some effort when translating said code to a more reasonable scheme.) @@ -1347,7 +1347,7 @@ EXECUTE 'UPDATE tbl SET ' This example demonstrates the use of the quote_ident and quote_literal functions (see ). For safety, expressions containing column + linkend="functions-string"/>). For safety, expressions containing column or table identifiers should be passed through quote_ident before insertion in a dynamic query. Expressions containing values that should be literal strings in the @@ -1394,7 +1394,7 @@ EXECUTE 'UPDATE tbl SET ' (At present, IS NOT DISTINCT FROM is handled much less efficiently than =, so don't do this unless you must. - See for + See for more information on nulls and IS DISTINCT.) @@ -1420,7 +1420,7 @@ EXECUTE 'UPDATE tbl SET ' Dynamic SQL statements can also be safely constructed using the format function (see ). For example: + linkend="functions-string"/>). For example: EXECUTE format('UPDATE tbl SET %I = %L ' 'WHERE key = %L', colname, newvalue, keyvalue); @@ -1442,7 +1442,7 @@ EXECUTE format('UPDATE tbl SET %I = $1 WHERE key = $2', colname) A much larger example of a dynamic command and EXECUTE can be seen in , which builds and executes a + linkend="plpgsql-porting-ex2"/>, which builds and executes a CREATE FUNCTION command to define a new function. @@ -1461,12 +1461,12 @@ GET CURRENT DIAGNOSTICS variableCURRENT is a noise word (but see also GET STACKED - DIAGNOSTICS in ). + DIAGNOSTICS in ). Each item is a key word identifying a status value to be assigned to the specified variable (which should be of the right data type to receive it). The currently available status items are shown - in . Colon-equal + in . Colon-equal (:=) can be used instead of the SQL-standard = token. An example: @@ -1503,7 +1503,7 @@ GET DIAGNOSTICS integer_var = ROW_COUNT; PG_CONTEXT text line(s) of text describing the current call stack - (see ) + (see ) @@ -1856,7 +1856,7 @@ SELECT * FROM get_available_flightid(CURRENT_DATE); allow users to define set-returning functions that do not have this limitation. Currently, the point at which data begins being written to disk is controlled by the - + configuration variable. Administrators who have sufficient memory to store larger result sets in memory should consider increasing this parameter. @@ -2440,8 +2440,8 @@ $$ LANGUAGE plpgsql; PL/pgSQL variables are substituted into the query text, and the query plan is cached for possible re-use, as discussed in - detail in and - . + detail in and + . @@ -2465,7 +2465,7 @@ END LOOP label ; Another way to specify the query whose results should be iterated through is to declare it as a cursor. This is described in - . + . @@ -2605,7 +2605,7 @@ END; The condition names can be any of - those shown in . A category + those shown in . A category name matches any error within its category. The special condition name OTHERS matches every error type except QUERY_CANCELED and ASSERT_FAILURE. @@ -2729,7 +2729,7 @@ SELECT merge_db(1, 'dennis'); Within an exception handler, the special variable SQLSTATE contains the error code that corresponds to - the exception that was raised (refer to + the exception that was raised (refer to for a list of possible error codes). The special variable SQLERRM contains the error message associated with the exception. These variables are undefined outside exception handlers. @@ -2748,7 +2748,7 @@ GET STACKED DIAGNOSTICS variable { = | := } variable (which should be of the right data type to receive it). The currently available status items are shown - in . + in .
@@ -2811,7 +2811,7 @@ GET STACKED DIAGNOSTICS variable { = | := } PG_EXCEPTION_CONTEXT text line(s) of text describing the call stack at the time of the - exception (see ) + exception (see ) @@ -2847,7 +2847,7 @@ END; The GET DIAGNOSTICS command, previously described - in , retrieves information + in , retrieves information about current execution state (whereas the GET STACKED DIAGNOSTICS command discussed above reports information about the execution state as of a previous error). Its PG_CONTEXT @@ -2978,7 +2978,7 @@ DECLARE Bound cursor variables can also be used without explicitly opening the cursor, via the FOR statement described in - . + . @@ -3031,7 +3031,7 @@ OPEN unbound_cursorvar NO refcursor variable). The query is specified as a string expression, in the same way as in the EXECUTE command. As usual, this gives flexibility so the query plan can vary - from one run to the next (see ), + from one run to the next (see ), and it also means that variable substitution is not done on the command string. As with EXECUTE, parameter values can be inserted into the dynamic command via @@ -3082,7 +3082,7 @@ OPEN bound_cursorvar ( := to separate it from the argument expression. Similar to calling - functions, described in , it + functions, described in , it is also allowed to mix positional and named notation. @@ -3160,7 +3160,7 @@ FETCH direction { FROM | IN } The direction clause can be any of the - variants allowed in the SQL + variants allowed in the SQL command except the ones that can fetch more than one row; namely, it can be NEXT, @@ -3212,7 +3212,7 @@ MOVE direction { FROM | IN } < The direction clause can be any of the - variants allowed in the SQL + variants allowed in the SQL command, namely NEXT, PRIOR, @@ -3255,7 +3255,7 @@ DELETE FROM table WHERE CURRENT OF curso restrictions on what the cursor's query can be (in particular, no grouping) and it's best to use FOR UPDATE in the cursor. For more information see the - + reference page. @@ -3422,7 +3422,7 @@ END LOOP label ; expressions must appear if and only if the cursor was declared to take arguments. These values will be substituted in the query, in just the same way as during an OPEN (see ). + linkend="plpgsql-open-bound-cursor"/>). @@ -3475,9 +3475,9 @@ RAISE ; priority levels. Whether messages of a particular priority are reported to the client, written to the server log, or both is controlled by the - and - configuration - variables. See for more + and + configuration + variables. See for more information. @@ -3541,7 +3541,7 @@ RAISE NOTICE 'Calling cs_create_job(%)', v_job_id; ERRCODE Specifies the error code (SQLSTATE) to report, either by condition - name, as shown in , or directly as a + name, as shown in , or directly as a five-character SQLSTATE code. @@ -3928,7 +3928,7 @@ ASSERT condition , - shows an example of a + shows an example of a trigger procedure in PL/pgSQL. @@ -3981,7 +3981,7 @@ CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp Another way to log changes to a table involves creating a new table that holds a row for each insert, update, or delete that occurs. This approach can be thought of as auditing changes to a table. - shows an example of an + shows an example of an audit trigger procedure in PL/pgSQL. @@ -4038,7 +4038,7 @@ AFTER INSERT OR UPDATE OR DELETE ON emp approach still records the full audit trail of changes to the table, but also presents a simplified view of the audit trail, showing just the last modified timestamp derived from the audit trail for each entry. - shows an example + shows an example of an audit trigger on a view in PL/pgSQL. @@ -4118,7 +4118,7 @@ INSTEAD OF INSERT OR UPDATE OR DELETE ON emp_view times. This technique is commonly used in Data Warehousing, where the tables of measured or observed data (called fact tables) might be extremely large. - shows an example of a + shows an example of a trigger procedure in PL/pgSQL that maintains a summary table for a fact table in a data warehouse. @@ -4272,7 +4272,7 @@ SELECT * FROM sales_summary_bytime; statement. The CREATE TRIGGER command assigns names to one or both transition tables, and then the function can refer to those names as though they were read-only temporary tables. - shows an example. + shows an example. @@ -4280,7 +4280,7 @@ SELECT * FROM sales_summary_bytime; This example produces the same results as - , but instead of using a + , but instead of using a trigger that fires for every row, it uses a trigger that fires once per statement, after collecting the relevant information in a transition table. This can be significantly faster than the row-trigger approach @@ -4383,7 +4383,7 @@ CREATE TRIGGER emp_audit_del - shows an example of an + shows an example of an event trigger procedure in PL/pgSQL. @@ -4482,7 +4482,7 @@ INSERT INTO dest (col) SELECT foo + bar FROM src; In the above example, src.foo would be an unambiguous reference to the table column. To create an unambiguous reference to a variable, declare it in a labeled block and use the block's label - (see ). For example, + (see ). For example, <<block>> DECLARE @@ -4575,7 +4575,7 @@ $$ LANGUAGE plpgsql; to EXECUTE or one of its variants. If you need to insert a varying value into such a command, do so as part of constructing the string value, or use USING, as illustrated in - . + . @@ -4636,7 +4636,7 @@ $$ LANGUAGE plpgsql; this will happen only if the execution plan is not very sensitive to the values of the PL/pgSQL variables referenced in it. If it is, generating a plan each time is a net win. See for more information about the behavior of + linkend="sql-prepare"/> for more information about the behavior of prepared statements. @@ -4796,7 +4796,7 @@ $$ LANGUAGE plpgsql; easily find yourself needing half a dozen or more adjacent quote marks. It's recommended that you instead write the function body as a dollar-quoted string literal (see ). In the dollar-quoting + linkend="sql-syntax-dollar-quoting"/>). In the dollar-quoting approach, you never double any quote marks, but instead take care to choose a different dollar-quoting delimiter for each level of nesting you need. For example, you might write the CREATE @@ -4907,7 +4907,7 @@ a_output := a_output || $$ AND name LIKE 'foobar'$$ accounts for 8 quotation marks) and this is adjacent to the end of that string constant (2 more). You will probably only need that if you are writing a function that generates other functions, as in - . + . For example: a_output := a_output || '' if v_'' || @@ -5029,7 +5029,7 @@ CREATE FUNCTION to PL/pgSQL's plpgsql.variable_conflict = use_column behavior, which is not the default, - as explained in . + as explained in . It's often best to avoid such ambiguities in the first place, but if you have to port a large amount of code that depends on this behavior, setting variable_conflict may be the @@ -5042,7 +5042,7 @@ CREATE FUNCTION In PostgreSQL the function body must be written as a string literal. Therefore you need to use dollar quoting or escape single quotes in the function body. (See .) + linkend="plpgsql-quote-tips"/>.) @@ -5080,7 +5080,7 @@ CREATE FUNCTION from the first number to the second, requiring the loop bounds to be swapped when porting. This incompatibility is unfortunate but is unlikely to be changed. (See .) + linkend="plpgsql-integer-for"/>.) @@ -5108,7 +5108,7 @@ CREATE FUNCTION Porting Examples - shows how to port a simple + shows how to port a simple function from PL/SQL to PL/pgSQL. @@ -5197,7 +5197,7 @@ $$ LANGUAGE plpgsql; - shows how to port a + shows how to port a function that creates another function and how to handle the ensuing quoting problems. @@ -5292,12 +5292,12 @@ $func$ LANGUAGE plpgsql; - shows how to port a function + shows how to port a function with OUT parameters and string manipulation. PostgreSQL does not have a built-in instr function, but you can create one using a combination of other - functions. In there is a + functions. In there is a PL/pgSQL implementation of instr that you can use to make your porting easier. @@ -5406,7 +5406,7 @@ SELECT * FROM cs_parse_url('http://foobar.com/query.cgi?baz'); - shows how to port a procedure + shows how to port a procedure that uses numerous features that are specific to Oracle. @@ -5419,14 +5419,14 @@ SELECT * FROM cs_parse_url('http://foobar.com/query.cgi?baz'); CREATE OR REPLACE PROCEDURE cs_create_job(v_job_id IN INTEGER) IS a_running_job_count INTEGER; - PRAGMA AUTONOMOUS_TRANSACTION; -- + PRAGMA AUTONOMOUS_TRANSACTION; -- BEGIN - LOCK TABLE cs_jobs IN EXCLUSIVE MODE; -- + LOCK TABLE cs_jobs IN EXCLUSIVE MODE; -- SELECT count(*) INTO a_running_job_count FROM cs_jobs WHERE end_stamp IS NULL; IF a_running_job_count > 0 THEN - COMMIT; -- free lock + COMMIT; -- free lock raise_application_error(-20000, 'Unable to create a new job: a job is currently running.'); END IF; @@ -5493,7 +5493,7 @@ BEGIN SELECT count(*) INTO a_running_job_count FROM cs_jobs WHERE end_stamp IS NULL; IF a_running_job_count > 0 THEN - RAISE EXCEPTION 'Unable to create a new job: a job is currently running'; -- + RAISE EXCEPTION 'Unable to create a new job: a job is currently running'; -- END IF; DELETE FROM cs_active_job; @@ -5502,7 +5502,7 @@ BEGIN BEGIN INSERT INTO cs_jobs (job_id, start_stamp) VALUES (v_job_id, now()); EXCEPTION - WHEN unique_violation THEN -- + WHEN unique_violation THEN -- -- don't worry if it already exists END; END; @@ -5522,7 +5522,7 @@ $$ LANGUAGE plpgsql; The exception names supported by PL/pgSQL are different from Oracle's. The set of built-in exception names - is much larger (see ). There + is much larger (see ). There is not currently a way to declare user-defined exception names, although you can throw user-chosen SQLSTATE values instead. @@ -5588,7 +5588,7 @@ END; PL/SQL version, but you have to remember to use quote_literal and quote_ident as described in . Constructs of the + linkend="plpgsql-statements-executing-dyn"/>. Constructs of the type EXECUTE 'SELECT * FROM $1'; will not work reliably unless you use these functions. @@ -5603,7 +5603,7 @@ END; the function always returns the same result when given the same arguments) and strictness (whether the function returns null if any argument is null). Consult the + linkend="sql-createfunction"/> reference page for details. diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml index 043225fc47..ec5f671632 100644 --- a/doc/src/sgml/plpython.sgml +++ b/doc/src/sgml/plpython.sgml @@ -15,7 +15,7 @@ To install PL/Python in a particular database, use CREATE EXTENSION plpythonu (but - see also ). + see also ). @@ -103,7 +103,7 @@ The built variant depends on which Python version was found during the installation or which version was explicitly set using the PYTHON environment variable; - see . To make both variants of + see . To make both variants of PL/Python available in one installation, the source tree has to be configured and built twice. @@ -186,7 +186,7 @@ Functions in PL/Python are declared via the - standard syntax: + standard syntax: CREATE FUNCTION funcname (argument-list) @@ -420,7 +420,7 @@ $$ LANGUAGE plpythonu; sortas="PL/Python">in PL/Python is passed to a function, the argument value will appear as None in Python. For example, the function definition of pymax - shown in will return the wrong answer for null + shown in will return the wrong answer for null inputs. We could add STRICT to the function definition to make PostgreSQL do something more reasonable: if a null value is passed, the function will not be called at all, @@ -774,7 +774,7 @@ SELECT * FROM multiout_simple_setof(3); PL/Python also supports anonymous code blocks called with the - statement: + statement: DO $$ @@ -1056,16 +1056,16 @@ rv = plan.execute(["name"], 5) Query parameters and result row fields are converted between PostgreSQL - and Python data types as described in . + and Python data types as described in . When you prepare a plan using the PL/Python module it is automatically - saved. Read the SPI documentation () for a + saved. Read the SPI documentation () for a description of what this means. In order to make effective use of this across function calls one needs to use one of the persistent storage dictionaries SD or GD (see - ). For example: + ). For example: CREATE FUNCTION usesavedplan() RETURNS trigger AS $$ if "plan" in SD: @@ -1190,7 +1190,7 @@ $$ LANGUAGE plpythonu; The actual class of the exception being raised corresponds to the specific condition that caused the error. Refer - to for a list of possible + to for a list of possible conditions. The module plpy.spiexceptions defines an exception class for each PostgreSQL condition, deriving @@ -1241,7 +1241,7 @@ $$ LANGUAGE plpythonu; Recovering from errors caused by database access as described in - can lead to an undesirable + can lead to an undesirable situation where some operations succeed before one of them fails, and after recovering from that error the data is left in an inconsistent state. PL/Python offers a solution to this problem in @@ -1391,9 +1391,9 @@ $$ LANGUAGE plpythonu; The other functions only generate messages of different priority levels. Whether messages of a particular priority are reported to the client, written to the server log, or both is controlled by the - and - configuration - variables. See for more information. + and + configuration + variables. See for more information. @@ -1442,9 +1442,9 @@ PL/Python function "raise_custom_exception" plpy.quote_nullable(string), and plpy.quote_ident(string). They are equivalent to the built-in quoting functions described in . They are useful when constructing + linkend="functions-string"/>. They are useful when constructing ad-hoc queries. A PL/Python equivalent of dynamic SQL from would be: + linkend="plpgsql-quote-literal-example"/> would be: plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % ( plpy.quote_ident(colname), diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml index e74321a06e..0646a8ba0b 100644 --- a/doc/src/sgml/pltcl.sgml +++ b/doc/src/sgml/pltcl.sgml @@ -79,7 +79,7 @@ To create a function in the PL/Tcl language, use - the standard syntax: + the standard syntax: CREATE FUNCTION funcname (argument-types) RETURNS return-type AS $$ @@ -483,7 +483,7 @@ $$ LANGUAGE pltcl; executed within a SQL subtransaction. If the script returns an error, that entire subtransaction is rolled back before returning the error out to the surrounding Tcl code. - See for more details and an + See for more details and an example. @@ -559,10 +559,10 @@ SELECT 'doesn''t' AS ret priority levels. Whether messages of a particular priority are reported to the client, written to the server log, or both is controlled by the - and - configuration - variables. See - and + and + configuration + variables. See + and for more information. @@ -888,7 +888,7 @@ CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE PROCEDURE tclsnit Fields SQLSTATE, condition, and message are always supplied (the first two represent the error code and condition name as shown - in ). + in ). Fields that may be present include detail, hint, context, schema, table, column, @@ -929,7 +929,7 @@ if {[catch { spi_exec $sql_command }]} { Recovering from errors caused by database access as described in - can lead to an undesirable + can lead to an undesirable situation where some operations succeed before one of them fails, and after recovering from that error the data is left in an inconsistent state. PL/Tcl offers a solution to this problem in diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml index 265effbe48..54b5e98a0e 100644 --- a/doc/src/sgml/postgres-fdw.sgml +++ b/doc/src/sgml/postgres-fdw.sgml @@ -15,7 +15,7 @@ The functionality provided by this module overlaps substantially - with the functionality of the older module. + with the functionality of the older module. But postgres_fdw provides more transparent and standards-compliant syntax for accessing remote tables, and can give better performance in many cases. @@ -27,12 +27,12 @@ Install the postgres_fdw extension using . + linkend="sql-createextension"/>. - Create a foreign server object, using , + Create a foreign server object, using , to represent each remote database you want to connect to. Specify connection information, except user and password, as options of the server object. @@ -40,7 +40,7 @@ - Create a user mapping, using , for + Create a user mapping, using , for each database user you want to allow to access each foreign server. Specify the remote user name and password to use as user and password options of the @@ -49,8 +49,8 @@ - Create a foreign table, using - or , + Create a foreign table, using + or , for each remote table you want to access. The columns of the foreign table must match the referenced remote table. You can, however, use table and/or column names different from the remote table's, if you @@ -101,7 +101,7 @@ A foreign server using the postgres_fdw foreign data wrapper can have the same options that libpq accepts in - connection strings, as described in , + connection strings, as described in , except that these options are not allowed: @@ -254,7 +254,7 @@ fdw_tuple_cost to the cost estimates. This local estimation is unlikely to be very accurate unless local copies of the remote table's statistics are available. Running - on the foreign table is the way to update + on the foreign table is the way to update the local statistics; this will perform a scan of the remote table and then calculate and store statistics just as though the table were local. Keeping local statistics can be a useful way to reduce per-query planning @@ -359,7 +359,7 @@ postgres_fdw is able to import foreign table definitions - using . This command creates + using . This command creates foreign table definitions on the local server that match tables or views present on the remote server. If the remote tables to be imported have columns of user-defined data types, the local server must have @@ -423,7 +423,7 @@ So if you wish to import CHECK constraints, you must do so manually, and you should verify the semantics of each one carefully. For more detail about the treatment of CHECK constraints on - foreign tables, see . + foreign tables, see . @@ -528,7 +528,7 @@ In the remote sessions opened by postgres_fdw, - the parameter is set to + the parameter is set to just pg_catalog, so that only built-in objects are visible without schema qualification. This is not an issue for queries generated by postgres_fdw itself, because it always @@ -538,7 +538,7 @@ any functions used in that view will be executed with the restricted search path. It is recommended to schema-qualify all names in such functions, or else attach SET search_path options - (see ) to such functions + (see ) to such functions to establish their expected search path environment. @@ -548,22 +548,22 @@ - is set to UTC + is set to UTC - is set to ISO + is set to ISO - is set to postgres + is set to postgres - is set to 3 for remote + is set to 3 for remote servers 9.0 and newer and is set to 2 for older versions @@ -612,7 +612,7 @@ CREATE EXTENSION postgres_fdw; - Then create a foreign server using . + Then create a foreign server using . In this example we wish to connect to a PostgreSQL server on host 192.83.123.89 listening on port 5432. The database to which the connection is made @@ -626,7 +626,7 @@ CREATE SERVER foreign_server - A user mapping, defined with , is + A user mapping, defined with , is needed as well to identify the role that will be used on the remote server: @@ -639,7 +639,7 @@ CREATE USER MAPPING FOR local_user Now it is possible to create a foreign table with - . In this example we + . In this example we wish to access the table named some_schema.some_table on the remote server. The local name for it will be foreign_table: @@ -658,7 +658,7 @@ CREATE FOREIGN TABLE foreign_table ( Column names must match as well, unless you attach column_name options to the individual columns to show how they are named in the remote table. - In many cases, use of is + In many cases, use of is preferable to constructing foreign table definitions manually. diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index f8a6c48a57..041afdbd86 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -1,6 +1,8 @@ - %version; @@ -42,11 +44,11 @@ After you have worked through this tutorial you might want to move - on to reading to gain a more formal knowledge - of the SQL language, or for + on to reading to gain a more formal knowledge + of the SQL language, or for information about developing applications for PostgreSQL. Those who set up and - manage their own server should also read . + manage their own server should also read . @@ -80,14 +82,14 @@ chapters individually as they choose. The information in this part is presented in a narrative fashion in topical units. Readers looking for a complete description of a particular command - should see . + should see . Readers of this part should know how to connect to a PostgreSQL database and issue SQL commands. Readers that are unfamiliar with - these issues are encouraged to read + these issues are encouraged to read first. SQL commands are typically entered using the PostgreSQL interactive terminal psql, but other programs that have @@ -130,7 +132,7 @@ self-contained and can be read individually as desired. The information in this part is presented in a narrative fashion in topical units. Readers looking for a complete description of a - particular command should see . + particular command should see . @@ -140,8 +142,8 @@ The rest of this part is about tuning and management; that material assumes that the reader is familiar with the general use of the PostgreSQL database system. Readers are - encouraged to look at and for additional information. + encouraged to look at and for additional information. @@ -174,10 +176,10 @@ with PostgreSQL. Each of these chapters can be read independently. Note that there are many other programming interfaces for client programs that are distributed separately and - contain their own documentation ( + contain their own documentation ( lists some of the more popular ones). Readers of this part should be familiar with using SQL commands to manipulate - and query the database (see ) and of course + and query the database (see ) and of course with the programming language that the interface uses. @@ -203,7 +205,7 @@ PostgreSQL distribution as well as general issues concerning server-side programming languages. It is essential to read at least the earlier sections of (covering functions) before diving into the + linkend="extend"/> (covering functions) before diving into the material about server-side programming languages. diff --git a/doc/src/sgml/problems.sgml b/doc/src/sgml/problems.sgml index edceec3381..7d14789e51 100644 --- a/doc/src/sgml/problems.sgml +++ b/doc/src/sgml/problems.sgml @@ -170,7 +170,7 @@ form of the message. In psql, say \set VERBOSITY verbose beforehand. If you are extracting the message from the server log, set the run-time parameter - to verbose so that all + to verbose so that all details are logged. diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 999fa06018..8174e3defa 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -207,7 +207,7 @@ This section describes the message flow and the semantics of each message type. (Details of the exact representation of each message - appear in .) There are + appear in .) There are several different sub-protocols depending on the state of the connection: start-up, query, function call, COPY, and termination. There are also special @@ -383,7 +383,7 @@ SASLInitialResponse with the name of the selected mechanism, and the first part of the SASL data stream in response to this. If further messages are needed, the server will respond with - AuthenticationSASLContinue. See + AuthenticationSASLContinue. See for details. @@ -478,9 +478,9 @@ This message informs the frontend about the current (initial) setting of backend parameters, such as or . + linkend="guc-client-encoding"/> or . The frontend can ignore this message, or record the settings - for its future use; see for + for its future use; see for more details. The frontend should not respond to this message, but should continue listening for a ReadyForQuery message. @@ -564,7 +564,7 @@ The backend is ready to copy data from the frontend to a - table; see . + table; see . @@ -574,7 +574,7 @@ The backend is ready to copy data from a table to the - frontend; see . + frontend; see . @@ -654,7 +654,7 @@ normally consists of RowDescription, zero or more DataRow messages, and then CommandComplete. COPY to or from the frontend invokes special protocol - as described in . + as described in . All other query types normally produce only a CommandComplete message. @@ -691,7 +691,7 @@ A frontend must be prepared to accept ErrorResponse and NoticeResponse messages whenever it is expecting any other type of - message. See also concerning messages + message. See also concerning messages that the backend might generate due to outside events. @@ -1198,7 +1198,7 @@ SELCT 1/0; It is possible for NoticeResponse and ParameterStatus messages to be interspersed between CopyData messages; frontends must handle these cases, and should be prepared for other asynchronous message types as well (see - ). Otherwise, any message type other than + ). Otherwise, any message type other than CopyData or CopyDone may be treated as terminating copy-out mode. @@ -1221,7 +1221,7 @@ SELCT 1/0; until a Sync message is received, and then issue ReadyForQuery and return to normal processing. The frontend should treat receipt of ErrorResponse as terminating the copy in both directions; no CopyDone should be sent - in this case. See for more + in this case. See for more information on the subprotocol transmitted over copy-both mode. @@ -1435,7 +1435,7 @@ SELCT 1/0; communication security in environments where attackers might be able to capture the session traffic. For more information on encrypting PostgreSQL sessions with - SSL, see . + SSL, see . @@ -1635,7 +1635,7 @@ of true tells the backend to go into walsender mode, wherein small set of replication commands can be issued instead of SQL statements. Only the simple query protocol can be used in walsender mode. Replication commands are logged in the server log when - is enabled. + is enabled. Passing database as the value instructs walsender to connect to the database specified in the dbname parameter, which will allow the connection to be used for logical replication from that database. @@ -1649,8 +1649,8 @@ the connection to be used for logical replication from that database. psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;" However, it is often more useful to use - (for physical replication) or - (for logical replication). + (for physical replication) or + (for logical replication). @@ -1728,7 +1728,7 @@ The commands accepted in walsender mode are: Requests the server to send the current setting of a run-time parameter. - This is similar to the SQL command . + This is similar to the SQL command . @@ -1737,7 +1737,7 @@ The commands accepted in walsender mode are: The name of a run-time parameter. Available parameters are documented - in . + in . @@ -1792,7 +1792,7 @@ The commands accepted in walsender mode are: Create a physical or logical replication - slot. See for more about + slot. See for more about replication slots. @@ -1801,7 +1801,7 @@ The commands accepted in walsender mode are: The name of the slot to create. Must be a valid replication slot - name (see ). + name (see ). @@ -1811,7 +1811,7 @@ The commands accepted in walsender mode are: The name of the output plugin used for logical decoding - (see ). + (see ). @@ -2378,7 +2378,7 @@ The commands accepted in walsender mode are: Sets the label of the backup. If none is specified, a backup label of base backup will be used. The quoting rules for the label are the same as a standard SQL string with - turned on. + turned on. @@ -2642,7 +2642,7 @@ The commands accepted in walsender mode are: The individual protocol messages are discussed in the following subsections. Individual messages are described in - . + . @@ -4006,7 +4006,7 @@ CopyInResponse (B) characters, etc). 1 indicates the overall copy format is binary (similar to DataRow format). - See + See for more information. @@ -4080,7 +4080,7 @@ CopyOutResponse (B) is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary (similar to DataRow - format). See for more information. + format). See for more information. @@ -4153,7 +4153,7 @@ CopyBothResponse (B) is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary (similar to DataRow - format). See for more information. + format). See for more information. @@ -4394,7 +4394,7 @@ ErrorResponse (B) A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in - . + . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type. @@ -4886,7 +4886,7 @@ NoticeResponse (B) A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in - . + . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type. @@ -5757,7 +5757,7 @@ StartupMessage (F) true, false, or database, and the default is false. See - for details. + for details. @@ -5919,7 +5919,7 @@ message. Code: the SQLSTATE code for the error (see ). Not localizable. Always present. + linkend="errcodes-appendix"/>). Not localizable. Always present. @@ -6124,7 +6124,7 @@ message. The fields for schema name, table name, column name, data type name, and constraint name are supplied only for a limited number of error types; - see . Frontends should not assume that + see . Frontends should not assume that the presence of any of these fields guarantees the presence of another field. Core error sources observe the interrelationships noted above, but user-defined functions may use these fields in other ways. In the same @@ -6149,7 +6149,7 @@ not line breaks. This section describes the detailed format of each logical replication message. These messages are returned either by the replication slot SQL interface or are sent by a walsender. In case of a walsender they are encapsulated inside the replication -protocol WAL messages as described in +protocol WAL messages as described in and generally obey same message flow as physical replication. diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml index 52cc37a1d6..19a7d2e18b 100644 --- a/doc/src/sgml/queries.sgml +++ b/doc/src/sgml/queries.sgml @@ -24,7 +24,7 @@ The process of retrieving or the command to retrieve data from a database is called a query. In SQL the - command is + command is used to specify queries. The general syntax of the SELECT command is @@ -59,7 +59,7 @@ SELECT a, b + c FROM table1; (assuming that b and c are of a numerical data type). - See for more details. + See for more details. @@ -110,7 +110,7 @@ SELECT random(); The <literal>FROM</literal> Clause - The derives a + The derives a table from one or more other tables given in a comma-separated table reference list. @@ -589,7 +589,7 @@ SELECT * FROM my_table AS m WHERE my_table.a > 5; -- wrong SELECT * FROM people AS mother JOIN people AS child ON mother.id = child.mother_id; Additionally, an alias is required if the table reference is a - subquery (see ). + subquery (see ). @@ -640,7 +640,7 @@ SELECT a.* FROM (my_table AS a JOIN your_table AS b ON ...) AS c Subqueries specifying a derived table must be enclosed in parentheses and must be assigned a table - alias name (as in ). For + alias name (as in ). For example: FROM (SELECT * FROM table1) AS alias_name @@ -662,7 +662,7 @@ FROM (VALUES ('anne', 'smith'), ('bob', 'jones'), ('joe', 'blow')) Again, a table alias is required. Assigning alias names to the columns of the VALUES list is optional, but is good practice. - For more information see . + For more information see . @@ -713,7 +713,7 @@ ROWS FROM( function_call , ... The special table function UNNEST may be called with any number of array parameters, and it returns a corresponding number of columns, as if UNNEST - () had been called on each parameter + () had been called on each parameter separately and combined using the ROWS FROM construct. @@ -795,8 +795,8 @@ SELECT * AS t1(proname name, prosrc text) WHERE proname LIKE 'bytea%'; - The function - (part of the module) executes + The function + (part of the module) executes a remote query. It is declared to return record since it might be used for any kind of query. The actual column set must be specified in the calling query so @@ -908,12 +908,12 @@ WHERE pname IS NULL; The syntax of the is + endterm="sql-where-title"/> is WHERE search_condition where search_condition is any value - expression (see ) that + expression (see ) that returns a value of type boolean. @@ -1014,7 +1014,7 @@ SELECT select_list - The is + The is used to group together those rows in a table that have the same values in all the columns listed. The order in which the columns are listed does not matter. The effect is to combine each set @@ -1066,7 +1066,7 @@ SELECT select_list Here sum is an aggregate function that computes a single value over the entire group. More information about the available aggregate functions can be found in . + linkend="functions-aggregate"/>. @@ -1074,7 +1074,7 @@ SELECT select_list Grouping without aggregate expressions effectively calculates the set of distinct values in a column. This can also be achieved using the DISTINCT clause (see ). + linkend="queries-distinct"/>). @@ -1236,7 +1236,7 @@ SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit References to the grouping columns or expressions are replaced by null values in result rows for grouping sets in which those columns do not appear. To distinguish which grouping a particular output - row resulted from, see . + row resulted from, see . @@ -1366,9 +1366,9 @@ GROUP BY GROUPING SETS ( If the query contains any window functions (see - , - and - ), these functions are evaluated + , + and + ), these functions are evaluated after any grouping, aggregation, and HAVING filtering is performed. That is, if the query uses any aggregates, GROUP BY, or HAVING, then the rows seen by the window functions @@ -1430,7 +1430,7 @@ GROUP BY GROUPING SETS ( The simplest kind of select list is * which emits all columns that the table expression produces. Otherwise, a select list is a comma-separated list of value expressions (as - defined in ). For instance, it + defined in ). For instance, it could be a list of column names: SELECT a, b, c FROM ... @@ -1438,7 +1438,7 @@ SELECT a, b, c FROM ... The columns names a, b, and c are either the actual names of the columns of tables referenced in the FROM clause, or the aliases given to them as - explained in . The name + explained in . The name space available in the select list is the same as in the WHERE clause, unless grouping is used, in which case it is the same as in the HAVING clause. @@ -1455,7 +1455,7 @@ SELECT tbl1.a, tbl2.a, tbl1.b FROM ... SELECT tbl1.*, tbl2.a FROM ... - See for more about + See for more about the table_name.* notation. @@ -1499,7 +1499,7 @@ SELECT a AS value, b + c AS sum FROM ... The AS keyword is optional, but only if the new column name does not match any PostgreSQL keyword (see ). To avoid an accidental match to + linkend="sql-keywords-appendix"/>). To avoid an accidental match to a keyword, you can double-quote the column name. For example, VALUE is a keyword, so this does not work: @@ -1518,7 +1518,7 @@ SELECT a "value", b + c AS sum FROM ... The naming of output columns here is different from that done in the FROM clause (see ). It is possible + linkend="queries-table-aliases"/>). It is possible to rename the same column twice, but the name assigned in the select list is the one that will be passed on. @@ -1663,7 +1663,7 @@ SELECT DISTINCT ON (expression , union compatible, which means that they return the same number of columns and the corresponding columns have compatible data types, as - described in . + described in . @@ -1861,7 +1861,7 @@ VALUES ( expression [, ...] ) [, .. of columns in the table), and corresponding entries in each list must have compatible data types. The actual data type assigned to each column of the result is determined using the same rules as for UNION - (see ). + (see ). @@ -1912,7 +1912,7 @@ SELECT select_list FROM table_expression - For more information see . + For more information see . @@ -2261,7 +2261,7 @@ SELECT * FROM moved_rows; Data-modifying statements in WITH usually have - RETURNING clauses (see ), + RETURNING clauses (see ), as shown in the example above. It is the output of the RETURNING clause, not the target table of the data-modifying statement, that forms the temporary @@ -2317,7 +2317,7 @@ DELETE FROM parts each other and with the main query. Therefore, when using data-modifying statements in WITH, the order in which the specified updates actually happen is unpredictable. All the statements are executed with - the same snapshot (see ), so they + the same snapshot (see ), so they cannot see one another's effects on the target tables. This alleviates the effects of the unpredictability of the actual order of row updates, and means that RETURNING data is the only way to diff --git a/doc/src/sgml/query.sgml b/doc/src/sgml/query.sgml index b139c34577..c0889743c4 100644 --- a/doc/src/sgml/query.sgml +++ b/doc/src/sgml/query.sgml @@ -12,7 +12,7 @@ tutorial is only intended to give you an introduction and is in no way a complete tutorial on SQL. Numerous books have been written on SQL, including and . + linkend="melt93"/> and . You should be aware that some PostgreSQL language features are extensions to the standard. @@ -267,7 +267,7 @@ COPY weather FROM '/home/user/weather.txt'; where the file name for the source file must be available on the machine running the backend process, not the client, since the backend process reads the file directly. You can read more about the - COPY command in . + COPY command in . @@ -754,7 +754,7 @@ SELECT city, max(temp_lo) SELECT city, max(temp_lo) FROM weather - WHERE city LIKE 'S%' -- + WHERE city LIKE 'S%' -- GROUP BY city HAVING max(temp_lo) < 40; @@ -762,7 +762,7 @@ SELECT city, max(temp_lo) The LIKE operator does pattern matching and - is explained in . + is explained in . diff --git a/doc/src/sgml/rangetypes.sgml b/doc/src/sgml/rangetypes.sgml index ef2bff9cd9..3a034d9b06 100644 --- a/doc/src/sgml/rangetypes.sgml +++ b/doc/src/sgml/rangetypes.sgml @@ -65,7 +65,7 @@ In addition, you can define your own range types; - see for more information. + see for more information. @@ -94,8 +94,8 @@ SELECT int4range(10, 20) * int4range(15, 25); SELECT isempty(numrange(1, 5)); - See - and for complete lists of + See + and for complete lists of operators and functions on range types. @@ -117,7 +117,7 @@ SELECT isempty(numrange(1, 5)); represented by (. Likewise, an inclusive upper bound is represented by ], while an exclusive upper bound is represented by ). - (See for more details.) + (See for more details.) @@ -214,7 +214,7 @@ empty These rules are very similar to those for writing field values in - composite-type literals. See for + composite-type literals. See for additional commentary. @@ -406,7 +406,7 @@ SELECT '[11:10, 23:00]'::timerange; - See for more information about creating + See for more information about creating range types. @@ -435,7 +435,7 @@ CREATE INDEX reservation_idx ON reservation USING GIST (during); -|-, &<, and &> - (see for more information). + (see for more information). diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml index ca37ab5187..92825fdf19 100644 --- a/doc/src/sgml/recovery-config.sgml +++ b/doc/src/sgml/recovery-config.sgml @@ -58,7 +58,7 @@ to truncate the archive to just the minimum required to support restarting from the current restore. %r is typically only used by warm-standby configurations - (see ). + (see ). Write %% to embed an actual % character. @@ -99,7 +99,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows may be safely removed. This information can be used to truncate the archive to just the minimum required to support restart from the current restore. - The module + The module is often used in archive_cleanup_command for single-standby configurations, for example: archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r' @@ -107,7 +107,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows same archive directory, you will need to ensure that you do not delete WAL files until they are no longer needed by any of the servers. archive_cleanup_command would typically be used in a - warm-standby configuration (see ). + warm-standby configuration (see ). Write %% to embed an actual % character in the command. @@ -133,7 +133,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_end_command is to provide a mechanism for cleanup following replication or recovery. Any %r is replaced by the name of the file containing the - last valid restart point, like in . + last valid restart point, like in . If the command returns a nonzero exit status then a warning log @@ -209,7 +209,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows This parameter specifies the time stamp up to which recovery will proceed. The precise stopping point is also influenced by - . + . @@ -229,7 +229,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows The transactions that will be recovered are those that committed before (and optionally including) the specified one. The precise stopping point is also influenced by - . + . @@ -244,7 +244,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows This parameter specifies the LSN of the write-ahead log location up to which recovery will proceed. The precise stopping point is also - influenced by . This + influenced by . This parameter is parsed using the system data type pg_lsn. @@ -270,9 +270,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows Specifies whether to stop just after the specified recovery target (true), or just before the recovery target (false). - Applies when , - , or - is specified. + Applies when , + , or + is specified. This setting controls whether transactions having exactly the target WAL location (LSN), commit time, or transaction ID, respectively, will be included in the recovery. Default is true. @@ -296,7 +296,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows a standby server. Other than that you only need to set this parameter in complex re-recovery situations, where you need to return to a state that itself was reached after a point-in-time recovery. - See for discussion. + See for discussion. @@ -323,7 +323,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows is the most desirable point for recovery. The paused state can be resumed by using pg_wal_replay_resume() (see - ), which then + ), which then causes recovery to end. If this recovery target is not the desired stopping point, then shut down the server, change the recovery target settings to a later target and restart to @@ -344,7 +344,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows This setting has no effect if no recovery target is set. - If is not enabled, a setting of + If is not enabled, a setting of pause will act the same as shutdown. @@ -386,9 +386,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows Specifies a connection string to be used for the standby server to connect with the primary. This string is in the format - described in . If any option is + described in . If any option is unspecified in this string, then the corresponding environment - variable (see ) is checked. If the + variable (see ) is checked. If the environment variable is not set either, then defaults are used. @@ -398,7 +398,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows the same as the standby server's default. Also specify a user name corresponding to a suitably-privileged role on the primary (see - ). + ). A password needs to be provided too, if the primary demands password authentication. It can be provided in the primary_conninfo string, or in a separate @@ -423,7 +423,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows Optionally specifies an existing replication slot to be used when connecting to the primary via streaming replication to control resource removal on the upstream node - (see ). + (see ). This setting has no effect if primary_conninfo is not set. diff --git a/doc/src/sgml/ref/abort.sgml b/doc/src/sgml/ref/abort.sgml index d341595785..21799d2a83 100644 --- a/doc/src/sgml/ref/abort.sgml +++ b/doc/src/sgml/ref/abort.sgml @@ -33,7 +33,7 @@ ABORT [ WORK | TRANSACTION ] all the updates made by the transaction to be discarded. This command is identical in behavior to the standard SQL command - , + , and is present only for historical reasons. @@ -58,7 +58,7 @@ ABORT [ WORK | TRANSACTION ] Notes - Use to + Use to successfully terminate a transaction. @@ -92,9 +92,9 @@ ABORT; See Also - - - + + + diff --git a/doc/src/sgml/ref/alter_aggregate.sgml b/doc/src/sgml/ref/alter_aggregate.sgml index e00e726ad8..2ad3e0440b 100644 --- a/doc/src/sgml/ref/alter_aggregate.sgml +++ b/doc/src/sgml/ref/alter_aggregate.sgml @@ -142,7 +142,7 @@ ALTER AGGREGATE name ( aggregate_signatu The recommended syntax for referencing an ordered-set aggregate is to write ORDER BY between the direct and aggregated argument specifications, in the same style as in - . However, it will also work to + . However, it will also work to omit ORDER BY and just run the direct and aggregated argument specifications into a single list. In this abbreviated form, if VARIADIC "any" was used in both the direct and @@ -195,8 +195,8 @@ ALTER AGGREGATE mypercentile(float8, integer) SET SCHEMA myschema; See Also - - + + diff --git a/doc/src/sgml/ref/alter_collation.sgml b/doc/src/sgml/ref/alter_collation.sgml index c7ad7437e8..b51b3a2564 100644 --- a/doc/src/sgml/ref/alter_collation.sgml +++ b/doc/src/sgml/ref/alter_collation.sgml @@ -94,7 +94,7 @@ ALTER COLLATION name SET SCHEMA new_sche Update the collation's version. See below. + endterm="sql-altercollation-notes-title"/> below. @@ -176,8 +176,8 @@ ALTER COLLATION "en_US" OWNER TO joe; See Also - - + + diff --git a/doc/src/sgml/ref/alter_conversion.sgml b/doc/src/sgml/ref/alter_conversion.sgml index 08ed5e28fb..c42bd8b3e4 100644 --- a/doc/src/sgml/ref/alter_conversion.sgml +++ b/doc/src/sgml/ref/alter_conversion.sgml @@ -120,8 +120,8 @@ ALTER CONVERSION iso_8859_1_to_utf8 OWNER TO joe; See Also - - + + diff --git a/doc/src/sgml/ref/alter_database.sgml b/doc/src/sgml/ref/alter_database.sgml index 1e09b5df1d..7db878cf53 100644 --- a/doc/src/sgml/ref/alter_database.sgml +++ b/doc/src/sgml/ref/alter_database.sgml @@ -188,7 +188,7 @@ ALTER DATABASE name RESET ALL - See and + See and for more information about allowed parameter names and values. @@ -203,7 +203,7 @@ ALTER DATABASE name RESET ALL It is also possible to tie a session default to a specific role rather than to a database; see - . + . Role-specific settings override database-specific ones if there is a conflict. @@ -234,10 +234,10 @@ ALTER DATABASE test SET enable_indexscan TO off; See Also - - - - + + + + diff --git a/doc/src/sgml/ref/alter_default_privileges.sgml b/doc/src/sgml/ref/alter_default_privileges.sgml index bc7401f845..ab2c35b4dd 100644 --- a/doc/src/sgml/ref/alter_default_privileges.sgml +++ b/doc/src/sgml/ref/alter_default_privileges.sgml @@ -106,7 +106,7 @@ REVOKE [ GRANT OPTION FOR ] - As explained under , + As explained under , the default privileges for any object type normally grant all grantable permissions to the object owner, and may grant some privileges to PUBLIC as well. However, this behavior can be changed by @@ -150,8 +150,8 @@ REVOKE [ GRANT OPTION FOR ] This parameter, and all the other parameters in abbreviated_grant_or_revoke, act as described under - or - , + or + , except that one is setting permissions for a whole class of objects rather than specific named objects. @@ -165,11 +165,11 @@ REVOKE [ GRANT OPTION FOR ] Notes - Use 's \ddp command + Use 's \ddp command to obtain information about existing assignments of default privileges. The meaning of the privilege values is the same as explained for \dp under - . + . @@ -226,8 +226,8 @@ ALTER DEFAULT PRIVILEGES FOR ROLE admin REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC; See Also - - + + diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml index 9cd044de54..85253e209b 100644 --- a/doc/src/sgml/ref/alter_domain.sgml +++ b/doc/src/sgml/ref/alter_domain.sgml @@ -80,7 +80,7 @@ ALTER DOMAIN name This form adds a new constraint to a domain using the same syntax as - . + . When a new constraint is added to a domain, all columns using that domain will be checked against the newly added constraint. These checks can be suppressed by adding the new constraint using the @@ -214,7 +214,7 @@ ALTER DOMAIN name Automatically drop objects that depend on the constraint, and in turn all objects that depend on those objects - (see ). + (see ). @@ -342,8 +342,8 @@ ALTER DOMAIN zipcode SET SCHEMA customers; See Also - - + + diff --git a/doc/src/sgml/ref/alter_event_trigger.sgml b/doc/src/sgml/ref/alter_event_trigger.sgml index b913ac9a5b..61919f7845 100644 --- a/doc/src/sgml/ref/alter_event_trigger.sgml +++ b/doc/src/sgml/ref/alter_event_trigger.sgml @@ -78,7 +78,7 @@ ALTER EVENT TRIGGER name RENAME TO These forms configure the firing of event triggers. A disabled trigger is still known to the system, but is not executed when its triggering - event occurs. See also . + event occurs. See also . @@ -98,8 +98,8 @@ ALTER EVENT TRIGGER name RENAME TO See Also - - + + diff --git a/doc/src/sgml/ref/alter_extension.sgml b/doc/src/sgml/ref/alter_extension.sgml index c2b0669c38..e54925507e 100644 --- a/doc/src/sgml/ref/alter_extension.sgml +++ b/doc/src/sgml/ref/alter_extension.sgml @@ -119,7 +119,7 @@ ALTER EXTENSION name DROP - See for more information about these + See for more information about these operations. @@ -323,8 +323,8 @@ ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore); See Also - - + + diff --git a/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml b/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml index 21bc83e512..14f3d616e7 100644 --- a/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml +++ b/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml @@ -180,8 +180,8 @@ ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator; See Also - - + + diff --git a/doc/src/sgml/ref/alter_foreign_table.sgml b/doc/src/sgml/ref/alter_foreign_table.sgml index df3d6d0696..f266be0c37 100644 --- a/doc/src/sgml/ref/alter_foreign_table.sgml +++ b/doc/src/sgml/ref/alter_foreign_table.sgml @@ -72,7 +72,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form adds a new column to the foreign table, using the same syntax as - . + . Unlike the case when adding a column to a regular table, nothing happens to the underlying storage: this action simply declares that some new column is now accessible through the foreign table. @@ -134,8 +134,8 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form sets the per-column statistics-gathering target for subsequent - operations. - See the similar form of + operations. + See the similar form of for more details. @@ -147,7 +147,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form sets or resets per-attribute options. - See the similar form of + See the similar form of for more details. @@ -160,7 +160,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form sets the storage mode for a column. - See the similar form of + See the similar form of for more details. Note that the storage mode has no effect unless the table's foreign-data wrapper chooses to pay attention to it. @@ -173,7 +173,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form adds a new constraint to a foreign table, using the same - syntax as . + syntax as . Currently only CHECK constraints are supported. @@ -182,7 +182,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name.) + in .) If the constraint is marked NOT VALID, then it isn't assumed to hold, but is only recorded for possible future use. @@ -217,7 +217,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name These forms configure the firing of trigger(s) belonging to the foreign - table. See the similar form of for more + table. See the similar form of for more details. @@ -228,7 +228,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form adds an oid system column to the - table (see ). + table (see ). It does nothing if the table already has OIDs. Unless the table's foreign-data wrapper supports OIDs, this column will simply read as zeroes. @@ -261,7 +261,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name This form adds the target foreign table as a new child of the specified parent table. - See the similar form of + See the similar form of for more details. @@ -433,7 +433,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name). + (see ). @@ -525,7 +525,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name - Refer to for a further description of valid + Refer to for a further description of valid parameters. @@ -571,8 +571,8 @@ ALTER FOREIGN TABLE myschema.distributors OPTIONS (ADD opt1 'value', SET opt2 'v See Also - - + + diff --git a/doc/src/sgml/ref/alter_function.sgml b/doc/src/sgml/ref/alter_function.sgml index fd35e98a88..196d2dde0c 100644 --- a/doc/src/sgml/ref/alter_function.sgml +++ b/doc/src/sgml/ref/alter_function.sgml @@ -171,7 +171,7 @@ ALTER FUNCTION name [ ( [ [ + is assumed automatically. See for more information. @@ -185,7 +185,7 @@ ALTER FUNCTION name [ ( [ [ for details. + See for details. @@ -198,7 +198,7 @@ ALTER FUNCTION name [ ( [ [ for more information about + conformance. See for more information about this capability. @@ -210,7 +210,7 @@ ALTER FUNCTION name [ ( [ [ for details. + See for details. @@ -220,7 +220,7 @@ ALTER FUNCTION name [ ( [ [ for more information about + See for more information about this capability. @@ -232,7 +232,7 @@ ALTER FUNCTION name [ ( [ [ for more information. + See for more information. @@ -243,7 +243,7 @@ ALTER FUNCTION name [ ( [ [ for more information. + function. See for more information. @@ -266,8 +266,8 @@ ALTER FUNCTION name [ ( [ [ and - + See and + for more information about allowed parameter names and values. @@ -357,8 +357,8 @@ ALTER FUNCTION check_password(text) RESET search_path; See Also - - + + diff --git a/doc/src/sgml/ref/alter_group.sgml b/doc/src/sgml/ref/alter_group.sgml index 172a62a6f7..39cc2b88cf 100644 --- a/doc/src/sgml/ref/alter_group.sgml +++ b/doc/src/sgml/ref/alter_group.sgml @@ -50,14 +50,14 @@ ALTER GROUP group_name RENAME TO group for this purpose.) These variants are effectively equivalent to granting or revoking membership in the role named as the group; so the preferred way to do this is to use - or - . + or + . The third variant changes the name of the group. This is exactly equivalent to renaming the role with - . + . @@ -125,9 +125,9 @@ ALTER GROUP workers DROP USER beth; See Also - - - + + + diff --git a/doc/src/sgml/ref/alter_index.sgml b/doc/src/sgml/ref/alter_index.sgml index 5d0b792e50..e54237272c 100644 --- a/doc/src/sgml/ref/alter_index.sgml +++ b/doc/src/sgml/ref/alter_index.sgml @@ -70,7 +70,7 @@ ALTER INDEX ALL IN TABLESPACE name this command, use ALTER DATABASE or explicit ALTER INDEX invocations instead if desired. See also - . + . @@ -91,11 +91,11 @@ ALTER INDEX ALL IN TABLESPACE name This form changes one or more index-method-specific storage parameters for the index. See - + for details on the available parameters. Note that the index contents will not be modified immediately by this command; depending on the parameter you might need to rebuild the index with - + to get the desired effects. @@ -117,16 +117,16 @@ ALTER INDEX ALL IN TABLESPACE name This form sets the per-column statistics-gathering target for - subsequent operations, though can + subsequent operations, though can be used only on index columns that are defined as an expression. Since expressions lack a unique name, we refer to them using the ordinal number of the index column. The target can be set in the range 0 to 10000; alternatively, set it to -1 to revert to using the system default statistics - target (). + target (). For more information on the use of statistics by the PostgreSQL query planner, refer to - . + . @@ -225,7 +225,7 @@ ALTER INDEX ALL IN TABLESPACE name These operations are also possible using - . + . ALTER INDEX is in fact just an alias for the forms of ALTER TABLE that apply to indexes. @@ -290,8 +290,8 @@ ALTER INDEX coord_idx ALTER COLUMN 3 SET STATISTICS 1000; See Also - - + + diff --git a/doc/src/sgml/ref/alter_language.sgml b/doc/src/sgml/ref/alter_language.sgml index 389824e3d2..eac63dec13 100644 --- a/doc/src/sgml/ref/alter_language.sgml +++ b/doc/src/sgml/ref/alter_language.sgml @@ -83,8 +83,8 @@ ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO { See Also - - + + diff --git a/doc/src/sgml/ref/alter_large_object.sgml b/doc/src/sgml/ref/alter_large_object.sgml index 0fbb8d5b62..f4a9c9e2a5 100644 --- a/doc/src/sgml/ref/alter_large_object.sgml +++ b/doc/src/sgml/ref/alter_large_object.sgml @@ -73,7 +73,7 @@ ALTER LARGE OBJECT large_object_oid See Also - + diff --git a/doc/src/sgml/ref/alter_materialized_view.sgml b/doc/src/sgml/ref/alter_materialized_view.sgml index f41b5058ff..03e3df1ffd 100644 --- a/doc/src/sgml/ref/alter_materialized_view.sgml +++ b/doc/src/sgml/ref/alter_materialized_view.sgml @@ -78,7 +78,7 @@ ALTER MATERIALIZED VIEW ALL IN TABLESPACE nameALTER MATERIALIZED VIEW are a subset of those available for ALTER TABLE, and have the same meaning when used for - materialized views. See the descriptions for + materialized views. See the descriptions for for details. @@ -177,9 +177,9 @@ ALTER MATERIALIZED VIEW foo RENAME TO bar; See Also - - - + + + diff --git a/doc/src/sgml/ref/alter_opclass.sgml b/doc/src/sgml/ref/alter_opclass.sgml index e69bcf2dd7..59a64caa4f 100644 --- a/doc/src/sgml/ref/alter_opclass.sgml +++ b/doc/src/sgml/ref/alter_opclass.sgml @@ -116,9 +116,9 @@ ALTER OPERATOR CLASS name USING - - - + + + diff --git a/doc/src/sgml/ref/alter_operator.sgml b/doc/src/sgml/ref/alter_operator.sgml index 4c6f75efff..b3bfa9ccbe 100644 --- a/doc/src/sgml/ref/alter_operator.sgml +++ b/doc/src/sgml/ref/alter_operator.sgml @@ -154,8 +154,8 @@ ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _i See Also - - + + diff --git a/doc/src/sgml/ref/alter_opfamily.sgml b/doc/src/sgml/ref/alter_opfamily.sgml index f327267ff8..3c0922c645 100644 --- a/doc/src/sgml/ref/alter_opfamily.sgml +++ b/doc/src/sgml/ref/alter_opfamily.sgml @@ -62,7 +62,7 @@ ALTER OPERATOR FAMILY name USING .) + instead; see .) PostgreSQL will allow loose members of a family to be dropped from the family at any time, but members of an operator class cannot be dropped without dropping the whole class and @@ -88,7 +88,7 @@ ALTER OPERATOR FAMILY name USING for further information. + Refer to for further information. @@ -349,11 +349,11 @@ ALTER OPERATOR FAMILY integer_ops USING btree DROP See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/alter_policy.sgml b/doc/src/sgml/ref/alter_policy.sgml index a49f2fc5a5..a1c720a956 100644 --- a/doc/src/sgml/ref/alter_policy.sgml +++ b/doc/src/sgml/ref/alter_policy.sgml @@ -105,7 +105,7 @@ ALTER POLICY name ON The USING expression for the policy. - See for details. + See for details. @@ -115,7 +115,7 @@ ALTER POLICY name ON The WITH CHECK expression for the policy. - See for details. + See for details. @@ -135,8 +135,8 @@ ALTER POLICY name ON See Also - - + + diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml index 5557f9b231..534e598d93 100644 --- a/doc/src/sgml/ref/alter_publication.sgml +++ b/doc/src/sgml/ref/alter_publication.sgml @@ -52,7 +52,7 @@ ALTER PUBLICATION name RENAME TO The fourth variant of this command listed in the synopsis can change all of the publication properties specified in - . Properties not mentioned in the + . Properties not mentioned in the command retain their previous settings. @@ -101,7 +101,7 @@ ALTER PUBLICATION name RENAME TO This clause alters publication parameters originally set by - . See there for more information. + . See there for more information. @@ -156,10 +156,10 @@ ALTER PUBLICATION mypublication ADD TABLE users, departments; See Also - - - - + + + + diff --git a/doc/src/sgml/ref/alter_role.sgml b/doc/src/sgml/ref/alter_role.sgml index c135364d4e..573a3e80f7 100644 --- a/doc/src/sgml/ref/alter_role.sgml +++ b/doc/src/sgml/ref/alter_role.sgml @@ -62,11 +62,11 @@ ALTER ROLE { role_specification | A The first variant of this command listed in the synopsis can change many of the role attributes that can be specified in - . + . (All the possible attributes are covered, except that there are no options for adding or removing memberships; use - and - for that.) + and + for that.) Attributes not mentioned in the command retain their previous settings. Database superusers can change any of these settings for any role. Roles having CREATEROLE privilege can change any of these @@ -102,8 +102,8 @@ ALTER ROLE { role_specification | A default, overriding whatever setting is present in postgresql.conf or has been received from the postgres command line. This only happens at login time; executing - or - does not cause new + or + does not cause new configuration values to be set. Settings set for all databases are overridden by database-specific settings attached to a role. Settings for specific databases or specific roles override @@ -173,7 +173,7 @@ ALTER ROLE { role_specification | A These clauses alter attributes originally set by - . For more information, see the + . For more information, see the CREATE ROLE reference page. @@ -217,14 +217,14 @@ ALTER ROLE { role_specification | A Role-specific variable settings take effect only at login; - and - + and + do not process role-specific variable settings. - See and for more information about allowed + See and for more information about allowed parameter names and values. @@ -236,14 +236,14 @@ ALTER ROLE { role_specification | A Notes - Use - to add new roles, and to remove a role. + Use + to add new roles, and to remove a role. ALTER ROLE cannot change a role's memberships. - Use and - + Use and + to do that. @@ -251,7 +251,7 @@ ALTER ROLE { role_specification | A Caution must be exercised when specifying an unencrypted password with this command. The password will be transmitted to the server in cleartext, and it might also be logged in the client's command - history or the server log. + history or the server log. contains a command \password that can be used to change a role's password without exposing the cleartext password. @@ -260,7 +260,7 @@ ALTER ROLE { role_specification | A It is also possible to tie a session default to a specific database rather than to a role; see - . + . If there is a conflict, database-role-specific settings override role-specific ones, which in turn override database-specific ones. @@ -311,7 +311,7 @@ ALTER ROLE miriam CREATEROLE CREATEDB; Give a role a non-default setting of the - parameter: + parameter: ALTER ROLE worker_bee SET maintenance_work_mem = 100000; @@ -320,7 +320,7 @@ ALTER ROLE worker_bee SET maintenance_work_mem = 100000; Give a role a non-default, database-specific setting of the - parameter: + parameter: ALTER ROLE fred IN DATABASE devel SET client_min_messages = DEBUG; @@ -340,10 +340,10 @@ ALTER ROLE fred IN DATABASE devel SET client_min_messages = DEBUG; See Also - - - - + + + + diff --git a/doc/src/sgml/ref/alter_rule.sgml b/doc/src/sgml/ref/alter_rule.sgml index f8833feee7..c20bfb35e1 100644 --- a/doc/src/sgml/ref/alter_rule.sgml +++ b/doc/src/sgml/ref/alter_rule.sgml @@ -97,8 +97,8 @@ ALTER RULE notify_all ON emp RENAME TO notify_me; See Also - - + + diff --git a/doc/src/sgml/ref/alter_schema.sgml b/doc/src/sgml/ref/alter_schema.sgml index dc91420954..2937214026 100644 --- a/doc/src/sgml/ref/alter_schema.sgml +++ b/doc/src/sgml/ref/alter_schema.sgml @@ -92,8 +92,8 @@ ALTER SCHEMA name OWNER TO { new_ownerSee Also - - + + diff --git a/doc/src/sgml/ref/alter_sequence.sgml b/doc/src/sgml/ref/alter_sequence.sgml index 655b35c6fc..bfd20af6d3 100644 --- a/doc/src/sgml/ref/alter_sequence.sgml +++ b/doc/src/sgml/ref/alter_sequence.sgml @@ -343,8 +343,8 @@ ALTER SEQUENCE serial RESTART WITH 105; See Also - - + + diff --git a/doc/src/sgml/ref/alter_server.sgml b/doc/src/sgml/ref/alter_server.sgml index 53529abff7..17e55b093e 100644 --- a/doc/src/sgml/ref/alter_server.sgml +++ b/doc/src/sgml/ref/alter_server.sgml @@ -136,8 +136,8 @@ ALTER SERVER foo VERSION '8.4' OPTIONS (SET host 'baz'); See Also - - + + diff --git a/doc/src/sgml/ref/alter_statistics.sgml b/doc/src/sgml/ref/alter_statistics.sgml index d7b012fd54..58c7ed020d 100644 --- a/doc/src/sgml/ref/alter_statistics.sgml +++ b/doc/src/sgml/ref/alter_statistics.sgml @@ -109,8 +109,8 @@ ALTER STATISTICS name SET SCHEMA See Also - - + + diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml index 7e0240d696..6dfb2e4d3e 100644 --- a/doc/src/sgml/ref/alter_subscription.sgml +++ b/doc/src/sgml/ref/alter_subscription.sgml @@ -38,7 +38,7 @@ ALTER SUBSCRIPTION name RENAME TO < ALTER SUBSCRIPTION can change most of the subscription properties that can be specified - in . + in . @@ -68,7 +68,7 @@ ALTER SUBSCRIPTION name RENAME TO < This clause alters the connection property originally set by - . See there for more + . See there for more information. @@ -79,7 +79,7 @@ ALTER SUBSCRIPTION name RENAME TO < Changes list of subscribed publications. See - for more information. + for more information. By default this command will also act like REFRESH PUBLICATION. @@ -162,7 +162,7 @@ ALTER SUBSCRIPTION name RENAME TO < This clause alters parameters originally set by - . See there for more + . See there for more information. The allowed options are slot_name and synchronous_commit @@ -220,10 +220,10 @@ ALTER SUBSCRIPTION mysub DISABLE; See Also - - - - + + + + diff --git a/doc/src/sgml/ref/alter_system.sgml b/doc/src/sgml/ref/alter_system.sgml index 887c4392dd..5e41f7f644 100644 --- a/doc/src/sgml/ref/alter_system.sgml +++ b/doc/src/sgml/ref/alter_system.sgml @@ -70,7 +70,7 @@ ALTER SYSTEM RESET ALL Name of a settable configuration parameter. Available parameters are - documented in . + documented in . @@ -94,13 +94,13 @@ ALTER SYSTEM RESET ALL Notes - This command can't be used to set , + This command can't be used to set , nor parameters that are not allowed in postgresql.conf (e.g., preset options). - See for other ways to set the parameters. + See for other ways to set the parameters. @@ -135,8 +135,8 @@ ALTER SYSTEM RESET wal_level; See Also - - + + diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 92db00f52d..7bcf242846 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -120,7 +120,7 @@ ALTER TABLE [ IF EXISTS ] name This form adds a new column to the table, using the same syntax as - . If IF NOT EXISTS + . If IF NOT EXISTS is specified and a column already exists with this name, no error is thrown. @@ -209,7 +209,7 @@ ALTER TABLE [ IF EXISTS ] name These forms change whether a column is an identity column or change the generation attribute of an existing identity column. - See for details. + See for details. @@ -227,7 +227,7 @@ ALTER TABLE [ IF EXISTS ] name These forms alter the sequence that underlies an existing identity column. sequence_option is an option - supported by such + supported by such as INCREMENT BY. @@ -239,13 +239,13 @@ ALTER TABLE [ IF EXISTS ] name This form sets the per-column statistics-gathering target for subsequent - operations. + operations. The target can be set in the range 0 to 10000; alternatively, set it to -1 to revert to using the system default statistics - target (). + target (). For more information on the use of statistics by the PostgreSQL query planner, refer to - . + . SET STATISTICS acquires a @@ -263,7 +263,7 @@ ALTER TABLE [ IF EXISTS ] name defined per-attribute options are n_distinct and n_distinct_inherited, which override the number-of-distinct-values estimates made by subsequent - + operations. n_distinct affects the statistics for the table itself, while n_distinct_inherited affects the statistics gathered for the table plus its inheritance children. When set to a @@ -281,7 +281,7 @@ ALTER TABLE [ IF EXISTS ] name until query planning time. Specify a value of 0 to revert to estimating the number of distinct values normally. For more information on the use of statistics by the PostgreSQL query - planner, refer to . + planner, refer to . Changing per-attribute options acquires a @@ -315,7 +315,7 @@ ALTER TABLE [ IF EXISTS ] name at the penalty of increased storage space. Note that SET STORAGE doesn't itself change anything in the table, it just sets the strategy to be pursued during future table updates. - See for more information. + See for more information. @@ -325,7 +325,7 @@ ALTER TABLE [ IF EXISTS ] name This form adds a new constraint to a table using the same syntax as - , plus the option NOT + , plus the option NOT VALID, which is currently only allowed for foreign key and CHECK constraints. If the constraint is marked NOT VALID, the @@ -457,7 +457,7 @@ ALTER TABLE [ IF EXISTS ] name of course the integrity of the constraint cannot be guaranteed if the triggers are not executed. The trigger firing mechanism is also affected by the configuration - variable . Simply enabled + variable . Simply enabled triggers will fire when the replication role is origin (the default) or local. Triggers configured as ENABLE REPLICA will only fire if the session is in replica @@ -494,7 +494,7 @@ ALTER TABLE [ IF EXISTS ] name even if row level security is disabled - in this case, the policies will NOT be applied and the policies will be ignored. See also - . + . @@ -509,7 +509,7 @@ ALTER TABLE [ IF EXISTS ] name disabled (the default) then row level security will not be applied when the user is the table owner. See also - . + . @@ -519,7 +519,7 @@ ALTER TABLE [ IF EXISTS ] name This form selects the default index for future - + operations. It does not actually re-cluster the table. @@ -533,7 +533,7 @@ ALTER TABLE [ IF EXISTS ] name This form removes the most recently used - + index specification from the table. This affects future cluster operations that don't specify an index. @@ -548,7 +548,7 @@ ALTER TABLE [ IF EXISTS ] name This form adds an oid system column to the - table (see ). + table (see ). It does nothing if the table already has OIDs. @@ -593,7 +593,7 @@ ALTER TABLE [ IF EXISTS ] name information_schema relations are not considered part of the system catalogs and will be moved. See also - . + . @@ -603,7 +603,7 @@ ALTER TABLE [ IF EXISTS ] name This form changes the table from unlogged to logged or vice-versa - (see ). It cannot be applied + (see ). It cannot be applied to a temporary table. @@ -615,12 +615,12 @@ ALTER TABLE [ IF EXISTS ] name This form changes one or more storage parameters for the table. See + endterm="sql-createtable-storage-parameters-title"/> for details on the available parameters. Note that the table contents will not be modified immediately by this command; depending on the parameter you might need to rewrite the table to get the desired effects. That can be done with VACUUM - FULL, or one of the forms + FULL, or one of the forms of ALTER TABLE that forces a table rewrite. For planner related parameters, changes will take effect from the next time the table is locked so currently executing queries will not be @@ -789,7 +789,7 @@ ALTER TABLE [ IF EXISTS ] name A partition using FOR VALUES uses same syntax for partition_bound_spec as - . The partition bound specification + . The partition bound specification must correspond to the partitioning strategy and partition key of the target table. The table to be attached must have all the same columns as the target table and no more; moreover, the column types must also @@ -821,7 +821,7 @@ ALTER TABLE [ IF EXISTS ] name If the new partition is a foreign table, nothing is done to verify that all the rows in the foreign table obey the partition constraint. - (See the discussion in about + (See the discussion in about constraints on the foreign table.) @@ -972,7 +972,7 @@ ALTER TABLE [ IF EXISTS ] name Automatically drop objects that depend on the dropped column or constraint (for example, views referencing the column), and in turn all objects that depend on those objects - (see ). + (see ). @@ -1099,7 +1099,7 @@ ALTER TABLE [ IF EXISTS ] name The partition bound specification for a new partition. Refer to - for more details on the syntax of the same. + for more details on the syntax of the same. @@ -1177,7 +1177,7 @@ ALTER TABLE [ IF EXISTS ] name The rewriting forms of ALTER TABLE are not MVCC-safe. After a table rewrite, the table will appear empty to concurrent transactions, if they are using a snapshot taken before the rewrite - occurred. See for more details. + occurred. See for more details. @@ -1239,8 +1239,8 @@ ALTER TABLE [ IF EXISTS ] name - Refer to for a further description of valid - parameters. has further information on + Refer to for a further description of valid + parameters. has further information on inheritance. @@ -1472,7 +1472,7 @@ ALTER TABLE measurement See Also - + diff --git a/doc/src/sgml/ref/alter_tablespace.sgml b/doc/src/sgml/ref/alter_tablespace.sgml index 4d6f011e2f..acec33469f 100644 --- a/doc/src/sgml/ref/alter_tablespace.sgml +++ b/doc/src/sgml/ref/alter_tablespace.sgml @@ -88,9 +88,9 @@ ALTER TABLESPACE name RESET ( , - , - ). This may be useful if + same name (see , + , + ). This may be useful if one tablespace is located on a disk which is faster or slower than the remainder of the I/O subsystem. @@ -130,8 +130,8 @@ ALTER TABLESPACE index_space OWNER TO mary; See Also - - + + diff --git a/doc/src/sgml/ref/alter_trigger.sgml b/doc/src/sgml/ref/alter_trigger.sgml index 4b4dacbf28..6cf789a67a 100644 --- a/doc/src/sgml/ref/alter_trigger.sgml +++ b/doc/src/sgml/ref/alter_trigger.sgml @@ -90,7 +90,7 @@ ALTER TRIGGER name ON The ability to temporarily enable or disable a trigger is provided by - , not by + , not by ALTER TRIGGER, because ALTER TRIGGER has no convenient way to express the option of enabling or disabling all of a table's triggers at once. @@ -126,7 +126,7 @@ ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib; See Also - + diff --git a/doc/src/sgml/ref/alter_tsconfig.sgml b/doc/src/sgml/ref/alter_tsconfig.sgml index 630927c15b..ebe0b94b27 100644 --- a/doc/src/sgml/ref/alter_tsconfig.sgml +++ b/doc/src/sgml/ref/alter_tsconfig.sgml @@ -182,8 +182,8 @@ ALTER TEXT SEARCH CONFIGURATION my_config See Also - - + + diff --git a/doc/src/sgml/ref/alter_tsdictionary.sgml b/doc/src/sgml/ref/alter_tsdictionary.sgml index 75a8b1dac6..b29865e11e 100644 --- a/doc/src/sgml/ref/alter_tsdictionary.sgml +++ b/doc/src/sgml/ref/alter_tsdictionary.sgml @@ -163,8 +163,8 @@ ALTER TEXT SEARCH DICTIONARY my_dict ( dummy ); See Also - - + + diff --git a/doc/src/sgml/ref/alter_tsparser.sgml b/doc/src/sgml/ref/alter_tsparser.sgml index c71faeec05..9edff4b71a 100644 --- a/doc/src/sgml/ref/alter_tsparser.sgml +++ b/doc/src/sgml/ref/alter_tsparser.sgml @@ -86,8 +86,8 @@ ALTER TEXT SEARCH PARSER name SET SCHEMA See Also - - + + diff --git a/doc/src/sgml/ref/alter_tstemplate.sgml b/doc/src/sgml/ref/alter_tstemplate.sgml index 210baa7125..5d3c826533 100644 --- a/doc/src/sgml/ref/alter_tstemplate.sgml +++ b/doc/src/sgml/ref/alter_tstemplate.sgml @@ -86,8 +86,8 @@ ALTER TEXT SEARCH TEMPLATE name SET SCHEMA See Also - - + + diff --git a/doc/src/sgml/ref/alter_type.sgml b/doc/src/sgml/ref/alter_type.sgml index 7c32f0c5d5..9127dfd88d 100644 --- a/doc/src/sgml/ref/alter_type.sgml +++ b/doc/src/sgml/ref/alter_type.sgml @@ -52,7 +52,7 @@ ALTER TYPE name RENAME VALUE This form adds a new attribute to a composite type, using the same syntax as - . + . @@ -368,8 +368,8 @@ ALTER TYPE colors RENAME VALUE 'purple' TO 'mauve'; See Also - - + + diff --git a/doc/src/sgml/ref/alter_user.sgml b/doc/src/sgml/ref/alter_user.sgml index 8e03510bd4..8f50f43089 100644 --- a/doc/src/sgml/ref/alter_user.sgml +++ b/doc/src/sgml/ref/alter_user.sgml @@ -56,7 +56,7 @@ ALTER USER { role_specification | A ALTER USER is now an alias for - . + . @@ -74,7 +74,7 @@ ALTER USER { role_specification | A See Also - + diff --git a/doc/src/sgml/ref/alter_user_mapping.sgml b/doc/src/sgml/ref/alter_user_mapping.sgml index eecff388cb..7a9b5a188a 100644 --- a/doc/src/sgml/ref/alter_user_mapping.sgml +++ b/doc/src/sgml/ref/alter_user_mapping.sgml @@ -116,8 +116,8 @@ ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public'); See Also - - + + diff --git a/doc/src/sgml/ref/alter_view.sgml b/doc/src/sgml/ref/alter_view.sgml index f33519bd79..2e9edc1975 100644 --- a/doc/src/sgml/ref/alter_view.sgml +++ b/doc/src/sgml/ref/alter_view.sgml @@ -194,8 +194,8 @@ INSERT INTO a_view(id) VALUES(2); -- ts will receive the current time See Also - - + + diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml index bc33f0fa23..83b07a0300 100644 --- a/doc/src/sgml/ref/analyze.sgml +++ b/doc/src/sgml/ref/analyze.sgml @@ -111,7 +111,7 @@ ANALYZE [ VERBOSE ] [ table_and_columns In the default PostgreSQL configuration, - the autovacuum daemon (see ) + the autovacuum daemon (see ) takes care of automatic analyzing of tables when they are first loaded with data, and as they change throughout regular operation. When autovacuum is disabled, @@ -119,7 +119,7 @@ ANALYZE [ VERBOSE ] [ table_and_columns + strategy for read-mostly databases is to run and ANALYZE once a day during a low-usage time of day. (This will not be sufficient if there is heavy update activity.) @@ -139,7 +139,7 @@ ANALYZE [ VERBOSE ] [ table_and_columns. + linkend="maintenance"/>. @@ -150,7 +150,7 @@ ANALYZE [ VERBOSE ] [ table_and_columnsANALYZE is run, even if the actual table contents did not change. This might result in small changes in the planner's estimated costs shown by - . + . In rare situations, this non-determinism will cause the planner's choices of query plans to change after ANALYZE is run. To avoid this, raise the amount of statistics collected by @@ -159,10 +159,10 @@ ANALYZE [ VERBOSE ] [ table_and_columns The extent of analysis can be controlled by adjusting the - configuration variable, or + configuration variable, or on a column-by-column basis by setting the per-column statistics target with ALTER TABLE ... ALTER COLUMN ... SET - STATISTICS (see ). + STATISTICS (see ). The target value sets the maximum number of entries in the most-common-value list and the maximum number of bins in the histogram. The default target value @@ -192,7 +192,7 @@ ANALYZE [ VERBOSE ] [ table_and_columnsALTER TABLE ... ALTER COLUMN ... SET (n_distinct = ...) - (see ). + (see ). @@ -233,10 +233,10 @@ ANALYZE [ VERBOSE ] [ table_and_columnsSee Also - - - - + + + + diff --git a/doc/src/sgml/ref/begin.sgml b/doc/src/sgml/ref/begin.sgml index 45f85aea34..c23bbfb4e7 100644 --- a/doc/src/sgml/ref/begin.sgml +++ b/doc/src/sgml/ref/begin.sgml @@ -38,8 +38,8 @@ BEGIN [ WORK | TRANSACTION ] [ transaction_modeBEGIN initiates a transaction block, that is, all statements after a BEGIN command will be executed in a single transaction until an explicit or is given. + linkend="sql-commit"/> or is given. By default (without BEGIN), PostgreSQL executes transactions in autocommit mode, that is, each @@ -60,7 +60,7 @@ BEGIN [ WORK | TRANSACTION ] [ transaction_mode If the isolation level, read/write mode, or deferrable mode is specified, the new transaction has those characteristics, as if - + was executed. @@ -81,7 +81,7 @@ BEGIN [ WORK | TRANSACTION ] [ transaction_mode - Refer to for information on the meaning + Refer to for information on the meaning of the other parameters to this statement. @@ -90,13 +90,13 @@ BEGIN [ WORK | TRANSACTION ] [ transaction_modeNotes - has the same functionality + has the same functionality as BEGIN. - Use or - + Use or + to terminate a transaction block. @@ -104,7 +104,7 @@ BEGIN [ WORK | TRANSACTION ] [ transaction_modeBEGIN when already inside a transaction block will provoke a warning message. The state of the transaction is not affected. To nest transactions within a transaction block, use savepoints - (see ). + (see ). @@ -131,7 +131,7 @@ BEGIN; BEGIN is a PostgreSQL language extension. It is equivalent to the SQL-standard command - , whose reference page + , whose reference page contains additional compatibility information. @@ -152,10 +152,10 @@ BEGIN; See Also - - - - + + + + diff --git a/doc/src/sgml/ref/checkpoint.sgml b/doc/src/sgml/ref/checkpoint.sgml index a8f3186d8c..dfcadcf402 100644 --- a/doc/src/sgml/ref/checkpoint.sgml +++ b/doc/src/sgml/ref/checkpoint.sgml @@ -29,7 +29,7 @@ CHECKPOINT A checkpoint is a point in the write-ahead log sequence at which all data files have been updated to reflect the information in the log. All data files will be flushed to disk. Refer to - for more details about what happens + for more details about what happens during a checkpoint. @@ -37,14 +37,14 @@ CHECKPOINT The CHECKPOINT command forces an immediate checkpoint when the command is issued, without waiting for a regular checkpoint scheduled by the system (controlled by the settings in - ). + ). CHECKPOINT is not intended for use during normal operation. If executed during recovery, the CHECKPOINT command - will force a restartpoint (see ) + will force a restartpoint (see ) rather than writing a new checkpoint. diff --git a/doc/src/sgml/ref/close.sgml b/doc/src/sgml/ref/close.sgml index 7ecc0cc463..e464df1965 100644 --- a/doc/src/sgml/ref/close.sgml +++ b/doc/src/sgml/ref/close.sgml @@ -84,7 +84,7 @@ CLOSE { name | ALL } PostgreSQL does not have an explicit OPEN cursor statement; a cursor is considered open when it is declared. Use the - + statement to declare a cursor. @@ -124,9 +124,9 @@ CLOSE liahona; See Also - - - + + + diff --git a/doc/src/sgml/ref/cluster.sgml b/doc/src/sgml/ref/cluster.sgml index 1210b5dffb..4da60d8d56 100644 --- a/doc/src/sgml/ref/cluster.sgml +++ b/doc/src/sgml/ref/cluster.sgml @@ -57,7 +57,7 @@ CLUSTER [VERBOSE] CLUSTER table_name reclusters the table using the same index as before. You can also use the CLUSTER or SET WITHOUT CLUSTER - forms of to set the index to be used for + forms of to set the index to be used for future cluster operations, or to clear any previous setting. @@ -148,18 +148,18 @@ CLUSTER [VERBOSE] as double the table size, plus the index sizes. This method is often faster than the index scan method, but if the disk space requirement is intolerable, you can disable this choice by temporarily setting to off. + linkend="guc-enable-sort"/> to off. - It is advisable to set to + It is advisable to set to a reasonably large value (but not more than the amount of RAM you can dedicate to the CLUSTER operation) before clustering. Because the planner records statistics about the ordering of - tables, it is advisable to run + tables, it is advisable to run on the newly clustered table. Otherwise, the planner might make poor choices of query plans. @@ -221,7 +221,7 @@ CLUSTER index_name ON See Also - + diff --git a/doc/src/sgml/ref/clusterdb.sgml b/doc/src/sgml/ref/clusterdb.sgml index d2d4b52f48..ed343dd7da 100644 --- a/doc/src/sgml/ref/clusterdb.sgml +++ b/doc/src/sgml/ref/clusterdb.sgml @@ -60,7 +60,7 @@ PostgreSQL documentation clusterdb is a wrapper around the SQL - command . + command . There is no effective difference between clustering databases via this utility and via other methods for accessing the server. @@ -279,7 +279,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -289,8 +289,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -325,7 +325,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/comment.sgml b/doc/src/sgml/ref/comment.sgml index d705792a45..7d66c1a34c 100644 --- a/doc/src/sgml/ref/comment.sgml +++ b/doc/src/sgml/ref/comment.sgml @@ -105,7 +105,7 @@ COMMENT ON the same built-in functions that psql uses, namely obj_description, col_description, and shobj_description - (see ). + (see ). diff --git a/doc/src/sgml/ref/commit.sgml b/doc/src/sgml/ref/commit.sgml index e41d6ff3cf..b2e8d5d180 100644 --- a/doc/src/sgml/ref/commit.sgml +++ b/doc/src/sgml/ref/commit.sgml @@ -55,7 +55,7 @@ COMMIT [ WORK | TRANSACTION ] Notes - Use to + Use to abort a transaction. @@ -89,8 +89,8 @@ COMMIT; See Also - - + + diff --git a/doc/src/sgml/ref/commit_prepared.sgml b/doc/src/sgml/ref/commit_prepared.sgml index c200a3e573..d938b65bbe 100644 --- a/doc/src/sgml/ref/commit_prepared.sgml +++ b/doc/src/sgml/ref/commit_prepared.sgml @@ -99,8 +99,8 @@ COMMIT PREPARED 'foobar'; See Also - - + + diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml index eb91ad971d..af2a0e91b9 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -112,9 +112,9 @@ COPY { table_name [ ( query - A , , - , or - command whose results are to be + A , , + , or + command whose results are to be copied. Note that parentheses are required around the query. diff --git a/doc/src/sgml/ref/create_access_method.sgml b/doc/src/sgml/ref/create_access_method.sgml index 1bb1a79bd2..851c5e63be 100644 --- a/doc/src/sgml/ref/create_access_method.sgml +++ b/doc/src/sgml/ref/create_access_method.sgml @@ -78,7 +78,7 @@ CREATE ACCESS METHOD name for INDEX access methods, it must be index_am_handler. The C-level API that the handler function must implement varies depending on the type of access method. - The index access method API is described in . + The index access method API is described in . @@ -109,9 +109,9 @@ CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler; See Also - - - + + + diff --git a/doc/src/sgml/ref/create_aggregate.sgml b/doc/src/sgml/ref/create_aggregate.sgml index 4a8cee8057..a4aaae876e 100644 --- a/doc/src/sgml/ref/create_aggregate.sgml +++ b/doc/src/sgml/ref/create_aggregate.sgml @@ -91,7 +91,7 @@ CREATE AGGREGATE name ( CREATE AGGREGATE defines a new aggregate function. Some basic and commonly-used aggregate functions are included with the distribution; they are documented in . If one defines new types or needs + linkend="functions-aggregate"/>. If one defines new types or needs an aggregate function not already provided, then CREATE AGGREGATE can be used to provide the desired features. @@ -110,7 +110,7 @@ CREATE AGGREGATE name ( the name and input data type(s) of every ordinary function in the same schema. This behavior is identical to overloading of ordinary function names - (see ). + (see ). @@ -199,7 +199,7 @@ CREATE AGGREGATE name ( An aggregate can optionally support moving-aggregate mode, - as described in . This requires + as described in . This requires specifying the MSFUNC, MINVFUNC, and MSTYPE parameters, and optionally the MSPACE, MFINALFUNC, @@ -228,7 +228,7 @@ CREATE AGGREGATE name ( An aggregate can optionally support partial aggregation, - as described in . + as described in . This requires specifying the COMBINEFUNC parameter. If the state_data_type is internal, it's usually also appropriate to provide the @@ -379,7 +379,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; The planner uses this value to estimate the memory required for a grouped aggregate query. The planner will consider using hash aggregation for such a query only if the hash table is estimated to fit - in ; therefore, large values of this + in ; therefore, large values of this parameter discourage use of hash aggregation. @@ -426,7 +426,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; that does not modify its arguments. READ_ONLY indicates it does not; the other two values indicate that it may change the transition state value. See below for more detail. The + endterm="sql-createaggregate-notes-title"/> below for more detail. The default is READ_ONLY, except for ordered-set aggregates, for which the default is READ_WRITE. @@ -623,7 +623,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; The meanings of PARALLEL SAFE, PARALLEL RESTRICTED, and PARALLEL UNSAFE are the same as - in . An aggregate will not be + in . An aggregate will not be considered for parallelization if it is marked PARALLEL UNSAFE (which is the default!) or PARALLEL RESTRICTED. Note that the parallel-safety markings of the aggregate's support @@ -773,7 +773,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; Examples - See . + See . @@ -791,8 +791,8 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; See Also - - + + diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml index cd4565e336..84317047c2 100644 --- a/doc/src/sgml/ref/create_cast.sgml +++ b/doc/src/sgml/ref/create_cast.sgml @@ -153,7 +153,7 @@ SELECT CAST ( 2 AS numeric ) + 4.0; ambiguity that cannot be avoided as above. The parser has a fallback heuristic based on type categories and preferred types that can help to provide desired behavior in such cases. See - for + for more information. @@ -301,7 +301,7 @@ SELECT CAST ( 2 AS numeric ) + 4.0; Notes - Use to remove user-defined casts. + Use to remove user-defined casts. @@ -412,9 +412,9 @@ CREATE CAST (bigint AS int4) WITH FUNCTION int4(bigint) AS ASSIGNMENT; See Also - , - , - + , + , + diff --git a/doc/src/sgml/ref/create_collation.sgml b/doc/src/sgml/ref/create_collation.sgml index cc76b04027..5bc9af5499 100644 --- a/doc/src/sgml/ref/create_collation.sgml +++ b/doc/src/sgml/ref/create_collation.sgml @@ -138,7 +138,7 @@ CREATE COLLATION [ IF NOT EXISTS ] name FROM - See also for how to handle + See also for how to handle collation version mismatches. @@ -167,13 +167,13 @@ CREATE COLLATION [ IF NOT EXISTS ] name FROM - See for more information on how to create collations. + See for more information on how to create collations. When using the libc collation provider, the locale must be applicable to the current database encoding. - See for the precise rules. + See for the precise rules. @@ -223,8 +223,8 @@ CREATE COLLATION german FROM "de_DE"; See Also - - + + diff --git a/doc/src/sgml/ref/create_conversion.sgml b/doc/src/sgml/ref/create_conversion.sgml index 44475eb30e..4ddbcfacef 100644 --- a/doc/src/sgml/ref/create_conversion.sgml +++ b/doc/src/sgml/ref/create_conversion.sgml @@ -161,9 +161,9 @@ CREATE CONVERSION myconv FOR 'UTF8' TO 'LATIN1' FROM myfunc; See Also - - - + + + diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml index f63f1f92ac..b2c9e241c2 100644 --- a/doc/src/sgml/ref/create_database.sgml +++ b/doc/src/sgml/ref/create_database.sgml @@ -45,7 +45,7 @@ CREATE DATABASE name To create a database, you must be a superuser or have the special CREATEDB privilege. - See . + See . @@ -106,7 +106,7 @@ CREATE DATABASE name to use the default encoding (namely, the encoding of the template database). The character sets supported by the PostgreSQL server are described in - . See below for + . See below for additional restrictions. @@ -143,7 +143,7 @@ CREATE DATABASE name template database's tablespace. This tablespace will be the default tablespace used for objects created in this database. See - + for more information. @@ -203,17 +203,17 @@ CREATE DATABASE name - Use to remove a database. + Use to remove a database. - The program is a + The program is a wrapper program around this command, provided for convenience. Database-level configuration parameters (set via ) are not copied from the template + linkend="sql-alterdatabase"/>) are not copied from the template database. @@ -226,7 +226,7 @@ CREATE DATABASE name DATABASE will fail if any other connection exists when it starts; otherwise, new connections to the template database are locked out until CREATE DATABASE completes. - See for more information. + See for more information. @@ -328,8 +328,8 @@ CREATE DATABASE music2 See Also - - + + diff --git a/doc/src/sgml/ref/create_domain.sgml b/doc/src/sgml/ref/create_domain.sgml index d38914e288..49d5304330 100644 --- a/doc/src/sgml/ref/create_domain.sgml +++ b/doc/src/sgml/ref/create_domain.sgml @@ -255,8 +255,8 @@ CREATE TABLE us_snail_addy ( See Also - - + + diff --git a/doc/src/sgml/ref/create_event_trigger.sgml b/doc/src/sgml/ref/create_event_trigger.sgml index 42cd065612..396d82118e 100644 --- a/doc/src/sgml/ref/create_event_trigger.sgml +++ b/doc/src/sgml/ref/create_event_trigger.sgml @@ -36,7 +36,7 @@ CREATE EVENT TRIGGER name Whenever the designated event occurs and the WHEN condition associated with the trigger, if any, is satisfied, the trigger function will be executed. For a general introduction to event triggers, see - . The user who creates an event trigger + . The user who creates an event trigger becomes its owner. @@ -60,7 +60,7 @@ CREATE EVENT TRIGGER name The name of the event that triggers a call to the given function. - See for more information + See for more information on event names. @@ -113,7 +113,7 @@ CREATE EVENT TRIGGER name Event triggers are disabled in single-user mode (see ). If an erroneous event trigger disables the + linkend="app-postgres"/>). If an erroneous event trigger disables the database so much that you can't even drop the trigger, restart in single-user mode and you'll be able to do that. @@ -154,9 +154,9 @@ CREATE EVENT TRIGGER abort_ddl ON ddl_command_start See Also - - - + + + diff --git a/doc/src/sgml/ref/create_extension.sgml b/doc/src/sgml/ref/create_extension.sgml index 3e0f849f5b..36837f927d 100644 --- a/doc/src/sgml/ref/create_extension.sgml +++ b/doc/src/sgml/ref/create_extension.sgml @@ -195,7 +195,7 @@ CREATE EXTENSION [ IF NOT EXISTS ] extension_name For information about writing new extensions, see - . + . @@ -234,8 +234,8 @@ CREATE EXTENSION hstore SCHEMA public FROM unpackaged; See Also - - + + diff --git a/doc/src/sgml/ref/create_foreign_data_wrapper.sgml b/doc/src/sgml/ref/create_foreign_data_wrapper.sgml index d9a1c18735..0fcba18a34 100644 --- a/doc/src/sgml/ref/create_foreign_data_wrapper.sgml +++ b/doc/src/sgml/ref/create_foreign_data_wrapper.sgml @@ -172,11 +172,11 @@ CREATE FOREIGN DATA WRAPPER mywrapper See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_foreign_table.sgml b/doc/src/sgml/ref/create_foreign_table.sgml index 212c62ae1b..37a45b26db 100644 --- a/doc/src/sgml/ref/create_foreign_table.sgml +++ b/doc/src/sgml/ref/create_foreign_table.sgml @@ -131,7 +131,7 @@ CHECK ( expression ) [ NO INHERIT ] The data type of the column. This can include array specifiers. For more information on the data types supported by PostgreSQL, refer to . + linkend="datatype"/>. @@ -155,7 +155,7 @@ CHECK ( expression ) [ NO INHERIT ] tables from which the new foreign table automatically inherits all columns. Parent tables can be plain tables or foreign tables. See the similar form of - for more details. + for more details. @@ -252,7 +252,7 @@ CHECK ( expression ) [ NO INHERIT ] The name of an existing foreign server to use for the foreign table. For details on defining a server, see . + linkend="sql-createserver"/>. @@ -361,11 +361,11 @@ CREATE FOREIGN TABLE measurement_y2016m07 See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml index 970dc13359..75331165fe 100644 --- a/doc/src/sgml/ref/create_function.sgml +++ b/doc/src/sgml/ref/create_function.sgml @@ -141,7 +141,7 @@ CREATE [ OR REPLACE ] FUNCTION name of an input argument is just extra documentation, so far as the function itself is concerned; but you can use input argument names when calling a function to improve readability (see ). In any case, the name + linkend="sql-syntax-calling-funcs"/>). In any case, the name of an output argument is significant, because it defines the column name in the result row type. (If you omit the name for an output argument, the system will choose a default column name.) @@ -269,7 +269,7 @@ CREATE [ OR REPLACE ] FUNCTION Lists which transforms a call to the function should apply. Transforms convert between SQL types and language-specific data types; - see . Procedural language + see . Procedural language implementations usually have hardcoded knowledge of the built-in types, so those don't need to be listed here. If a procedural language implementation does not know how to handle a type and no transform is @@ -338,7 +338,7 @@ CREATE [ OR REPLACE ] FUNCTION - For additional details see . + For additional details see . @@ -363,7 +363,7 @@ CREATE [ OR REPLACE ] FUNCTION In addition, functions which do not take arguments or which are not passed any arguments from the security barrier view or table do not have to be marked as leakproof to be executed before security conditions. See - and . + and . This option can only be set by the superuser. @@ -455,7 +455,7 @@ CREATE [ OR REPLACE ] FUNCTION A positive number giving the estimated execution cost for the function, - in units of . If the function + in units of . If the function returns a set, this is the cost per returned row. If the cost is not specified, 1 unit is assumed for C-language and internal functions, and 100 units for functions in all other languages. Larger values @@ -504,8 +504,8 @@ CREATE [ OR REPLACE ] FUNCTION - See and - + See and + for more information about allowed parameter names and values. @@ -523,7 +523,7 @@ CREATE [ OR REPLACE ] FUNCTION It is often helpful to use dollar quoting (see ) to write the function definition + linkend="sql-syntax-dollar-quoting"/>) to write the function definition string, rather than the normal single quote syntax. Without dollar quoting, any single quotes or backslashes in the function definition must be escaped by doubling them. @@ -543,7 +543,7 @@ CREATE [ OR REPLACE ] FUNCTION the SQL function. The string obj_file is the name of the shared library file containing the compiled C function, and is interpreted - as for the command. The string + as for the command. The string link_symbol is the function's link symbol, that is, the name of the function in the C language source code. If the link symbol is omitted, it is assumed @@ -598,7 +598,7 @@ CREATE [ OR REPLACE ] FUNCTION - Refer to for further information on writing + Refer to for further information on writing functions. @@ -681,7 +681,7 @@ CREATE FUNCTION foo(int, int default 42) ... Here are some trivial examples to help you get started. For more - information and examples, see . + information and examples, see . CREATE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' @@ -750,7 +750,7 @@ SELECT * FROM dup(42); Because a SECURITY DEFINER function is executed with the privileges of the user that owns it, care is needed to ensure that the function cannot be misused. For security, - should be set to exclude any schemas + should be set to exclude any schemas writable by untrusted users. This prevents malicious users from creating objects (e.g., tables, functions, and operators) that mask objects intended to be used by the function. @@ -795,7 +795,7 @@ $$ LANGUAGE plpgsql Another point to keep in mind is that by default, execute privilege is granted to PUBLIC for newly created functions - (see for more + (see for more information). Frequently you will wish to restrict use of a security definer function to only some users. To do that, you must revoke the default PUBLIC privileges and then grant execute @@ -843,11 +843,11 @@ COMMIT; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_group.sgml b/doc/src/sgml/ref/create_group.sgml index 0382349404..1b8e76e326 100644 --- a/doc/src/sgml/ref/create_group.sgml +++ b/doc/src/sgml/ref/create_group.sgml @@ -46,7 +46,7 @@ CREATE GROUP name [ [ WITH ] CREATE GROUP is now an alias for - . + . @@ -63,7 +63,7 @@ CREATE GROUP name [ [ WITH ] See Also - + diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index 92c0090dfd..025537575b 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml @@ -72,7 +72,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] WHERE with UNIQUE to enforce uniqueness over a subset of a - table. See for more discussion. + table. See for more discussion. @@ -121,7 +121,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] . + endterm="sql-createindex-concurrently-title"/>. @@ -259,7 +259,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] The name of an index-method-specific storage parameter. See - + for details. @@ -270,8 +270,8 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] The tablespace in which to create the index. If not specified, - is consulted, or - for indexes on temporary + is consulted, or + for indexes on temporary tables. @@ -331,10 +331,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] Determines whether the buffering build technique described in - is used to build the index. With + is used to build the index. With OFF it is disabled, with ON it is enabled, and with AUTO it is initially disabled, but turned on - on-the-fly once the index size reaches . The default is AUTO. + on-the-fly once the index size reaches . The default is AUTO. @@ -350,10 +350,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] This setting controls usage of the fast update technique described in - . It is a Boolean parameter: + . It is a Boolean parameter: ON enables fast update, OFF disables it. (Alternative spellings of ON and OFF are - allowed as described in .) The + allowed as described in .) The default is ON. @@ -374,7 +374,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] gin_pending_list_limit - Custom parameter. + Custom parameter. This value is specified in kilobytes. @@ -391,7 +391,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] Defines the number of table blocks that make up one block range for - each entry of a BRIN index (see + each entry of a BRIN index (see for more details). The default is 128. @@ -450,7 +450,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] ) predating the second + that have a snapshot (see ) predating the second scan to terminate. Then finally the index can be marked ready for use, and the CREATE INDEX command terminates. Even then, however, the index may not be immediately usable for queries: @@ -515,7 +515,7 @@ Indexes: Notes - See for information about when indexes can + See for information about when indexes can be used, when they are not used, and in which particular situations they can be useful. @@ -541,8 +541,8 @@ Indexes: type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. More information about - operator classes is in and in . + operator classes is in and in . @@ -562,14 +562,14 @@ Indexes: For most index methods, the speed of creating an index is - dependent on the setting of . + dependent on the setting of . Larger values will reduce the time needed for index creation, so long as you don't make it larger than the amount of memory really available, which would drive the machine into swapping. - Use + Use to remove an index. @@ -675,8 +675,8 @@ CREATE INDEX CONCURRENTLY sales_quantity_index ON sales_table (quantity); See Also - - + + diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml index 92dae40ecc..6bb69cf0ef 100644 --- a/doc/src/sgml/ref/create_language.sgml +++ b/doc/src/sgml/ref/create_language.sgml @@ -41,7 +41,7 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE + therefore be installed with not CREATE LANGUAGE. Direct use of CREATE LANGUAGE should now be confined to extension installation scripts. If you have a bare @@ -55,7 +55,7 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE + functions written in the language. Refer to for more information about language handlers. @@ -178,7 +178,7 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE inline_handler is the name of a previously registered function that will be called to execute an anonymous code block - ( command) + ( command) in this language. If no inline_handler function is specified, the language does not support anonymous code @@ -230,12 +230,12 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE to drop procedural languages. + Use to drop procedural languages. The system catalog pg_language (see ) records information about the + linkend="catalog-pg-language"/>) records information about the currently installed languages. Also, the psql command \dL lists the installed languages. @@ -313,11 +313,11 @@ CREATE LANGUAGE plsample See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_materialized_view.sgml b/doc/src/sgml/ref/create_materialized_view.sgml index 8dd138f816..eed4273c4b 100644 --- a/doc/src/sgml/ref/create_materialized_view.sgml +++ b/doc/src/sgml/ref/create_materialized_view.sgml @@ -92,11 +92,11 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name This clause specifies optional storage parameters for the new materialized view; see for more + endterm="sql-createtable-storage-parameters-title"/> for more information. All parameters supported for CREATE TABLE are also supported for CREATE MATERIALIZED VIEW with the exception of OIDS. - See for more information. + See for more information. @@ -107,7 +107,7 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name The tablespace_name is the name of the tablespace in which the new materialized view is to be created. - If not specified, is consulted. + If not specified, is consulted. @@ -116,8 +116,8 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name query - A , TABLE, - or command. This query will run within a + A , TABLE, + or command. This query will run within a security-restricted operation; in particular, calls to functions that themselves create temporary tables will fail. @@ -152,11 +152,11 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_opclass.sgml b/doc/src/sgml/ref/create_opclass.sgml index 882100583e..0714aeca7c 100644 --- a/doc/src/sgml/ref/create_opclass.sgml +++ b/doc/src/sgml/ref/create_opclass.sgml @@ -77,7 +77,7 @@ CREATE OPERATOR CLASS name [ DEFAUL - Refer to for further information. + Refer to for further information. @@ -283,7 +283,7 @@ CREATE OPERATOR CLASS name [ DEFAUL The following example command defines a GiST index operator class for the data type _int4 (array of int4). See the - module for the complete example. + module for the complete example. @@ -319,10 +319,10 @@ CREATE OPERATOR CLASS gist__int_ops See Also - - - - + + + + diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml index 774616e244..35f2f46985 100644 --- a/doc/src/sgml/ref/create_operator.sgml +++ b/doc/src/sgml/ref/create_operator.sgml @@ -101,7 +101,7 @@ CREATE OPERATOR name ( The other clauses specify optional operator optimization clauses. - Their meaning is detailed in . + Their meaning is detailed in . @@ -228,13 +228,13 @@ COMMUTATOR = OPERATOR(myschema.===) , Notes - Refer to for further information. + Refer to for further information. It is not possible to specify an operator's lexical precedence in CREATE OPERATOR, because the parser's precedence behavior - is hard-wired. See for precedence details. + is hard-wired. See for precedence details. @@ -248,8 +248,8 @@ COMMUTATOR = OPERATOR(myschema.===) , - Use to delete user-defined operators - from a database. Use to modify operators in a + Use to delete user-defined operators + from a database. Use to modify operators in a database. @@ -288,9 +288,9 @@ CREATE OPERATOR === ( See Also - - - + + + diff --git a/doc/src/sgml/ref/create_opfamily.sgml b/doc/src/sgml/ref/create_opfamily.sgml index 0953e238ce..ba612c2f2b 100644 --- a/doc/src/sgml/ref/create_opfamily.sgml +++ b/doc/src/sgml/ref/create_opfamily.sgml @@ -64,7 +64,7 @@ CREATE OPERATOR FAMILY name USING < - Refer to for further information. + Refer to for further information. @@ -108,11 +108,11 @@ CREATE OPERATOR FAMILY name USING < See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_policy.sgml b/doc/src/sgml/ref/create_policy.sgml index 64d3a6baa6..c30506abc2 100644 --- a/doc/src/sgml/ref/create_policy.sgml +++ b/doc/src/sgml/ref/create_policy.sgml @@ -515,7 +515,7 @@ AND Additional discussion and practical examples can be found - in . + in . @@ -533,9 +533,9 @@ AND See Also - - - + + + diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml index 55771d1d31..bfe12d5f41 100644 --- a/doc/src/sgml/ref/create_publication.sgml +++ b/doc/src/sgml/ref/create_publication.sgml @@ -41,7 +41,7 @@ CREATE PUBLICATION name A publication is essentially a group of tables whose data changes are intended to be replicated through logical replication. See - for details about how + for details about how publications fit into the logical replication setup. @@ -212,8 +212,8 @@ CREATE PUBLICATION insert_only FOR TABLE mydata See Also - - + + diff --git a/doc/src/sgml/ref/create_role.sgml b/doc/src/sgml/ref/create_role.sgml index 7c050a3add..9c3b6978af 100644 --- a/doc/src/sgml/ref/create_role.sgml +++ b/doc/src/sgml/ref/create_role.sgml @@ -53,8 +53,8 @@ CREATE ROLE name [ [ WITH ] user, a group, or both depending on how it is used. Refer to - and for information about managing + and for information about managing users and authentication. You must have CREATEROLE privilege or be a database superuser to use this command. @@ -157,7 +157,7 @@ CREATE ROLE name [ [ WITH ] NOLOGIN is the default, except when CREATE ROLE is invoked through its alternative spelling - . + . @@ -237,7 +237,7 @@ CREATE ROLE name [ [ WITH ] ENCRYPTED keyword has no effect, but is accepted for backwards compatibility. The method of encryption is determined - by the configuration parameter . + by the configuration parameter . If the presented password string is already in MD5-encrypted or SCRAM-encrypted format, then it is stored as-is regardless of password_encryption (since the system cannot decrypt @@ -329,8 +329,8 @@ CREATE ROLE name [ [ WITH ] Notes - Use to - change the attributes of a role, and + Use to + change the attributes of a role, and to remove a role. All the attributes specified by CREATE ROLE can be modified by later ALTER ROLE commands. @@ -339,8 +339,8 @@ CREATE ROLE name [ [ WITH ] The preferred way to add and remove members of roles that are being used as groups is to use - and - . + and + . @@ -358,7 +358,7 @@ CREATE ROLE name [ [ WITH ] CREATEDB privilege does not immediately grant the ability to create databases, even if INHERIT is set; it would be necessary to become that role via - before + before creating a database. @@ -385,7 +385,7 @@ CREATE ROLE name [ [ WITH ] PostgreSQL includes a program that has + linkend="app-createuser"/> that has the same functionality as CREATE ROLE (in fact, it calls this command) but can be run from the command shell. @@ -402,8 +402,8 @@ CREATE ROLE name [ [ WITH ] , however, transmits - the password encrypted. Also, + linkend="app-createuser"/>, however, transmits + the password encrypted. Also, contains a command \password that can be used to safely change the password later. @@ -480,12 +480,12 @@ CREATE ROLE name [ WITH ADMIN See Also - - - - - - + + + + + + diff --git a/doc/src/sgml/ref/create_rule.sgml b/doc/src/sgml/ref/create_rule.sgml index c6403c0530..dbf4c93784 100644 --- a/doc/src/sgml/ref/create_rule.sgml +++ b/doc/src/sgml/ref/create_rule.sgml @@ -55,7 +55,7 @@ CREATE [ OR REPLACE ] RULE name AS transformation happens before the execution of the command starts. If you actually want an operation that fires independently for each physical row, you probably want to use a trigger, not a rule. - More information about the rules system is in . + More information about the rules system is in . @@ -101,7 +101,7 @@ CREATE [ OR REPLACE ] RULE name AS A view that is simple enough to be automatically updatable (see ) does not require a user-created rule in + linkend="sql-createview"/>) does not require a user-created rule in order to be updatable. While you can create an explicit rule anyway, the automatic update transformation will generally outperform an explicit rule. @@ -109,7 +109,7 @@ CREATE [ OR REPLACE ] RULE name AS Another alternative worth considering is to use INSTEAD OF - triggers (see ) in place of rules. + triggers (see ) in place of rules. @@ -297,8 +297,8 @@ UPDATE mytable SET name = 'foo' WHERE id = 42; See Also - - + + diff --git a/doc/src/sgml/ref/create_schema.sgml b/doc/src/sgml/ref/create_schema.sgml index ed856e21e4..ffbe1ba3bc 100644 --- a/doc/src/sgml/ref/create_schema.sgml +++ b/doc/src/sgml/ref/create_schema.sgml @@ -219,8 +219,8 @@ CREATE VIEW hollywood.winners AS See Also - - + + diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml index 0cea9a49ce..3e0d339c85 100644 --- a/doc/src/sgml/ref/create_sequence.sgml +++ b/doc/src/sgml/ref/create_sequence.sgml @@ -56,7 +56,7 @@ CREATE [ TEMPORARY | TEMP ] SEQUENCE [ IF NOT EXISTS ] . + . @@ -383,8 +383,8 @@ END; See Also - - + + diff --git a/doc/src/sgml/ref/create_server.sgml b/doc/src/sgml/ref/create_server.sgml index e13636a268..eb4ca890c2 100644 --- a/doc/src/sgml/ref/create_server.sgml +++ b/doc/src/sgml/ref/create_server.sgml @@ -122,9 +122,9 @@ CREATE SERVER [IF NOT EXISTS] server_nameNotes - When using the module, + When using the module, a foreign server's name can be used - as an argument of the + as an argument of the function to indicate the connection parameters. It is necessary to have the USAGE privilege on the foreign server to be able to use it in this way. @@ -140,7 +140,7 @@ CREATE SERVER [IF NOT EXISTS] server_name CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', dbname 'foodb', port '5432'); - See for more details. + See for more details. @@ -156,11 +156,11 @@ CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', db See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_statistics.sgml b/doc/src/sgml/ref/create_statistics.sgml index bb99d8e785..382a1eb64b 100644 --- a/doc/src/sgml/ref/create_statistics.sgml +++ b/doc/src/sgml/ref/create_statistics.sgml @@ -86,8 +86,8 @@ CREATE STATISTICS [ IF NOT EXISTS ] statistics_na dependency statistics. If this clause is omitted, all supported statistics kinds are included in the statistics object. - For more information, see - and . + For more information, see + and . @@ -178,8 +178,8 @@ EXPLAIN ANALYZE SELECT * FROM t1 WHERE (a = 1) AND (b = 0); See Also - - + + diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml index 2a1514a5ac..49e4841188 100644 --- a/doc/src/sgml/ref/create_subscription.sgml +++ b/doc/src/sgml/ref/create_subscription.sgml @@ -50,8 +50,8 @@ CREATE SUBSCRIPTION subscription_name Additional info about subscriptions and logical replication as a whole - can is available at and - . + can is available at and + . @@ -74,7 +74,7 @@ CREATE SUBSCRIPTION subscription_name The connection string to the publisher. For details - see . + see . @@ -152,7 +152,7 @@ CREATE SUBSCRIPTION subscription_name The value of this parameter overrides the - setting. The default + setting. The default value is off. @@ -217,7 +217,7 @@ CREATE SUBSCRIPTION subscription_nameNotes - See for details on + See for details on how to configure access control between the subscription and the publication instance. @@ -281,10 +281,10 @@ CREATE SUBSCRIPTION mysub See Also - - - - + + + + diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index 3bc155a775..a0c9a6d257 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -187,7 +187,7 @@ WITH ( MODULUS numeric_literal, REM This presently makes no difference in PostgreSQL and is deprecated; see . + endterm="sql-createtable-compatibility-title"/>. @@ -198,7 +198,7 @@ WITH ( MODULUS numeric_literal, REM If specified, the table is created as an unlogged table. Data written to unlogged tables is not written to the write-ahead log (see ), which makes them considerably faster than ordinary + linkend="wal"/>), which makes them considerably faster than ordinary tables. However, they are not crash-safe: an unlogged table is automatically truncated after a crash or unclean shutdown. The contents of an unlogged table are also not replicated to standby servers. @@ -296,7 +296,7 @@ WITH ( MODULUS numeric_literal, REM are valid values of the corresponding partition key columns for this partition, whereas those in the TO list are not. Note that this statement must be understood according to the - rules of row-wise comparison (). + rules of row-wise comparison (). For example, given PARTITION BY RANGE (x,y), a partition bound FROM (1, 2) TO (3, 4) allows x=1 with any y>=2, @@ -438,7 +438,7 @@ WITH ( MODULUS numeric_literal, REM The data type of the column. This can include array specifiers. For more information on the data types supported by PostgreSQL, refer to . + linkend="datatype"/>. @@ -532,7 +532,7 @@ WITH ( MODULUS numeric_literal, REM specified explicitly, the default operator class of the appropriate type will be used; if no default operator class exists, an error will be raised. When hash partitioning is used, the operator class used - must implement support function 2 (see + must implement support function 2 (see for details). @@ -607,7 +607,7 @@ WITH ( MODULUS numeric_literal, REM default behavior is to exclude STORAGE settings, resulting in the copied columns in the new table having type-specific default settings. For more on STORAGE settings, see - . + . Comments for the copied columns, constraints, and indexes @@ -749,7 +749,7 @@ WITH ( MODULUS numeric_literal, REM only accepted if the INSERT statement specifies OVERRIDING SYSTEM VALUE. If BY DEFAULT is specified, then the user-specified value takes - precedence. See for details. (In + precedence. See for details. (In the COPY command, user-specified values are always used regardless of this setting.) @@ -757,7 +757,7 @@ WITH ( MODULUS numeric_literal, REM The optional sequence_options clause can be used to override the options of the sequence. - See for details. + See for details. @@ -832,7 +832,7 @@ WITH ( MODULUS numeric_literal, REM constraints that are more general than simple equality. For example, you can specify a constraint that no two rows in the table contain overlapping circles - (see ) by using the + (see ) by using the && operator. @@ -840,18 +840,18 @@ WITH ( MODULUS numeric_literal, REM Exclusion constraints are implemented using an index, so each specified operator must be associated with an appropriate operator class - (see ) for the index access + (see ) for the index access method index_method. The operators are required to be commutative. Each exclude_element can optionally specify an operator class and/or ordering options; these are described fully under - . + . The access method must support amgettuple (see ); at present this means GIN + linkend="indexam"/>); at present this means GIN cannot be used. Although it's allowed, there is little point in using B-tree or hash indexes with an exclusion constraint, because this does nothing that an ordinary unique constraint doesn't do better. @@ -1001,7 +1001,7 @@ WITH ( MODULUS numeric_literal, REM constraint that is not deferrable will be checked immediately after every command. Checking of constraints that are deferrable can be postponed until the end of the transaction - (using the command). + (using the command). NOT DEFERRABLE is the default. Currently, only UNIQUE, PRIMARY KEY, EXCLUDE, and @@ -1025,7 +1025,7 @@ WITH ( MODULUS numeric_literal, REM statement. This is the default. If the constraint is INITIALLY DEFERRED, it is checked only at the end of the transaction. The constraint check time can be - altered with the command. + altered with the command. @@ -1036,14 +1036,14 @@ WITH ( MODULUS numeric_literal, REM This clause specifies optional storage parameters for a table or index; see for more + endterm="sql-createtable-storage-parameters-title"/> for more information. The WITH clause for a table can also include OIDS=TRUE (or just OIDS) to specify that rows of the new table should have OIDs (object identifiers) assigned to them, or OIDS=FALSE to specify that the rows should not have OIDs. If OIDS is not specified, the default setting depends upon - the configuration parameter. + the configuration parameter. (If the new table inherits from any tables that have OIDs, then OIDS=TRUE is forced even if the command says OIDS=FALSE.) @@ -1063,7 +1063,7 @@ WITH ( MODULUS numeric_literal, REM To remove OIDs from a table after it has been created, use . + linkend="sql-altertable"/>. @@ -1106,7 +1106,7 @@ WITH ( MODULUS numeric_literal, REM All rows in the temporary table will be deleted at the end of each transaction block. Essentially, an automatic is done + linkend="sql-truncate"/> is done at each commit. @@ -1132,8 +1132,8 @@ WITH ( MODULUS numeric_literal, REM The tablespace_name is the name of the tablespace in which the new table is to be created. If not specified, - is consulted, or - if the table is temporary. + is consulted, or + if the table is temporary. @@ -1146,8 +1146,8 @@ WITH ( MODULUS numeric_literal, REM associated with a UNIQUE, PRIMARY KEY, or EXCLUDE constraint will be created. If not specified, - is consulted, or - if the table is temporary. + is consulted, or + if the table is temporary. @@ -1166,13 +1166,13 @@ WITH ( MODULUS numeric_literal, REM for tables, and for indexes associated with a UNIQUE, PRIMARY KEY, or EXCLUDE constraint. Storage parameters for - indexes are documented in . + indexes are documented in . The storage parameters currently available for tables are listed below. For many of these parameters, as shown, there is an additional parameter with the same name prefixed with toast., which controls the behavior of the table's secondary TOAST table, if any - (see for more information about TOAST). + (see for more information about TOAST). If a table parameter value is set and the equivalent toast. parameter is not, the TOAST table will use the table's parameter value. @@ -1229,7 +1229,7 @@ WITH ( MODULUS numeric_literal, REM scan of this table. If not set, the system will determine a value based on the relation size. The actual number of workers chosen by the planner may be less, for example due to - the setting of . + the setting of . @@ -1241,12 +1241,12 @@ WITH ( MODULUS numeric_literal, REM Enables or disables the autovacuum daemon for a particular table. If true, the autovacuum daemon will perform automatic VACUUM and/or ANALYZE operations on this table following the rules - discussed in . + discussed in . If false, this table will not be autovacuumed, except to prevent - transaction ID wraparound. See for + transaction ID wraparound. See for more about wraparound prevention. Note that the autovacuum daemon does not run at all (except to prevent - transaction ID wraparound) if the + transaction ID wraparound) if the parameter is false; setting individual tables' storage parameters does not override that. Therefore there is seldom much point in explicitly setting this storage parameter to true, only @@ -1259,7 +1259,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_vacuum_threshold, toast.autovacuum_vacuum_threshold (integer) - Per-table value for + Per-table value for parameter. @@ -1269,7 +1269,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_vacuum_scale_factor, toast.autovacuum_vacuum_scale_factor (float4) - Per-table value for + Per-table value for parameter. @@ -1279,7 +1279,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_analyze_threshold (integer) - Per-table value for + Per-table value for parameter. @@ -1289,7 +1289,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_analyze_scale_factor (float4) - Per-table value for + Per-table value for parameter. @@ -1299,7 +1299,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_vacuum_cost_delay, toast.autovacuum_vacuum_cost_delay (integer) - Per-table value for + Per-table value for parameter. @@ -1309,7 +1309,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_vacuum_cost_limit, toast.autovacuum_vacuum_cost_limit (integer) - Per-table value for + Per-table value for parameter. @@ -1319,11 +1319,11 @@ WITH ( MODULUS numeric_literal, REM autovacuum_freeze_min_age, toast.autovacuum_freeze_min_age (integer) - Per-table value for + Per-table value for parameter. Note that autovacuum will ignore per-table autovacuum_freeze_min_age parameters that are larger than half the - system-wide setting. + system-wide setting. @@ -1332,7 +1332,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_freeze_max_age, toast.autovacuum_freeze_max_age (integer) - Per-table value for + Per-table value for parameter. Note that autovacuum will ignore per-table autovacuum_freeze_max_age parameters that are larger than the system-wide setting (it can only be set smaller). @@ -1344,7 +1344,7 @@ WITH ( MODULUS numeric_literal, REM autovacuum_freeze_table_age, toast.autovacuum_freeze_table_age (integer) - Per-table value for + Per-table value for parameter. @@ -1354,11 +1354,11 @@ WITH ( MODULUS numeric_literal, REM autovacuum_multixact_freeze_min_age, toast.autovacuum_multixact_freeze_min_age (integer) - Per-table value for + Per-table value for parameter. Note that autovacuum will ignore per-table autovacuum_multixact_freeze_min_age parameters that are larger than half the - system-wide + system-wide setting. @@ -1369,7 +1369,7 @@ WITH ( MODULUS numeric_literal, REM Per-table value - for parameter. + for parameter. Note that autovacuum will ignore per-table autovacuum_multixact_freeze_max_age parameters that are larger than the system-wide setting (it can only be set @@ -1383,7 +1383,7 @@ WITH ( MODULUS numeric_literal, REM Per-table value - for parameter. + for parameter. @@ -1392,7 +1392,7 @@ WITH ( MODULUS numeric_literal, REM log_autovacuum_min_duration, toast.log_autovacuum_min_duration (integer) - Per-table value for + Per-table value for parameter. @@ -1404,7 +1404,7 @@ WITH ( MODULUS numeric_literal, REM Declare the table as an additional catalog table for purposes of logical replication. See - for details. + for details. This parameter cannot be set for TOAST tables. @@ -1445,7 +1445,7 @@ WITH ( MODULUS numeric_literal, REM index for each unique constraint and primary key constraint to enforce uniqueness. Thus, it is not necessary to create an index explicitly for primary key columns. (See for more information.) + linkend="sql-createindex"/> for more information.) @@ -2006,11 +2006,11 @@ CREATE TABLE cities_partdef See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_table_as.sgml b/doc/src/sgml/ref/create_table_as.sgml index 89ca82baa5..527138e787 100644 --- a/doc/src/sgml/ref/create_table_as.sgml +++ b/doc/src/sgml/ref/create_table_as.sgml @@ -63,7 +63,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI Ignored for compatibility. Use of these keywords is deprecated; - refer to for details. + refer to for details. @@ -75,7 +75,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI If specified, the table is created as a temporary table. - Refer to for details. + Refer to for details. @@ -85,7 +85,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI If specified, the table is created as an unlogged table. - Refer to for details. + Refer to for details. @@ -95,7 +95,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI Do not throw an error if a relation with the same name already exists. - A notice is issued in this case. Refer to + A notice is issued in this case. Refer to for details. @@ -126,13 +126,13 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI This clause specifies optional storage parameters for the new table; see for more + endterm="sql-createtable-storage-parameters-title"/> for more information. The WITH clause can also include OIDS=TRUE (or just OIDS) to specify that rows of the new table should have OIDs (object identifiers) assigned to them, or OIDS=FALSE to specify that the rows should not have OIDs. - See for more information. + See for more information. @@ -175,7 +175,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI All rows in the temporary table will be deleted at the end of each transaction block. Essentially, an automatic is done + linkend="sql-truncate"/> is done at each commit. @@ -201,8 +201,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI The tablespace_name is the name of the tablespace in which the new table is to be created. If not specified, - is consulted, or - if the table is temporary. + is consulted, or + if the table is temporary. @@ -211,9 +211,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI query - A , TABLE, or - command, or an command that runs a + A , TABLE, or + command, or an command that runs a prepared SELECT, TABLE, or VALUES query. @@ -239,7 +239,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI This command is functionally similar to , but it is + linkend="sql-selectinto"/>, but it is preferred since it is less likely to be confused with other uses of the SELECT INTO syntax. Furthermore, CREATE TABLE AS offers a superset of the functionality offered @@ -250,7 +250,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI The CREATE TABLE AS command allows the user to explicitly specify whether OIDs should be included. If the presence of OIDs is not explicitly specified, - the configuration variable is + the configuration variable is used. @@ -317,7 +317,7 @@ CREATE TEMP TABLE films_recent WITH (OIDS) ON COMMIT DROP AS PostgreSQL handles temporary tables in a way rather different from the standard; see - + for details. @@ -343,12 +343,12 @@ CREATE TEMP TABLE films_recent WITH (OIDS) ON COMMIT DROP AS See Also - - - - - - + + + + + + diff --git a/doc/src/sgml/ref/create_tablespace.sgml b/doc/src/sgml/ref/create_tablespace.sgml index ed9635ef40..18fa5f0ebf 100644 --- a/doc/src/sgml/ref/create_tablespace.sgml +++ b/doc/src/sgml/ref/create_tablespace.sgml @@ -54,7 +54,7 @@ CREATE TABLESPACE tablespace_name A tablespace cannot be used independently of the cluster in which it - is defined; see . + is defined; see . @@ -109,9 +109,9 @@ CREATE TABLESPACE tablespace_name Setting either value for a particular tablespace will override the planner's usual estimate of the cost of reading pages from tables in that tablespace, as established by the configuration parameters of the - same name (see , - , - ). This may be useful if + same name (see , + , + ). This may be useful if one tablespace is located on a disk which is faster or slower than the remainder of the I/O subsystem. @@ -164,11 +164,11 @@ CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes'; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/create_transform.sgml b/doc/src/sgml/ref/create_transform.sgml index dfb83a76da..17cb1932cf 100644 --- a/doc/src/sgml/ref/create_transform.sgml +++ b/doc/src/sgml/ref/create_transform.sgml @@ -144,7 +144,7 @@ CREATE [ OR REPLACE ] TRANSFORM FOR type_name LANGUAG Notes - Use to remove transforms. + Use to remove transforms. @@ -201,10 +201,10 @@ CREATE TRANSFORM FOR hstore LANGUAGE plpythonu ( See Also - , - , - , - + , + , + , + diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml index 9e97c364ef..ad7f9efb55 100644 --- a/doc/src/sgml/ref/create_trigger.sgml +++ b/doc/src/sgml/ref/create_trigger.sgml @@ -170,7 +170,7 @@ CREATE [ CONSTRAINT ] TRIGGER name When the CONSTRAINT option is specified, this command creates a constraint trigger. This is the same as a regular trigger except that the timing of the trigger firing can be adjusted using - . + . Constraint triggers must be AFTER ROW triggers on plain tables (not foreign tables). They can be fired either at the end of the statement causing the triggering @@ -208,7 +208,7 @@ CREATE [ CONSTRAINT ] TRIGGER name - Refer to for more information about triggers. + Refer to for more information about triggers. @@ -302,7 +302,7 @@ UPDATE OF column_name1 [, column_name2 The default timing of the trigger. - See the documentation for details of + See the documentation for details of these constraint options. This can only be specified for constraint triggers. @@ -432,7 +432,7 @@ UPDATE OF column_name1 [, column_name2 - Use to remove a trigger. + Use to remove a trigger. @@ -605,7 +605,7 @@ CREATE TRIGGER paired_items_update - contains a complete example of a trigger + contains a complete example of a trigger function written in C. @@ -707,10 +707,10 @@ CREATE TRIGGER paired_items_update See Also - - - - + + + + diff --git a/doc/src/sgml/ref/create_tsconfig.sgml b/doc/src/sgml/ref/create_tsconfig.sgml index 49634b4362..390d3cfe51 100644 --- a/doc/src/sgml/ref/create_tsconfig.sgml +++ b/doc/src/sgml/ref/create_tsconfig.sgml @@ -57,7 +57,7 @@ CREATE TEXT SEARCH CONFIGURATION name - Refer to for further information. + Refer to for further information. @@ -119,8 +119,8 @@ CREATE TEXT SEARCH CONFIGURATION nameSee Also - - + + diff --git a/doc/src/sgml/ref/create_tsdictionary.sgml b/doc/src/sgml/ref/create_tsdictionary.sgml index 20a01765b7..0608104821 100644 --- a/doc/src/sgml/ref/create_tsdictionary.sgml +++ b/doc/src/sgml/ref/create_tsdictionary.sgml @@ -50,7 +50,7 @@ CREATE TEXT SEARCH DICTIONARY name - Refer to for further information. + Refer to for further information. @@ -134,8 +134,8 @@ CREATE TEXT SEARCH DICTIONARY my_russian ( See Also - - + + diff --git a/doc/src/sgml/ref/create_tsparser.sgml b/doc/src/sgml/ref/create_tsparser.sgml index 8e5e1b0b48..088d92323a 100644 --- a/doc/src/sgml/ref/create_tsparser.sgml +++ b/doc/src/sgml/ref/create_tsparser.sgml @@ -55,7 +55,7 @@ CREATE TEXT SEARCH PARSER name ( - Refer to for further information. + Refer to for further information. @@ -146,8 +146,8 @@ CREATE TEXT SEARCH PARSER name ( See Also - - + + diff --git a/doc/src/sgml/ref/create_tstemplate.sgml b/doc/src/sgml/ref/create_tstemplate.sgml index 0340e1ab1f..5b82d5564b 100644 --- a/doc/src/sgml/ref/create_tstemplate.sgml +++ b/doc/src/sgml/ref/create_tstemplate.sgml @@ -56,7 +56,7 @@ CREATE TEXT SEARCH TEMPLATE name ( - Refer to for further information. + Refer to for further information. @@ -119,8 +119,8 @@ CREATE TEXT SEARCH TEMPLATE name ( See Also - - + + diff --git a/doc/src/sgml/ref/create_type.sgml b/doc/src/sgml/ref/create_type.sgml index 1b409ad22f..fa9b520b24 100644 --- a/doc/src/sgml/ref/create_type.sgml +++ b/doc/src/sgml/ref/create_type.sgml @@ -116,7 +116,7 @@ CREATE TYPE name The second form of CREATE TYPE creates an enumerated - (enum) type, as described in . + (enum) type, as described in . Enum types take a list of one or more quoted labels, each of which must be less than NAMEDATALEN bytes long (64 bytes in a standard PostgreSQL build). @@ -128,7 +128,7 @@ CREATE TYPE name The third form of CREATE TYPE creates a new - range type, as described in . + range type, as described in . @@ -148,7 +148,7 @@ CREATE TYPE name function must take one argument of the range type being defined, and return a value of the same type. This is used to convert range values to a canonical form, when applicable. See for more information. Creating a + linkend="rangetypes-defining"/> for more information. Creating a canonical function is a bit tricky, since it must be defined before the range type can be declared. To do this, you must first create a shell type, which is a @@ -167,7 +167,7 @@ CREATE TYPE name and return a double precision value representing the difference between the two given values. While this is optional, providing it allows much greater efficiency of GiST indexes on columns of - the range type. See for more + the range type. See for more information. @@ -330,7 +330,7 @@ CREATE TYPE name by setting typlen to -1.) The internal representation of all variable-length types must start with a 4-byte integer giving the total length of this value of the type. (Note that the length field is often - encoded, as described in ; it's unwise + encoded, as described in ; it's unwise to access it directly.) @@ -373,7 +373,7 @@ CREATE TYPE name All storage values other than plain imply that the functions of the data type can handle values that have been toasted, as described - in and . + in and . The specific other value given merely determines the default TOAST storage strategy for columns of a toastable data type; users can pick other strategies for individual columns using ALTER TABLE @@ -404,7 +404,7 @@ CREATE TYPE name category. The parser will prefer casting to preferred types (but only from other types within the same category) when this rule is helpful in resolving overloaded functions or operators. For more details see . For types that have no implicit casts to or from any + linkend="typeconv"/>. For types that have no implicit casts to or from any other types, it is sufficient to leave these settings at the defaults. However, for a group of related types that have implicit casts, it is often helpful to mark them all as belonging to a category and select one or two @@ -709,7 +709,7 @@ CREATE TYPE name The category code (a single ASCII character) for this type. The default is 'U' for user-defined type. Other standard category codes can be found in - . You may also choose + . You may also choose other ASCII characters in order to create custom categories. @@ -924,7 +924,7 @@ CREATE TABLE big_objs ( More examples, including suitable input and output functions, are - in . + in . @@ -951,10 +951,10 @@ CREATE TABLE big_objs ( See Also - - - - + + + + diff --git a/doc/src/sgml/ref/create_user.sgml b/doc/src/sgml/ref/create_user.sgml index 13dfd64c6d..a51dc50c97 100644 --- a/doc/src/sgml/ref/create_user.sgml +++ b/doc/src/sgml/ref/create_user.sgml @@ -49,7 +49,7 @@ CREATE USER name [ [ WITH ] CREATE USER is now an alias for - . + . The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when @@ -72,7 +72,7 @@ CREATE USER name [ [ WITH ] See Also - + diff --git a/doc/src/sgml/ref/create_user_mapping.sgml b/doc/src/sgml/ref/create_user_mapping.sgml index d18cc91a00..c2f5278f62 100644 --- a/doc/src/sgml/ref/create_user_mapping.sgml +++ b/doc/src/sgml/ref/create_user_mapping.sgml @@ -122,10 +122,10 @@ CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret'); See Also - - - - + + + + diff --git a/doc/src/sgml/ref/create_view.sgml b/doc/src/sgml/ref/create_view.sgml index e52a4b85a7..b325c1be50 100644 --- a/doc/src/sgml/ref/create_view.sgml +++ b/doc/src/sgml/ref/create_view.sgml @@ -133,7 +133,7 @@ CREATE VIEW [ schema . ] view_namecascaded, and is equivalent to specifying WITH [ CASCADED | LOCAL ] CHECK OPTION (see below). This option can be changed on existing views using . + linkend="sql-alterview"/>. @@ -143,7 +143,7 @@ CREATE VIEW [ schema . ] view_name This should be used if the view is intended to provide row-level - security. See for full details. + security. See for full details. @@ -156,8 +156,8 @@ CREATE VIEW [ schema . ] view_namequery - A or - command + A or + command which will provide the columns and rows of the view. @@ -241,7 +241,7 @@ CREATE VIEW [ schema . ] view_nameNotes - Use the + Use the statement to drop views. @@ -264,7 +264,7 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello; Access to tables referenced in the view is determined by permissions of the view owner. In some cases, this can be used to provide secure but restricted access to the underlying tables. However, not all views are - secure against tampering; see for + secure against tampering; see for details. Functions called in the view are treated the same as if they had been called directly from the query using the view. Therefore the user of a view must have permissions to call all functions used by the view. @@ -360,7 +360,7 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello; security_barrier property then all the view's WHERE conditions (and any conditions using operators which are marked as LEAKPROOF) will always be evaluated before any conditions that a user of the view has - added. See for full details. Note that, + added. See for full details. Note that, due to this, rows which are not ultimately returned (because they do not pass the user's WHERE conditions) may still end up being locked. EXPLAIN can be used to see which conditions are @@ -375,8 +375,8 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello; creating INSTEAD OF triggers on the view, which must convert attempted inserts, etc. on the view into appropriate actions on other tables. For more information see . Another possibility is to create rules - (see ), but in practice triggers are + linkend="sql-createtrigger"/>. Another possibility is to create rules + (see ), but in practice triggers are easier to understand and use correctly. @@ -386,7 +386,7 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello; view. In addition the view's owner must have the relevant privileges on the underlying base relations, but the user performing the update does not need any permissions on the underlying base relations (see - ). + ). @@ -490,9 +490,9 @@ UNION ALL See Also - - - + + + diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml index 265d14e149..2658efeb1a 100644 --- a/doc/src/sgml/ref/createdb.sgml +++ b/doc/src/sgml/ref/createdb.sgml @@ -48,7 +48,7 @@ PostgreSQL documentation createdb is a wrapper around the - SQL command . + SQL command . There is no effective difference between creating databases via this utility and via other methods for accessing the server. @@ -115,7 +115,7 @@ PostgreSQL documentation Specifies the character encoding scheme to be used in this database. The character sets supported by the PostgreSQL server are described in - . + . @@ -199,7 +199,7 @@ PostgreSQL documentation The options , , , , and correspond to options of the underlying - SQL command ; see there for more information + SQL command ; see there for more information about them. @@ -327,7 +327,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -337,8 +337,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -376,8 +376,8 @@ PostgreSQL documentation See Also - - + + diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml index f3c50c4113..22ee99f2cc 100644 --- a/doc/src/sgml/ref/createuser.sgml +++ b/doc/src/sgml/ref/createuser.sgml @@ -49,7 +49,7 @@ PostgreSQL documentation createuser is a wrapper around the - SQL command . + SQL command . There is no effective difference between creating users via this utility and via other methods for accessing the server. @@ -274,7 +274,7 @@ PostgreSQL documentation The new user will have the REPLICATION privilege, which is described more fully in the documentation for . + linkend="sql-createrole"/>. @@ -285,7 +285,7 @@ PostgreSQL documentation The new user will not have the REPLICATION privilege, which is described more fully in the documentation for . + linkend="sql-createrole"/>. @@ -405,7 +405,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -415,8 +415,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -479,8 +479,8 @@ PostgreSQL documentation See Also - - + + diff --git a/doc/src/sgml/ref/deallocate.sgml b/doc/src/sgml/ref/deallocate.sgml index 4e23c6e091..3875e5069e 100644 --- a/doc/src/sgml/ref/deallocate.sgml +++ b/doc/src/sgml/ref/deallocate.sgml @@ -41,7 +41,7 @@ DEALLOCATE [ PREPARE ] { name | ALL For more information on prepared statements, see . + linkend="sql-prepare"/>. @@ -91,8 +91,8 @@ DEALLOCATE [ PREPARE ] { name | ALL See Also - - + + diff --git a/doc/src/sgml/ref/declare.sgml b/doc/src/sgml/ref/declare.sgml index a70e2466e5..648c2950f4 100644 --- a/doc/src/sgml/ref/declare.sgml +++ b/doc/src/sgml/ref/declare.sgml @@ -39,7 +39,7 @@ DECLARE name [ BINARY ] [ INSENSITI can be used to retrieve a small number of rows at a time out of a larger query. After the cursor is created, rows are fetched from it using - . + . @@ -47,7 +47,7 @@ DECLARE name [ BINARY ] [ INSENSITI This page describes usage of cursors at the SQL command level. If you are trying to use cursors inside a PL/pgSQL function, the rules are different — - see . + see . @@ -100,7 +100,7 @@ DECLARE name [ BINARY ] [ INSENSITI used to retrieve rows in a nonsequential fashion. The default is to allow scrolling in some cases; this is not the same as specifying SCROLL. See for details. + endterm="sql-declare-notes-title"/> for details. @@ -124,8 +124,8 @@ DECLARE name [ BINARY ] [ INSENSITI query - A or - command + A or + command which will provide the rows to be returned by the cursor. @@ -183,9 +183,9 @@ DECLARE name [ BINARY ] [ INSENSITI PostgreSQL reports an error if such a command is used outside a transaction block. Use - and - - (or ) + and + + (or ) to define a transaction block. @@ -230,7 +230,7 @@ DECLARE name [ BINARY ] [ INSENSITI Scrollable and WITH HOLD cursors may give unexpected results if they invoke any volatile functions (see ). When a previously fetched row is + linkend="xfunc-volatility"/>). When a previously fetched row is re-fetched, the functions might be re-executed, perhaps leading to results different from the first time. One workaround for such cases is to declare the cursor WITH HOLD and commit the @@ -244,7 +244,7 @@ DECLARE name [ BINARY ] [ INSENSITI If the cursor's query includes FOR UPDATE or FOR SHARE, then returned rows are locked at the time they are first fetched, in the same way as for a regular - command with + command with these options. In addition, the returned rows will be the most up-to-date versions; therefore these options provide the equivalent of what the SQL standard @@ -309,7 +309,7 @@ DECLARE name [ BINARY ] [ INSENSITI DECLARE liahona CURSOR FOR SELECT * FROM films; - See for more + See for more examples of cursor usage. @@ -341,9 +341,9 @@ DECLARE liahona CURSOR FOR SELECT * FROM films; See Also - - - + + + diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml index d7869efd9a..df8cea48cf 100644 --- a/doc/src/sgml/ref/delete.sgml +++ b/doc/src/sgml/ref/delete.sgml @@ -41,7 +41,7 @@ DELETE FROM [ ONLY ] table_name [ * - provides a + provides a faster mechanism to remove all rows from a table. @@ -82,7 +82,7 @@ DELETE FROM [ ONLY ] table_name [ * The WITH clause allows you to specify one or more subqueries that can be referenced by name in the DELETE - query. See and + query. See and for details. @@ -123,7 +123,7 @@ DELETE FROM [ ONLY ] table_name [ * A list of table expressions, allowing columns from other tables to appear in the WHERE condition. This is similar to the list of tables that can be specified in the of a + linkend="sql-from" endterm="sql-from-title"/> of a SELECT statement; for example, an alias for the table name can be specified. Do not repeat the target table in the using_list, @@ -153,7 +153,7 @@ DELETE FROM [ ONLY ] table_name [ * query on the DELETE's target table. Note that WHERE CURRENT OF cannot be specified together with a Boolean condition. See - + for more information about using cursors with WHERE CURRENT OF. @@ -283,7 +283,7 @@ DELETE FROM tasks WHERE CURRENT OF c_tasks; See Also - + diff --git a/doc/src/sgml/ref/discard.sgml b/doc/src/sgml/ref/discard.sgml index 063342494f..6b909b7232 100644 --- a/doc/src/sgml/ref/discard.sgml +++ b/doc/src/sgml/ref/discard.sgml @@ -60,7 +60,7 @@ DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP } including currval()/lastval() information and any preallocated sequence values that have not yet been returned by nextval(). - (See for a description of + (See for a description of preallocated sequence values.) diff --git a/doc/src/sgml/ref/do.sgml b/doc/src/sgml/ref/do.sgml index c14dff0a28..061218b135 100644 --- a/doc/src/sgml/ref/do.sgml +++ b/doc/src/sgml/ref/do.sgml @@ -122,7 +122,7 @@ END$$; See Also - + diff --git a/doc/src/sgml/ref/drop_access_method.sgml b/doc/src/sgml/ref/drop_access_method.sgml index aa5d2505c7..a908a64b74 100644 --- a/doc/src/sgml/ref/drop_access_method.sgml +++ b/doc/src/sgml/ref/drop_access_method.sgml @@ -64,7 +64,7 @@ DROP ACCESS METHOD [ IF EXISTS ] name). + (see ). @@ -104,7 +104,7 @@ DROP ACCESS METHOD heptree; See Also - + diff --git a/doc/src/sgml/ref/drop_aggregate.sgml b/doc/src/sgml/ref/drop_aggregate.sgml index 1e5b3e8bd4..ba74f4f5eb 100644 --- a/doc/src/sgml/ref/drop_aggregate.sgml +++ b/doc/src/sgml/ref/drop_aggregate.sgml @@ -110,7 +110,7 @@ DROP AGGREGATE [ IF EXISTS ] name ( aggr Automatically drop objects that depend on the aggregate function (such as views using it), and in turn all objects that depend on those objects - (see ). + (see ). @@ -132,7 +132,7 @@ DROP AGGREGATE [ IF EXISTS ] name ( aggr Alternative syntaxes for referencing ordered-set aggregates - are described under . + are described under . @@ -176,8 +176,8 @@ DROP AGGREGATE myavg(integer), myavg(bigint); See Also - - + + diff --git a/doc/src/sgml/ref/drop_cast.sgml b/doc/src/sgml/ref/drop_cast.sgml index 6e0d741637..9f42867e12 100644 --- a/doc/src/sgml/ref/drop_cast.sgml +++ b/doc/src/sgml/ref/drop_cast.sgml @@ -107,7 +107,7 @@ DROP CAST (text AS int); See Also - + diff --git a/doc/src/sgml/ref/drop_collation.sgml b/doc/src/sgml/ref/drop_collation.sgml index 03df0d17b1..89b975aac3 100644 --- a/doc/src/sgml/ref/drop_collation.sgml +++ b/doc/src/sgml/ref/drop_collation.sgml @@ -62,7 +62,7 @@ DROP COLLATION [ IF EXISTS ] name [ CASCADE | RESTRIC Automatically drop objects that depend on the collation, and in turn all objects that depend on those objects - (see ). + (see ). @@ -103,8 +103,8 @@ DROP COLLATION german; See Also - - + + diff --git a/doc/src/sgml/ref/drop_conversion.sgml b/doc/src/sgml/ref/drop_conversion.sgml index d5cf18c3e9..131e3cbc0b 100644 --- a/doc/src/sgml/ref/drop_conversion.sgml +++ b/doc/src/sgml/ref/drop_conversion.sgml @@ -96,8 +96,8 @@ DROP CONVERSION myname; See Also - - + + diff --git a/doc/src/sgml/ref/drop_database.sgml b/doc/src/sgml/ref/drop_database.sgml index bbf3fd3776..3ac06c984a 100644 --- a/doc/src/sgml/ref/drop_database.sgml +++ b/doc/src/sgml/ref/drop_database.sgml @@ -78,7 +78,7 @@ DROP DATABASE [ IF EXISTS ] name This command cannot be executed while connected to the target database. Thus, it might be more convenient to use the program - instead, + instead, which is a wrapper around this command. @@ -95,7 +95,7 @@ DROP DATABASE [ IF EXISTS ] name See Also - + diff --git a/doc/src/sgml/ref/drop_domain.sgml b/doc/src/sgml/ref/drop_domain.sgml index 59379e8234..b18faf3917 100644 --- a/doc/src/sgml/ref/drop_domain.sgml +++ b/doc/src/sgml/ref/drop_domain.sgml @@ -64,7 +64,7 @@ DROP DOMAIN [ IF EXISTS ] name [, . Automatically drop objects that depend on the domain (such as table columns), and in turn all objects that depend on those objects - (see ). + (see ). @@ -106,8 +106,8 @@ DROP DOMAIN box; See Also - - + + diff --git a/doc/src/sgml/ref/drop_event_trigger.sgml b/doc/src/sgml/ref/drop_event_trigger.sgml index a773170fa6..137884cc83 100644 --- a/doc/src/sgml/ref/drop_event_trigger.sgml +++ b/doc/src/sgml/ref/drop_event_trigger.sgml @@ -65,7 +65,7 @@ DROP EVENT TRIGGER [ IF EXISTS ] name Automatically drop objects that depend on the trigger, and in turn all objects that depend on those objects - (see ). + (see ). @@ -107,8 +107,8 @@ DROP EVENT TRIGGER snitch; See Also - - + + diff --git a/doc/src/sgml/ref/drop_extension.sgml b/doc/src/sgml/ref/drop_extension.sgml index bb296df17f..5e507dec92 100644 --- a/doc/src/sgml/ref/drop_extension.sgml +++ b/doc/src/sgml/ref/drop_extension.sgml @@ -68,7 +68,7 @@ DROP EXTENSION [ IF EXISTS ] name [ Automatically drop objects that depend on the extension, and in turn all objects that depend on those objects - (see ). + (see ). @@ -115,8 +115,8 @@ DROP EXTENSION hstore; See Also - - + + diff --git a/doc/src/sgml/ref/drop_foreign_data_wrapper.sgml b/doc/src/sgml/ref/drop_foreign_data_wrapper.sgml index 8e8968ab1a..e53178b8c7 100644 --- a/doc/src/sgml/ref/drop_foreign_data_wrapper.sgml +++ b/doc/src/sgml/ref/drop_foreign_data_wrapper.sgml @@ -65,7 +65,7 @@ DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name). + (see ). @@ -106,8 +106,8 @@ DROP FOREIGN DATA WRAPPER dbi; See Also - - + + diff --git a/doc/src/sgml/ref/drop_foreign_table.sgml b/doc/src/sgml/ref/drop_foreign_table.sgml index b12de03e65..b29169e0d3 100644 --- a/doc/src/sgml/ref/drop_foreign_table.sgml +++ b/doc/src/sgml/ref/drop_foreign_table.sgml @@ -60,7 +60,7 @@ DROP FOREIGN TABLE [ IF EXISTS ] name Automatically drop objects that depend on the foreign table (such as views), and in turn all objects that depend on those objects - (see ). + (see ). @@ -104,8 +104,8 @@ DROP FOREIGN TABLE films, distributors; See Also - - + + diff --git a/doc/src/sgml/ref/drop_function.sgml b/doc/src/sgml/ref/drop_function.sgml index 05b405dda1..eda1a59c84 100644 --- a/doc/src/sgml/ref/drop_function.sgml +++ b/doc/src/sgml/ref/drop_function.sgml @@ -110,7 +110,7 @@ DROP FUNCTION [ IF EXISTS ] name [ Automatically drop objects that depend on the function (such as operators or triggers), and in turn all objects that depend on those objects - (see ). + (see ). @@ -183,8 +183,8 @@ DROP FUNCTION update_employee_salaries(); See Also - - + + diff --git a/doc/src/sgml/ref/drop_group.sgml b/doc/src/sgml/ref/drop_group.sgml index 7844db0f7d..47d4a72121 100644 --- a/doc/src/sgml/ref/drop_group.sgml +++ b/doc/src/sgml/ref/drop_group.sgml @@ -30,7 +30,7 @@ DROP GROUP [ IF EXISTS ] name [, .. DROP GROUP is now an alias for - . + . @@ -46,7 +46,7 @@ DROP GROUP [ IF EXISTS ] name [, .. See Also - + diff --git a/doc/src/sgml/ref/drop_index.sgml b/doc/src/sgml/ref/drop_index.sgml index fd235a0c27..2a8ca5bf68 100644 --- a/doc/src/sgml/ref/drop_index.sgml +++ b/doc/src/sgml/ref/drop_index.sgml @@ -86,7 +86,7 @@ DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name Automatically drop objects that depend on the index, and in turn all objects that depend on those objects - (see ). + (see ). @@ -128,7 +128,7 @@ DROP INDEX title_idx; See Also - + diff --git a/doc/src/sgml/ref/drop_language.sgml b/doc/src/sgml/ref/drop_language.sgml index 350375baef..976f3a0ce1 100644 --- a/doc/src/sgml/ref/drop_language.sgml +++ b/doc/src/sgml/ref/drop_language.sgml @@ -38,7 +38,7 @@ DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name As of PostgreSQL 9.1, most procedural languages have been made into extensions, and should - therefore be removed with + therefore be removed with not DROP LANGUAGE. @@ -76,7 +76,7 @@ DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name). + (see ). @@ -118,8 +118,8 @@ DROP LANGUAGE plsample; See Also - - + + diff --git a/doc/src/sgml/ref/drop_materialized_view.sgml b/doc/src/sgml/ref/drop_materialized_view.sgml index b115aceb38..c8f3bc5b0d 100644 --- a/doc/src/sgml/ref/drop_materialized_view.sgml +++ b/doc/src/sgml/ref/drop_materialized_view.sgml @@ -66,7 +66,7 @@ DROP MATERIALIZED VIEW [ IF EXISTS ] name). + (see ). @@ -107,9 +107,9 @@ DROP MATERIALIZED VIEW order_summary; See Also - - - + + + diff --git a/doc/src/sgml/ref/drop_opclass.sgml b/doc/src/sgml/ref/drop_opclass.sgml index 53a40ff73e..4cb4cc35f7 100644 --- a/doc/src/sgml/ref/drop_opclass.sgml +++ b/doc/src/sgml/ref/drop_opclass.sgml @@ -80,7 +80,7 @@ DROP OPERATOR CLASS [ IF EXISTS ] name Automatically drop objects that depend on the operator class (such as indexes), and in turn all objects that depend on those objects - (see ). + (see ). @@ -140,9 +140,9 @@ DROP OPERATOR CLASS widget_ops USING btree; See Also - - - + + + diff --git a/doc/src/sgml/ref/drop_operator.sgml b/doc/src/sgml/ref/drop_operator.sgml index b10bed09cc..2dff050ecf 100644 --- a/doc/src/sgml/ref/drop_operator.sgml +++ b/doc/src/sgml/ref/drop_operator.sgml @@ -85,7 +85,7 @@ DROP OPERATOR [ IF EXISTS ] name ( Automatically drop objects that depend on the operator (such as views using it), and in turn all objects that depend on those objects - (see ). + (see ). @@ -146,8 +146,8 @@ DROP OPERATOR ~ (none, bit), ! (bigint, none); See Also - - + + diff --git a/doc/src/sgml/ref/drop_opfamily.sgml b/doc/src/sgml/ref/drop_opfamily.sgml index eb92664d85..c1bcd0d1df 100644 --- a/doc/src/sgml/ref/drop_opfamily.sgml +++ b/doc/src/sgml/ref/drop_opfamily.sgml @@ -81,7 +81,7 @@ DROP OPERATOR FAMILY [ IF EXISTS ] name Automatically drop objects that depend on the operator family, and in turn all objects that depend on those objects - (see ). + (see ). @@ -127,11 +127,11 @@ DROP OPERATOR FAMILY float_ops USING btree; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/drop_owned.sgml b/doc/src/sgml/ref/drop_owned.sgml index 1eb054dee6..4c66da2b34 100644 --- a/doc/src/sgml/ref/drop_owned.sgml +++ b/doc/src/sgml/ref/drop_owned.sgml @@ -57,7 +57,7 @@ DROP OWNED BY { name | CURRENT_USER Automatically drop objects that depend on the affected objects, and in turn all objects that depend on those objects - (see ). + (see ). @@ -90,7 +90,7 @@ DROP OWNED BY { name | CURRENT_USER - The command is an alternative that + The command is an alternative that reassigns the ownership of all the database objects owned by one or more roles. However, REASSIGN OWNED does not deal with privileges for other objects. @@ -101,7 +101,7 @@ DROP OWNED BY { name | CURRENT_USER - See for more discussion. + See for more discussion. @@ -118,8 +118,8 @@ DROP OWNED BY { name | CURRENT_USER See Also - - + + diff --git a/doc/src/sgml/ref/drop_policy.sgml b/doc/src/sgml/ref/drop_policy.sgml index 2bc1e25f9c..9297ade113 100644 --- a/doc/src/sgml/ref/drop_policy.sgml +++ b/doc/src/sgml/ref/drop_policy.sgml @@ -111,8 +111,8 @@ DROP POLICY p1 ON my_table; See Also - - + + diff --git a/doc/src/sgml/ref/drop_publication.sgml b/doc/src/sgml/ref/drop_publication.sgml index 3195c040bb..5dcbb837d1 100644 --- a/doc/src/sgml/ref/drop_publication.sgml +++ b/doc/src/sgml/ref/drop_publication.sgml @@ -98,8 +98,8 @@ DROP PUBLICATION mypublication; See Also - - + + diff --git a/doc/src/sgml/ref/drop_role.sgml b/doc/src/sgml/ref/drop_role.sgml index 413d1870d4..13079f3e1f 100644 --- a/doc/src/sgml/ref/drop_role.sgml +++ b/doc/src/sgml/ref/drop_role.sgml @@ -40,8 +40,8 @@ DROP ROLE [ IF EXISTS ] name [, ... of the cluster; an error will be raised if so. Before dropping the role, you must drop all the objects it owns (or reassign their ownership) and revoke any privileges the role has been granted on other objects. - The and - commands can be useful for this purpose; see + The and + commands can be useful for this purpose; see for more discussion. @@ -83,7 +83,7 @@ DROP ROLE [ IF EXISTS ] name [, ... PostgreSQL includes a program that has the + linkend="app-dropuser"/> that has the same functionality as this command (in fact, it calls this command) but can be run from the command shell. @@ -113,9 +113,9 @@ DROP ROLE jonathan; See Also - - - + + + diff --git a/doc/src/sgml/ref/drop_rule.sgml b/doc/src/sgml/ref/drop_rule.sgml index 6955016c27..cc5d00e4dc 100644 --- a/doc/src/sgml/ref/drop_rule.sgml +++ b/doc/src/sgml/ref/drop_rule.sgml @@ -73,7 +73,7 @@ DROP RULE [ IF EXISTS ] name ON Automatically drop objects that depend on the rule, and in turn all objects that depend on those objects - (see ). + (see ). @@ -115,8 +115,8 @@ DROP RULE newrule ON mytable; See Also - - + + diff --git a/doc/src/sgml/ref/drop_schema.sgml b/doc/src/sgml/ref/drop_schema.sgml index 2e608b2b20..4d5d9f55df 100644 --- a/doc/src/sgml/ref/drop_schema.sgml +++ b/doc/src/sgml/ref/drop_schema.sgml @@ -69,7 +69,7 @@ DROP SCHEMA [ IF EXISTS ] name [, . Automatically drop objects (tables, functions, etc.) that are contained in the schema, and in turn all objects that depend on those objects - (see ). + (see ). @@ -123,8 +123,8 @@ DROP SCHEMA mystuff CASCADE; See Also - - + + diff --git a/doc/src/sgml/ref/drop_sequence.sgml b/doc/src/sgml/ref/drop_sequence.sgml index be30f8f810..387c98edbc 100644 --- a/doc/src/sgml/ref/drop_sequence.sgml +++ b/doc/src/sgml/ref/drop_sequence.sgml @@ -63,7 +63,7 @@ DROP SEQUENCE [ IF EXISTS ] name [, Automatically drop objects that depend on the sequence, and in turn all objects that depend on those objects - (see ). + (see ). @@ -107,8 +107,8 @@ DROP SEQUENCE serial; See Also - - + + diff --git a/doc/src/sgml/ref/drop_server.sgml b/doc/src/sgml/ref/drop_server.sgml index fa941e8cd2..f83a661b3e 100644 --- a/doc/src/sgml/ref/drop_server.sgml +++ b/doc/src/sgml/ref/drop_server.sgml @@ -65,7 +65,7 @@ DROP SERVER [ IF EXISTS ] name [, . Automatically drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects - (see ). + (see ). @@ -106,8 +106,8 @@ DROP SERVER IF EXISTS foo; See Also - - + + diff --git a/doc/src/sgml/ref/drop_statistics.sgml b/doc/src/sgml/ref/drop_statistics.sgml index b34d070d50..f58c3d6d22 100644 --- a/doc/src/sgml/ref/drop_statistics.sgml +++ b/doc/src/sgml/ref/drop_statistics.sgml @@ -88,8 +88,8 @@ DROP STATISTICS IF EXISTS See Also - - + + diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml index 5ab2f9eae8..adbdeafb4e 100644 --- a/doc/src/sgml/ref/drop_subscription.sgml +++ b/doc/src/sgml/ref/drop_subscription.sgml @@ -91,7 +91,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] name. + also . @@ -123,8 +123,8 @@ DROP SUBSCRIPTION mysub; See Also - - + + diff --git a/doc/src/sgml/ref/drop_table.sgml b/doc/src/sgml/ref/drop_table.sgml index b215369910..bf8996d198 100644 --- a/doc/src/sgml/ref/drop_table.sgml +++ b/doc/src/sgml/ref/drop_table.sgml @@ -32,8 +32,8 @@ DROP TABLE [ IF EXISTS ] name [, .. DROP TABLE removes tables from the database. Only the table owner, the schema owner, and superuser can drop a table. To empty a table of rows - without destroying the table, use - or . + without destroying the table, use + or . @@ -77,7 +77,7 @@ DROP TABLE [ IF EXISTS ] name [, .. Automatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects - (see ). + (see ). @@ -121,8 +121,8 @@ DROP TABLE films, distributors; See Also - - + + diff --git a/doc/src/sgml/ref/drop_tablespace.sgml b/doc/src/sgml/ref/drop_tablespace.sgml index b761a4d92e..047e4e0481 100644 --- a/doc/src/sgml/ref/drop_tablespace.sgml +++ b/doc/src/sgml/ref/drop_tablespace.sgml @@ -38,7 +38,7 @@ DROP TABLESPACE [ IF EXISTS ] name dropped. It is possible that objects in other databases might still reside in the tablespace even if no objects in the current database are using the tablespace. Also, if the tablespace is listed in the setting of any active session, the + linkend="guc-temp-tablespaces"/> setting of any active session, the DROP might fail due to temporary files residing in the tablespace. @@ -102,8 +102,8 @@ DROP TABLESPACE mystuff; See Also - - + + diff --git a/doc/src/sgml/ref/drop_transform.sgml b/doc/src/sgml/ref/drop_transform.sgml index c7de707fcc..582e782219 100644 --- a/doc/src/sgml/ref/drop_transform.sgml +++ b/doc/src/sgml/ref/drop_transform.sgml @@ -76,7 +76,7 @@ DROP TRANSFORM [ IF EXISTS ] FOR type_name LANGUAGE < Automatically drop objects that depend on the transform, and in turn all objects that depend on those objects - (see ). + (see ). @@ -110,7 +110,7 @@ DROP TRANSFORM FOR hstore LANGUAGE plpythonu; This form of DROP TRANSFORM is a PostgreSQL extension. See for details. + linkend="sql-createtransform"/> for details. @@ -118,7 +118,7 @@ DROP TRANSFORM FOR hstore LANGUAGE plpythonu; See Also - + diff --git a/doc/src/sgml/ref/drop_trigger.sgml b/doc/src/sgml/ref/drop_trigger.sgml index 118f38f3f4..728541e557 100644 --- a/doc/src/sgml/ref/drop_trigger.sgml +++ b/doc/src/sgml/ref/drop_trigger.sgml @@ -75,7 +75,7 @@ DROP TRIGGER [ IF EXISTS ] name ON Automatically drop objects that depend on the trigger, and in turn all objects that depend on those objects - (see ). + (see ). @@ -120,7 +120,7 @@ DROP TRIGGER if_dist_exists ON films; See Also - + diff --git a/doc/src/sgml/ref/drop_tsconfig.sgml b/doc/src/sgml/ref/drop_tsconfig.sgml index b7acf46ff7..9eec4bab53 100644 --- a/doc/src/sgml/ref/drop_tsconfig.sgml +++ b/doc/src/sgml/ref/drop_tsconfig.sgml @@ -66,7 +66,7 @@ DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] name Automatically drop objects that depend on the text search configuration, and in turn all objects that depend on those objects - (see ). + (see ). @@ -113,8 +113,8 @@ DROP TEXT SEARCH CONFIGURATION my_english; See Also - - + + diff --git a/doc/src/sgml/ref/drop_tsdictionary.sgml b/doc/src/sgml/ref/drop_tsdictionary.sgml index b670f55ff2..8d22cfdc75 100644 --- a/doc/src/sgml/ref/drop_tsdictionary.sgml +++ b/doc/src/sgml/ref/drop_tsdictionary.sgml @@ -66,7 +66,7 @@ DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name Automatically drop objects that depend on the text search dictionary, and in turn all objects that depend on those objects - (see ). + (see ). @@ -112,8 +112,8 @@ DROP TEXT SEARCH DICTIONARY english; See Also - - + + diff --git a/doc/src/sgml/ref/drop_tsparser.sgml b/doc/src/sgml/ref/drop_tsparser.sgml index dea9b2b1bd..2b647ccaa6 100644 --- a/doc/src/sgml/ref/drop_tsparser.sgml +++ b/doc/src/sgml/ref/drop_tsparser.sgml @@ -64,7 +64,7 @@ DROP TEXT SEARCH PARSER [ IF EXISTS ] name Automatically drop objects that depend on the text search parser, and in turn all objects that depend on those objects - (see ). + (see ). @@ -110,8 +110,8 @@ DROP TEXT SEARCH PARSER my_parser; See Also - - + + diff --git a/doc/src/sgml/ref/drop_tstemplate.sgml b/doc/src/sgml/ref/drop_tstemplate.sgml index 244af48191..972b90a85c 100644 --- a/doc/src/sgml/ref/drop_tstemplate.sgml +++ b/doc/src/sgml/ref/drop_tstemplate.sgml @@ -65,7 +65,7 @@ DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] name Automatically drop objects that depend on the text search template, and in turn all objects that depend on those objects - (see ). + (see ). @@ -111,8 +111,8 @@ DROP TEXT SEARCH TEMPLATE thesaurus; See Also - - + + diff --git a/doc/src/sgml/ref/drop_type.sgml b/doc/src/sgml/ref/drop_type.sgml index 37449ed19f..9e555c0624 100644 --- a/doc/src/sgml/ref/drop_type.sgml +++ b/doc/src/sgml/ref/drop_type.sgml @@ -64,7 +64,7 @@ DROP TYPE [ IF EXISTS ] name [, ... Automatically drop objects that depend on the type (such as table columns, functions, and operators), and in turn all objects that depend on those objects - (see ). + (see ). @@ -108,8 +108,8 @@ DROP TYPE box; See Also - - + + diff --git a/doc/src/sgml/ref/drop_user.sgml b/doc/src/sgml/ref/drop_user.sgml index 0e680f30f6..37ab856125 100644 --- a/doc/src/sgml/ref/drop_user.sgml +++ b/doc/src/sgml/ref/drop_user.sgml @@ -30,7 +30,7 @@ DROP USER [ IF EXISTS ] name [, ... DROP USER is simply an alternate spelling of - . + . @@ -48,7 +48,7 @@ DROP USER [ IF EXISTS ] name [, ... See Also - + diff --git a/doc/src/sgml/ref/drop_user_mapping.sgml b/doc/src/sgml/ref/drop_user_mapping.sgml index 393a1eadcf..7cb09f1166 100644 --- a/doc/src/sgml/ref/drop_user_mapping.sgml +++ b/doc/src/sgml/ref/drop_user_mapping.sgml @@ -102,8 +102,8 @@ DROP USER MAPPING IF EXISTS FOR bob SERVER foo; See Also - - + + diff --git a/doc/src/sgml/ref/drop_view.sgml b/doc/src/sgml/ref/drop_view.sgml index 47e55bffb4..a1c550ec3e 100644 --- a/doc/src/sgml/ref/drop_view.sgml +++ b/doc/src/sgml/ref/drop_view.sgml @@ -64,7 +64,7 @@ DROP VIEW [ IF EXISTS ] name [, ... Automatically drop objects that depend on the view (such as other views), and in turn all objects that depend on those objects - (see ). + (see ). @@ -106,8 +106,8 @@ DROP VIEW kinds; See Also - - + + diff --git a/doc/src/sgml/ref/dropdb.sgml b/doc/src/sgml/ref/dropdb.sgml index f7ca0877b1..38f38f01ce 100644 --- a/doc/src/sgml/ref/dropdb.sgml +++ b/doc/src/sgml/ref/dropdb.sgml @@ -41,7 +41,7 @@ PostgreSQL documentation dropdb is a wrapper around the - SQL command . + SQL command . There is no effective difference between dropping databases via this utility and via other methods for accessing the server. @@ -233,7 +233,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -243,8 +243,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -283,8 +283,8 @@ Are you sure? (y/n) y See Also - - + + diff --git a/doc/src/sgml/ref/dropuser.sgml b/doc/src/sgml/ref/dropuser.sgml index 4c6a8bdb40..3d4e4b37b3 100644 --- a/doc/src/sgml/ref/dropuser.sgml +++ b/doc/src/sgml/ref/dropuser.sgml @@ -42,7 +42,7 @@ PostgreSQL documentation dropuser is a wrapper around the - SQL command . + SQL command . There is no effective difference between dropping users via this utility and via other methods for accessing the server. @@ -225,7 +225,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -235,8 +235,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -275,8 +275,8 @@ Are you sure? (y/n) y See Also - - + + diff --git a/doc/src/sgml/ref/ecpg-ref.sgml b/doc/src/sgml/ref/ecpg-ref.sgml index 18e7ed526a..7bfee805a7 100644 --- a/doc/src/sgml/ref/ecpg-ref.sgml +++ b/doc/src/sgml/ref/ecpg-ref.sgml @@ -51,7 +51,7 @@ PostgreSQL documentation This reference page does not describe the embedded SQL language. - See for more information on that topic. + See for more information on that topic. @@ -235,7 +235,7 @@ PostgreSQL documentation The value of either of these directories that is appropriate for the installation can be found out using . + linkend="app-pgconfig"/>. diff --git a/doc/src/sgml/ref/end.sgml b/doc/src/sgml/ref/end.sgml index 4904980dab..7523315f34 100644 --- a/doc/src/sgml/ref/end.sgml +++ b/doc/src/sgml/ref/end.sgml @@ -33,7 +33,7 @@ END [ WORK | TRANSACTION ] made by the transaction become visible to others and are guaranteed to be durable if a crash occurs. This command is a PostgreSQL extension - that is equivalent to . + that is equivalent to . @@ -57,7 +57,7 @@ END [ WORK | TRANSACTION ] Notes - Use to + Use to abort a transaction. @@ -83,7 +83,7 @@ END; END is a PostgreSQL extension that provides functionality equivalent to , which is + linkend="sql-commit"/>, which is specified in the SQL standard. @@ -92,9 +92,9 @@ END; See Also - - - + + + diff --git a/doc/src/sgml/ref/execute.sgml b/doc/src/sgml/ref/execute.sgml index 113a07a3ce..aab1f4b7e0 100644 --- a/doc/src/sgml/ref/execute.sgml +++ b/doc/src/sgml/ref/execute.sgml @@ -52,7 +52,7 @@ EXECUTE name [ ( For more information on the creation and usage of prepared statements, - see . + see . @@ -95,8 +95,8 @@ EXECUTE name [ ( Examples Examples are given in the section of the documentation. + endterm="sql-prepare-examples-title"/> section of the documentation. @@ -115,8 +115,8 @@ EXECUTE name [ ( See Also - - + + diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml index a32c150511..8dc0d7038a 100644 --- a/doc/src/sgml/ref/explain.sgml +++ b/doc/src/sgml/ref/explain.sgml @@ -260,7 +260,7 @@ ROLLBACK; The command's result is a textual description of the plan selected for the statement, optionally annotated with execution statistics. - describes the information provided. + describes the information provided. @@ -276,7 +276,7 @@ ROLLBACK; the autovacuum daemon will take care of that automatically. But if a table has recently had substantial changes in its contents, you might need to do a manual - rather than wait for autovacuum to catch up + rather than wait for autovacuum to catch up with the changes. @@ -450,7 +450,7 @@ EXPLAIN ANALYZE EXECUTE query(100, 200); See Also - + diff --git a/doc/src/sgml/ref/fetch.sgml b/doc/src/sgml/ref/fetch.sgml index aa2e8f64b8..5ef63f0058 100644 --- a/doc/src/sgml/ref/fetch.sgml +++ b/doc/src/sgml/ref/fetch.sgml @@ -99,7 +99,7 @@ FETCH [ direction [ FROM | IN ] ] < This page describes usage of cursors at the SQL command level. If you are trying to use cursors inside a PL/pgSQL function, the rules are different — - see . + see . @@ -335,9 +335,9 @@ FETCH count - + is used to define a cursor. Use - + to change cursor position without retrieving data. @@ -410,9 +410,9 @@ COMMIT WORK; See Also - - - + + + diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml index 475c85b835..a5e895d09d 100644 --- a/doc/src/sgml/ref/grant.sgml +++ b/doc/src/sgml/ref/grant.sgml @@ -178,7 +178,7 @@ GRANT role_name [, ...] TO + command. @@ -190,14 +190,14 @@ GRANT role_name [, ...] TO SELECT - Allows from + Allows from any column, or the specific columns listed, of the specified table, view, or sequence. Also allows the use of - TO. + TO. This privilege is also needed to reference existing column values in - or - . + or + . For sequences, this privilege also allows the use of the currval function. For large objects, this privilege allows the object to be read. @@ -209,11 +209,11 @@ GRANT role_name [, ...] TO INSERT - Allows of a new + Allows of a new row into the specified table. If specific columns are listed, only those columns may be assigned to in the INSERT command (other columns will therefore receive default values). - Also allows FROM. + Also allows FROM. @@ -222,7 +222,7 @@ GRANT role_name [, ...] TO UPDATE - Allows of any + Allows of any column, or the specific columns listed, of the specified table. (In practice, any nontrivial UPDATE command will require SELECT privilege as well, since it must reference table @@ -244,7 +244,7 @@ GRANT role_name [, ...] TO DELETE - Allows of a row + Allows of a row from the specified table. (In practice, any nontrivial DELETE command will require SELECT privilege as well, since it must reference table @@ -257,7 +257,7 @@ GRANT role_name [, ...] TO TRUNCATE - Allows on + Allows on the specified table. @@ -269,7 +269,7 @@ GRANT role_name [, ...] TO Allows creation of a foreign key constraint referencing the specified table, or specified column(s) of the table. (See the - statement.) + statement.) @@ -279,7 +279,7 @@ GRANT role_name [, ...] TO Allows the creation of a trigger on the specified table. (See the - statement.) + statement.) @@ -433,7 +433,7 @@ GRANT role_name [, ...] TO Notes - The command is used + The command is used to revoke access privileges. @@ -515,7 +515,7 @@ GRANT role_name [, ...] TO - Use 's \dp command + Use 's \dp command to obtain information about existing privileges for tables and columns. For example: @@ -682,8 +682,8 @@ GRANT admins TO joe; See Also - - + + diff --git a/doc/src/sgml/ref/import_foreign_schema.sgml b/doc/src/sgml/ref/import_foreign_schema.sgml index 66c8462a5a..f07f757ac6 100644 --- a/doc/src/sgml/ref/import_foreign_schema.sgml +++ b/doc/src/sgml/ref/import_foreign_schema.sgml @@ -159,8 +159,8 @@ IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors) See Also - - + + diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml index 9a02bc1dbb..585665f161 100644 --- a/doc/src/sgml/ref/initdb.sgml +++ b/doc/src/sgml/ref/initdb.sgml @@ -100,12 +100,12 @@ PostgreSQL documentation default for all locale categories, including collation order and character set classes. All server locale values (lc_*) can be displayed via SHOW ALL. - More details can be found in . + More details can be found in . To alter the default encoding, use the . - More details can be found in . + More details can be found in . @@ -183,7 +183,7 @@ PostgreSQL documentation unless you override it there. The default is derived from the locale, or SQL_ASCII if that does not work. The character sets supported by the PostgreSQL server are described - in . + in . @@ -209,7 +209,7 @@ PostgreSQL documentation Sets the default locale for the database cluster. If this option is not specified, the locale is inherited from the environment that initdb runs in. Locale - support is described in . + support is described in . @@ -281,7 +281,7 @@ PostgreSQL documentation Sets the default text search configuration. - See for further information. + See for further information. @@ -442,7 +442,7 @@ PostgreSQL documentation Specifies the default time zone of the created database cluster. The value should be a full time zone name - (see ). + (see ). @@ -451,7 +451,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -469,8 +469,8 @@ PostgreSQL documentation See Also - - + + diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml index f13fad4dd6..134092fa9c 100644 --- a/doc/src/sgml/ref/insert.sgml +++ b/doc/src/sgml/ref/insert.sgml @@ -78,7 +78,7 @@ INSERT INTO table_name [ AS ON CONFLICT can be used to specify an alternative action to raising a unique constraint or exclusion constraint violation error. (See below.) + endterm="sql-on-conflict-title"/> below.) @@ -145,7 +145,7 @@ INSERT INTO table_name [ AS The WITH clause allows you to specify one or more subqueries that can be referenced by name in the INSERT - query. See and + query. See and for details. @@ -270,7 +270,7 @@ INSERT INTO table_name [ AS A query (SELECT statement) that supplies the rows to be inserted. Refer to the - + statement for a description of the syntax. @@ -754,7 +754,7 @@ INSERT INTO distributors (did, dname) VALUES (10, 'Conrad International') Possible limitations of the query clause are documented under - . + . diff --git a/doc/src/sgml/ref/listen.sgml b/doc/src/sgml/ref/listen.sgml index f4c25efbd0..ecc1fb82de 100644 --- a/doc/src/sgml/ref/listen.sgml +++ b/doc/src/sgml/ref/listen.sgml @@ -65,7 +65,7 @@ LISTEN channel - + contains a more extensive discussion of the use of LISTEN and NOTIFY. @@ -129,8 +129,8 @@ Asynchronous notification "virtual" received from server process with PID 8448. See Also - - + + diff --git a/doc/src/sgml/ref/load.sgml b/doc/src/sgml/ref/load.sgml index 14886199de..506699ef6f 100644 --- a/doc/src/sgml/ref/load.sgml +++ b/doc/src/sgml/ref/load.sgml @@ -40,10 +40,10 @@ LOAD 'filename' The library file name is typically given as just a bare file name, which is sought in the server's library search path (set - by ). Alternatively it can be + by ). Alternatively it can be given as a full path name. In either case the platform's standard shared library file name extension may be omitted. - See for more information on this topic. + See for more information on this topic. @@ -74,7 +74,7 @@ LOAD 'filename' See Also - + diff --git a/doc/src/sgml/ref/lock.sgml b/doc/src/sgml/ref/lock.sgml index 49e2933938..b2c7203919 100644 --- a/doc/src/sgml/ref/lock.sgml +++ b/doc/src/sgml/ref/lock.sgml @@ -98,7 +98,7 @@ LOCK [ TABLE ] [ ONLY ] name [ * ] More information about the lock modes and locking strategies can be - found in . + found in . @@ -132,7 +132,7 @@ LOCK [ TABLE ] [ ONLY ] name [ * ] The lock mode specifies which locks this lock conflicts with. - Lock modes are described in . + Lock modes are described in . @@ -174,9 +174,9 @@ LOCK [ TABLE ] [ ONLY ] name [ * ] PostgreSQL reports an error if LOCK is used outside a transaction block. Use - and - - (or ) + and + + (or ) to define a transaction block. @@ -189,9 +189,9 @@ LOCK [ TABLE ] [ ONLY ] name [ * ] mind that all the lock modes have identical semantics so far as LOCK TABLE is concerned, differing only in the rules about which modes conflict with which. For information on how to - acquire an actual row-level lock, see + acquire an actual row-level lock, see and the in the SELECT + endterm="sql-for-update-share-title"/> in the SELECT reference documentation. @@ -236,7 +236,7 @@ COMMIT WORK; There is no LOCK TABLE in the SQL standard, which instead uses SET TRANSACTION to specify concurrency levels on transactions. PostgreSQL supports that too; - see for details. + see for details. diff --git a/doc/src/sgml/ref/move.sgml b/doc/src/sgml/ref/move.sgml index 50533e5e0e..4c7d1dca39 100644 --- a/doc/src/sgml/ref/move.sgml +++ b/doc/src/sgml/ref/move.sgml @@ -60,7 +60,7 @@ MOVE [ direction [ FROM | IN ] ] The parameters for the MOVE command are identical to those of the FETCH command; refer to - + for details on syntax and usage. @@ -116,9 +116,9 @@ COMMIT WORK; See Also - - - + + + diff --git a/doc/src/sgml/ref/notify.sgml b/doc/src/sgml/ref/notify.sgml index 481163634f..e0e125a2a2 100644 --- a/doc/src/sgml/ref/notify.sgml +++ b/doc/src/sgml/ref/notify.sgml @@ -168,7 +168,7 @@ NOTIFY channel [ , The function pg_notification_queue_usage returns the fraction of the queue that is currently occupied by pending notifications. - See for more information. + See for more information. A transaction that has executed NOTIFY cannot be @@ -226,8 +226,8 @@ Asynchronous notification "foo" with payload "payload" received from server proc See Also - - + + diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index 167d523f5d..e8921b1bb4 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -34,9 +34,9 @@ PostgreSQL documentation pg_basebackup is used to take base backups of a running PostgreSQL database cluster. These are taken without affecting other clients to the database, and can be used - both for point-in-time recovery (see ) + both for point-in-time recovery (see ) and as the starting point for a log shipping or streaming replication standby - servers (see ). + servers (see ). @@ -45,17 +45,17 @@ PostgreSQL documentation out of backup mode automatically. Backups are always taken of the entire database cluster; it is not possible to back up individual databases or database objects. For individual database backups, a tool such as - must be used. + must be used. The backup is made over a regular PostgreSQL connection, and uses the replication protocol. The connection must be made with a superuser or a user having REPLICATION - permissions (see ), + permissions (see ), and pg_hba.conf must explicitly permit the replication connection. The server must also be configured - with set high enough to leave at least + with set high enough to leave at least one session available for the backup and one for WAL streaming (if used). @@ -69,9 +69,9 @@ PostgreSQL documentation pg_basebackup can make a base backup from not only the master but also the standby. To take a backup from the standby, set up the standby so that it can accept replication connections (that is, set - max_wal_senders and , + max_wal_senders and , and configure host-based authentication). - You will also need to enable on the master. + You will also need to enable on the master. @@ -299,7 +299,7 @@ PostgreSQL documentation The write-ahead log files are collected at the end of the backup. Therefore, it is necessary for the - parameter to be set high + parameter to be set high enough that the log is not removed before the end of the backup. If the log has been rotated when it's time to transfer it, the backup will fail and be unusable. @@ -320,7 +320,7 @@ PostgreSQL documentation open a second connection to the server and start streaming the write-ahead log in parallel while running the backup. Therefore, it will use up two connections configured by the - parameter. As long as the + parameter. As long as the client can keep up with write-ahead log received, using this mode requires no extra write-ahead logs to be saved on the master. @@ -377,7 +377,7 @@ PostgreSQL documentation - Sets checkpoint mode to fast (immediate) or spread (default) (see ). + Sets checkpoint mode to fast (immediate) or spread (default) (see ). @@ -531,7 +531,7 @@ PostgreSQL documentation Specifies parameters used to connect to the server, as a connection - string. See for more information. + string. See for more information. The option is called --dbname for consistency with other @@ -667,7 +667,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq - (see ). + (see ). @@ -691,7 +691,7 @@ PostgreSQL documentation symbolic links used for tablespaces are preserved. Symbolic links pointing to certain directories known to PostgreSQL are copied as empty directories. Other symbolic links and special device files are skipped. - See for the precise details. + See for the precise details. @@ -768,7 +768,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml index f930c7e245..7eb5dd320c 100644 --- a/doc/src/sgml/ref/pg_ctl-ref.sgml +++ b/doc/src/sgml/ref/pg_ctl-ref.sgml @@ -140,7 +140,7 @@ PostgreSQL documentation pg_ctl is a utility for initializing a PostgreSQL database cluster, starting, stopping, or restarting the PostgreSQL - database server (), or displaying the + database server (), or displaying the status of a running server. Although the server can be started manually, pg_ctl encapsulates tasks such as redirecting log output and properly detaching from the terminal @@ -153,7 +153,7 @@ PostgreSQL documentation PostgreSQL database cluster, that is, a collection of databases that will be managed by a single server instance. This mode invokes the initdb - command. See for details. + command. See for details. @@ -475,7 +475,7 @@ PostgreSQL documentation default is PostgreSQL. Note that this only controls messages sent from pg_ctl itself; once started, the server will use the event source specified - by its parameter. Should the server + by its parameter. Should the server fail very early in startup, before that parameter has been set, it might also log using the default event source name PostgreSQL. @@ -567,12 +567,12 @@ PostgreSQL documentation pg_ctl, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). For additional variables that affect the server, - see . + see . @@ -691,8 +691,8 @@ pg_ctl: server is running (PID: 13718) See Also - - + + diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 57272e33bf..08cad68199 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -48,7 +48,7 @@ PostgreSQL documentation pg_dump only dumps a single database. To backup global objects that are common to all databases in a cluster, such as roles - and tablespaces, use . + and tablespaces, use . @@ -56,7 +56,7 @@ PostgreSQL documentation dumps are plain-text files containing the SQL commands required to reconstruct the database to the state it was in at the time it was saved. To restore from such a script, feed it to . Script files + linkend="app-psql"/>. Script files can be used to reconstruct the database even on other machines and other architectures; with some modifications, even on other SQL database products. @@ -64,7 +64,7 @@ PostgreSQL documentation The alternative archive file formats must be used with - to rebuild the database. They + to rebuild the database. They allow pg_restore to be selective about what is restored, or even to reorder the items prior to being restored. @@ -316,7 +316,7 @@ PostgreSQL documentation can write their data at the same time. pg_dump will open njobs - + 1 connections to the database, so make sure your + + 1 connections to the database, so make sure your setting is high enough to accommodate all connections. @@ -375,11 +375,11 @@ PostgreSQL documentation schema parameter is interpreted as a pattern according to the same rules used by psql's \d commands (see ), + linkend="app-psql-patterns" endterm="app-psql-patterns-title"/>), so multiple schemas can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards; see - . + . @@ -526,11 +526,11 @@ PostgreSQL documentation table parameter is interpreted as a pattern according to the same rules used by psql's \d commands (see ), + linkend="app-psql-patterns" endterm="app-psql-patterns-title"/>), so multiple tables can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards; see - . + . @@ -712,11 +712,11 @@ PostgreSQL documentation This option is relevant only when dumping the contents of a table which has row security. By default, pg_dump will set - to off, to ensure + to off, to ensure that all data is dumped from the table. If the user does not have sufficient privileges to bypass row security, then an error is thrown. This parameter instructs pg_dump to set - to on instead, allowing the user + to on instead, allowing the user to dump the parts of the contents of the table that they have access to. @@ -933,7 +933,7 @@ PostgreSQL documentation states; but do this by waiting for a point in the transaction stream at which no anomalies can be present, so that there isn't a risk of the dump failing or causing other transactions to roll back with a - serialization_failure. See + serialization_failure. See for more information about transaction isolation and concurrency control. @@ -965,12 +965,12 @@ PostgreSQL documentation Use the specified synchronized snapshot when making a dump of the database (see - for more + for more details). This option is useful when needing to synchronize the dump with - a logical replication slot (see ) + a logical replication slot (see ) or with a concurrent session. @@ -1050,7 +1050,7 @@ PostgreSQL documentation with a valid URI prefix (postgresql:// or postgres://), it is treated as a - conninfo string. See for more information. + conninfo string. See for more information. @@ -1171,7 +1171,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -1184,7 +1184,7 @@ PostgreSQL documentation SELECT statements. If you have problems running pg_dump, make sure you are able to select information from the database using, for example, . Also, any default connection settings and environment + linkend="app-psql"/>. Also, any default connection settings and environment variables used by the libpq front-end library will apply. @@ -1229,11 +1229,11 @@ CREATE DATABASE foo WITH TEMPLATE template0; does not contain the statistics used by the optimizer to make query planning decisions. Therefore, it is wise to run ANALYZE after restoring from a dump file - to ensure optimal performance; see - and for more information. + to ensure optimal performance; see + and for more information. The dump file also does not contain any ALTER DATABASE ... SET commands; - these settings are dumped by , + these settings are dumped by , along with database users and other installation-wide settings. @@ -1374,7 +1374,7 @@ CREATE DATABASE foo WITH TEMPLATE template0; To specify an upper-case or mixed-case name in and related switches, you need to double-quote the name; else it will be folded to lower case (see ). But + linkend="app-psql-patterns" endterm="app-psql-patterns-title"/>). But double quotes are special to the shell, so in turn they must be quoted. Thus, to dump a single table with a mixed-case name, you need something like @@ -1389,9 +1389,9 @@ CREATE DATABASE foo WITH TEMPLATE template0; See Also - - - + + + diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index ce6b895da2..5196a211b1 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -35,8 +35,8 @@ PostgreSQL documentation (dumping) all PostgreSQL databases of a cluster into one script file. The script file contains SQL commands that can be used as input to to restore the databases. It does this by - calling for each database in a cluster. + linkend="app-psql"/> to restore the databases. It does this by + calling for each database in a cluster. pg_dumpall also dumps global objects that are common to all databases. (pg_dump does not save these objects.) @@ -64,7 +64,7 @@ PostgreSQL documentation database). If you use password authentication it will ask for a password each time. It is convenient to have a ~/.pgpass file in such cases. See for more information. + linkend="libpq-pgpass"/> for more information. @@ -495,7 +495,7 @@ PostgreSQL documentation Specifies parameters used to connect to the server, as a connection - string. See for more information. + string. See for more information. The option is called --dbname for consistency with other @@ -642,7 +642,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -699,7 +699,7 @@ PostgreSQL documentation See Also - Check for details on possible + Check for details on possible error conditions. diff --git a/doc/src/sgml/ref/pg_isready.sgml b/doc/src/sgml/ref/pg_isready.sgml index f140c82079..9567b57ebe 100644 --- a/doc/src/sgml/ref/pg_isready.sgml +++ b/doc/src/sgml/ref/pg_isready.sgml @@ -55,7 +55,7 @@ PostgreSQL documentation (postgresql:// or postgres://), it is treated as a conninfo string. See for more information. + linkend="libpq-connstring"/> for more information. @@ -162,7 +162,7 @@ PostgreSQL documentation pg_isready, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). diff --git a/doc/src/sgml/ref/pg_receivewal.sgml b/doc/src/sgml/ref/pg_receivewal.sgml index 4e2e0cb44c..e3f2ce1fcb 100644 --- a/doc/src/sgml/ref/pg_receivewal.sgml +++ b/doc/src/sgml/ref/pg_receivewal.sgml @@ -36,15 +36,15 @@ PostgreSQL documentation log is streamed using the streaming replication protocol, and is written to a local directory of files. This directory can be used as the archive location for doing a restore using point-in-time recovery (see - ). + ). pg_receivewal streams the write-ahead log in real time as it's being generated on the server, and does not wait - for segments to complete like does. + for segments to complete like does. For this reason, it is not necessary to set - when using + when using pg_receivewal. @@ -60,9 +60,9 @@ PostgreSQL documentation PostgreSQL connection and uses the replication protocol. The connection must be made with a superuser or a user having REPLICATION permissions (see - ), and pg_hba.conf + ), and pg_hba.conf must permit the replication connection. The server must also be - configured with set high enough to + configured with set high enough to leave at least one session available for the stream. @@ -172,7 +172,7 @@ PostgreSQL documentation Require pg_receivewal to use an existing - replication slot (see ). + replication slot (see ). When this option is used, pg_receivewal will report a flush position to the server, indicating when each segment has been synchronized to disk so that the server can remove that segment if it @@ -244,7 +244,7 @@ PostgreSQL documentation Specifies parameters used to connect to the server, as a connection - string. See for more information. + string. See for more information. The option is called --dbname for consistency with other @@ -405,7 +405,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq - (see ). + (see ). @@ -415,11 +415,11 @@ PostgreSQL documentation When using pg_receivewal instead of - as the main WAL backup method, it is + as the main WAL backup method, it is strongly recommended to use replication slots. Otherwise, the server is free to recycle or remove write-ahead log files before they are backed up, because it does not have any information, either - from or the replication slots, about + from or the replication slots, about how far the WAL stream has been archived. Note, however, that a replication slot will fill up the server's disk space if the receiver does not keep up with fetching the WAL data. @@ -443,7 +443,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/pg_recvlogical.sgml b/doc/src/sgml/ref/pg_recvlogical.sgml index 86f660070f..a79ca20084 100644 --- a/doc/src/sgml/ref/pg_recvlogical.sgml +++ b/doc/src/sgml/ref/pg_recvlogical.sgml @@ -35,8 +35,8 @@ PostgreSQL documentation It creates a replication-mode connection, so it is subject to the same - constraints as , plus those for logical - replication (see ). + constraints as , plus those for logical + replication (see ). @@ -182,8 +182,8 @@ PostgreSQL documentation In mode, start replication from the given LSN. For details on the effect of this, see the documentation - in - and . Ignored in other modes. + in + and . Ignored in other modes. @@ -226,7 +226,7 @@ PostgreSQL documentation When creating a slot, use the specified logical decoding output - plugin. See . This option has no + plugin. See . This option has no effect if the slot already exists. @@ -238,7 +238,7 @@ PostgreSQL documentation This option has the same effect as the option of the same name - in . See the description there. + in . See the description there. @@ -279,7 +279,7 @@ PostgreSQL documentation The database to connect to. See the description of the actions for what this means in detail. This can be a libpq connection string; - see for more information. Defaults + see for more information. Defaults to user name. @@ -395,7 +395,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq - (see ). + (see ). @@ -403,7 +403,7 @@ PostgreSQL documentation Examples - See for an example. + See for an example. @@ -411,7 +411,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/pg_resetwal.sgml b/doc/src/sgml/ref/pg_resetwal.sgml index 0c30addd30..43b58a49e6 100644 --- a/doc/src/sgml/ref/pg_resetwal.sgml +++ b/doc/src/sgml/ref/pg_resetwal.sgml @@ -292,7 +292,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index 2b0a334025..9946b94e84 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -36,7 +36,7 @@ pg_restore is a utility for restoring a PostgreSQL database from an archive - created by in one of the non-plain-text + created by in one of the non-plain-text formats. It will issue the commands necessary to reconstruct the database to the state it was in at the time it was saved. The archive files also allow pg_restore to @@ -531,11 +531,11 @@ This option is relevant only when restoring the contents of a table which has row security. By default, pg_restore will set - to off, to ensure + to off, to ensure that all data is restored in to the table. If the user does not have sufficient privileges to bypass row security, then an error is thrown. This parameter instructs pg_restore to set - to on instead, allowing the user to attempt to restore + to on instead, allowing the user to attempt to restore the contents of the table with row security enabled. This might still fail if the user does not have the right to insert the rows from the dump into the table. @@ -801,7 +801,7 @@ This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). However, it does not read + (see ). However, it does not read PGDATABASE when a database name is not supplied. @@ -817,7 +817,7 @@ internally executes SQL statements. If you have problems running pg_restore, make sure you are able to select information from the database using, for - example, . Also, any default connection + example, . Also, any default connection settings and environment variables used by the libpq front-end library will apply. @@ -867,15 +867,15 @@ CREATE DATABASE foo WITH TEMPLATE template0; - See also the documentation for details on + See also the documentation for details on limitations of pg_dump. Once restored, it is wise to run ANALYZE on each restored table so the optimizer has useful statistics; see - and - for more information. + and + for more information. @@ -976,9 +976,9 @@ CREATE DATABASE foo WITH TEMPLATE template0; See Also - - - + + + diff --git a/doc/src/sgml/ref/pg_rewind.sgml b/doc/src/sgml/ref/pg_rewind.sgml index 4bafdfe581..8e49249826 100644 --- a/doc/src/sgml/ref/pg_rewind.sgml +++ b/doc/src/sgml/ref/pg_rewind.sgml @@ -89,10 +89,10 @@ PostgreSQL documentation pg_rewind requires that the target server either has - the option enabled + the option enabled in postgresql.conf or data checksums enabled when the cluster was initialized with initdb. Neither of these - are currently on by default. + are currently on by default. must also be set to on, but is enabled by default. @@ -194,7 +194,7 @@ PostgreSQL documentation When option is used, pg_rewind also uses the environment variables - supported by libpq (see ). + supported by libpq (see ). diff --git a/doc/src/sgml/ref/pg_waldump.sgml b/doc/src/sgml/ref/pg_waldump.sgml index 40049c51e5..35f974f8c1 100644 --- a/doc/src/sgml/ref/pg_waldump.sgml +++ b/doc/src/sgml/ref/pg_waldump.sgml @@ -230,7 +230,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/pgarchivecleanup.sgml b/doc/src/sgml/ref/pgarchivecleanup.sgml index 65ba3df928..4117a4392c 100644 --- a/doc/src/sgml/ref/pgarchivecleanup.sgml +++ b/doc/src/sgml/ref/pgarchivecleanup.sgml @@ -31,7 +31,7 @@ pg_archivecleanup is designed to be used as an archive_cleanup_command to clean up WAL file archives when - running as a standby server (see ). + running as a standby server (see ). pg_archivecleanup can also be used as a standalone program to clean WAL file archives. @@ -47,7 +47,7 @@ archive_cleanup_command = 'pg_archivecleanup archivelocation - When used within , all WAL files + When used within , all WAL files logically preceding the value of the %r argument will be removed from archivelocation. This minimizes the number of files that need to be retained, while preserving crash-restart capability. Use of @@ -194,7 +194,7 @@ archive_cleanup_command = 'pg_archivecleanup -d /mnt/standby/archive %r 2>>clean See Also - + diff --git a/doc/src/sgml/ref/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml index f6e93c3ade..94b495e606 100644 --- a/doc/src/sgml/ref/pgbench.sgml +++ b/doc/src/sgml/ref/pgbench.sgml @@ -473,7 +473,7 @@ pgbench options d prepared: use extended query protocol with prepared statements. - The default is simple query protocol. (See + The default is simple query protocol. (See for more information.) @@ -854,7 +854,7 @@ pgbench options d explained above, or by the meta commands explained below. In addition to any variables preset by command-line options, there are a few variables that are preset automatically, listed in - . A value specified for these + . A value specified for these variables using takes precedence over the automatic presets. Once set, a variable's value can be inserted into a SQL command by writing @@ -1000,7 +1000,7 @@ pgbench options d Built-In Functions - The functions listed in are built + The functions listed in are built into pgbench and may be used in expressions appearing in \set. diff --git a/doc/src/sgml/ref/pgtestfsync.sgml b/doc/src/sgml/ref/pgtestfsync.sgml index 811438ceaf..501157cb36 100644 --- a/doc/src/sgml/ref/pgtestfsync.sgml +++ b/doc/src/sgml/ref/pgtestfsync.sgml @@ -28,7 +28,7 @@ pg_test_fsync is intended to give you a reasonable - idea of what the fastest is on your + idea of what the fastest is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by @@ -37,7 +37,7 @@ are not speed-limited by their write-ahead logs. pg_test_fsync reports average file sync operation time in microseconds for each wal_sync_method, which can also be used to - inform efforts to optimize the value of . + inform efforts to optimize the value of . @@ -107,7 +107,7 @@ See Also - + diff --git a/doc/src/sgml/ref/pgtesttiming.sgml b/doc/src/sgml/ref/pgtesttiming.sgml index 966546747e..545a934cf8 100644 --- a/doc/src/sgml/ref/pgtesttiming.sgml +++ b/doc/src/sgml/ref/pgtesttiming.sgml @@ -294,7 +294,7 @@ Histogram of timing durations: See Also - + diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index 8785a3ded2..055eac31a0 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -287,7 +287,7 @@ make prefix=/usr/local/pgsql.new install pg_upgrade will connect to the old and new servers several times, so you might want to set authentication to peer in pg_hba.conf or use a ~/.pgpass file - (see ). + (see ). @@ -321,7 +321,7 @@ NET STOP postgresql-&majorversion; If you are upgrading standby servers using methods outlined in section , verify that the old standby + linkend="pgupgrade-step-replicas"/>, verify that the old standby servers are caught up by running pg_controldata against the old primary and standby clusters. Verify that the Latest checkpoint location values match in all clusters. @@ -404,7 +404,7 @@ pg_upgrade.exe If an error occurs while restoring the database schema, pg_upgrade will - exit and you will have to revert to the old cluster as outlined in + exit and you will have to revert to the old cluster as outlined in below. To try pg_upgrade again, you will need to modify the old cluster so the pg_upgrade schema restore succeeds. If the problem is a contrib module, you might need to uninstall the contrib module from @@ -418,8 +418,8 @@ pg_upgrade.exe If you used link mode and have Streaming Replication (see ) or Log-Shipping (see ) standby servers, you can follow these steps to + linkend="streaming-replication"/>) or Log-Shipping (see ) standby servers, you can follow these steps to quickly upgrade them. You will not be running pg_upgrade on the standby servers, but rather rsync on the primary. Do not start any servers yet. @@ -730,7 +730,7 @@ psql --username=postgres --file=script.sql postgres is necessary because rsync only has file modification-time granularity of one second.) You might want to exclude some files, e.g. postmaster.pid, as documented in . If your file system supports + linkend="backup-lowlevel-base-backup"/>. If your file system supports file system snapshots or copy-on-write file copies, you can use that to make a backup of the old cluster and tablespaces, though the snapshot and copies must be created simultaneously or while the database server @@ -743,10 +743,10 @@ psql --username=postgres --file=script.sql postgres See Also - - - - + + + + diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml index b62e626e7a..53dc05a78f 100644 --- a/doc/src/sgml/ref/postgres-ref.sgml +++ b/doc/src/sgml/ref/postgres-ref.sgml @@ -51,8 +51,8 @@ PostgreSQL documentation option or the PGDATA environment variable; there is no default. Typically, or PGDATA points directly to the data area directory - created by . Other possible file layouts are - discussed in . + created by . Other possible file layouts are + discussed in . @@ -65,7 +65,7 @@ PostgreSQL documentation The postgres command can also be called in single-user mode. The primary use for this mode is during - bootstrapping by . Sometimes it is used + bootstrapping by . Sometimes it is used for debugging or disaster recovery; note that running a single-user server is not truly suitable for debugging the server, since no realistic interprocess communication and locking will happen. @@ -87,7 +87,7 @@ PostgreSQL documentation postgres accepts the following command-line arguments. For a detailed discussion of the options consult . You can save typing most of these + linkend="runtime-config"/>. You can save typing most of these options by setting up a configuration file. Some (safe) options can also be set from the connecting client in an application-dependent way to apply only for that session. For @@ -109,7 +109,7 @@ PostgreSQL documentation processes. The default value of this parameter is chosen automatically by initdb. Specifying this option is equivalent to setting the - configuration parameter. + configuration parameter. @@ -120,7 +120,7 @@ PostgreSQL documentation Sets a named run-time parameter. The configuration parameters supported by PostgreSQL are - described in . Most of the + described in . Most of the other command line options are in fact short forms of such a parameter assignment. can appear multiple times to set multiple parameters. @@ -142,9 +142,9 @@ PostgreSQL documentation This option is meant for other programs that interact with a server - instance, such as , to query configuration + instance, such as , to query configuration parameter values. User-facing applications should instead use or the pg_settings view. + linkend="sql-show"/> or the pg_settings view. @@ -169,7 +169,7 @@ PostgreSQL documentation Specifies the file system location of the database configuration files. See - for details. + for details. @@ -181,7 +181,7 @@ PostgreSQL documentation Sets the default date style to European, that is DMY ordering of input date fields. This also causes the day to be printed before the month in certain date output formats. - See for more information. + See for more information. @@ -193,7 +193,7 @@ PostgreSQL documentation Disables fsync calls for improved performance, at the risk of data corruption in the event of a system crash. Specifying this option is equivalent to - disabling the configuration + disabling the configuration parameter. Read the detailed documentation before using this! @@ -213,7 +213,7 @@ PostgreSQL documentation server. Defaults to listening only on localhost. Specifying this option is equivalent to setting the configuration parameter. + linkend="guc-listen-addresses"/> configuration parameter. @@ -230,7 +230,7 @@ PostgreSQL documentation This option is deprecated since it does not allow access to the - full functionality of . + full functionality of . It's usually better to set listen_addresses directly. @@ -249,7 +249,7 @@ PostgreSQL documentation The default value is normally /tmp, but that can be changed at build time. Specifying this option is equivalent to setting the configuration parameter. + linkend="guc-unix-socket-directories"/> configuration parameter. @@ -262,7 +262,7 @@ PostgreSQL documentation PostgreSQL must have been compiled with support for SSL for this option to be available. For more information on using SSL, - refer to . + refer to . @@ -275,7 +275,7 @@ PostgreSQL documentation server will accept. The default value of this parameter is chosen automatically by initdb. Specifying this option is equivalent to setting the - configuration parameter. + configuration parameter. @@ -341,7 +341,7 @@ PostgreSQL documentation Specifies the amount of memory to be used by internal sorts and hashes before resorting to temporary disk files. See the description of the work_mem configuration parameter in . + linkend="runtime-config-resource-memory"/>. @@ -531,7 +531,7 @@ PostgreSQL documentation The following options only apply to the single-user mode (see ). + endterm="app-postgres-single-user-title"/>). @@ -620,7 +620,7 @@ PostgreSQL documentation - Default value of the run-time + Default value of the run-time parameter. (The use of this environment variable is deprecated.) @@ -646,11 +646,11 @@ PostgreSQL documentation A failure message mentioning semget or shmget probably indicates you need to configure your kernel to provide adequate shared memory and semaphores. For more - discussion see . You might be able + discussion see . You might be able to postpone reconfiguring your kernel by decreasing to reduce the shared memory + linkend="guc-shared-buffers"/> to reduce the shared memory consumption of PostgreSQL, and/or by reducing - to reduce the semaphore + to reduce the semaphore consumption. @@ -689,7 +689,7 @@ PostgreSQL documentation Notes - The utility command can be used to + The utility command can be used to start and shut down the postgres server safely and comfortably. @@ -726,7 +726,7 @@ PostgreSQL documentation to the process running that command. To terminate a backend process cleanly, send SIGTERM to that process. See also pg_cancel_backend and pg_terminate_backend - in for the SQL-callable equivalents + in for the SQL-callable equivalents of these two actions. @@ -857,8 +857,8 @@ PostgreSQL documentation See Also - , - + , + diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml index ec11ec65f5..311510a44d 100644 --- a/doc/src/sgml/ref/postmaster.sgml +++ b/doc/src/sgml/ref/postmaster.sgml @@ -38,7 +38,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/prepare.sgml b/doc/src/sgml/ref/prepare.sgml index fb91ef8d50..704fb5e4ab 100644 --- a/doc/src/sgml/ref/prepare.sgml +++ b/doc/src/sgml/ref/prepare.sgml @@ -55,7 +55,7 @@ PREPARE name [ ( EXECUTE statement. Refer to for more + linkend="sql-execute"/> for more information about that. @@ -66,7 +66,7 @@ PREPARE name [ ( command. + manually cleaned up using the command. @@ -154,7 +154,7 @@ PREPARE name [ ( To examine the query plan PostgreSQL is using - for a prepared statement, use , e.g. + for a prepared statement, use , e.g. EXPLAIN EXECUTE. If a generic plan is in use, it will contain parameter symbols $n, while a custom plan will have the @@ -166,7 +166,7 @@ PREPARE name [ ( For more information on query planning and the statistics collected by PostgreSQL for that purpose, see - the + the documentation. @@ -176,7 +176,7 @@ PREPARE name [ ( changes + statement. Also, if the value of changes from one use to the next, the statement will be re-parsed using the new search_path. (This latter behavior is new as of PostgreSQL 9.3.) These rules make use of a @@ -240,8 +240,8 @@ EXECUTE usrrptplan(1, current_date); See Also - - + + diff --git a/doc/src/sgml/ref/prepare_transaction.sgml b/doc/src/sgml/ref/prepare_transaction.sgml index 990546a8c7..d958f7a06f 100644 --- a/doc/src/sgml/ref/prepare_transaction.sgml +++ b/doc/src/sgml/ref/prepare_transaction.sgml @@ -39,8 +39,8 @@ PREPARE TRANSACTION transaction_id Once prepared, a transaction can later be committed or rolled back - with - or , + with + or , respectively. Those commands can be issued from any session, not only the one that executed the original transaction. @@ -93,7 +93,7 @@ PREPARE TRANSACTION transaction_id This command must be used inside a transaction block. Use to start one. + linkend="sql-begin"/> to start one. @@ -128,7 +128,7 @@ PREPARE TRANSACTION transaction_id This will interfere with the ability of VACUUM to reclaim storage, and in extreme cases could cause the database to shut down to prevent transaction ID wraparound (see ). Keep in mind also that the transaction + linkend="vacuum-for-wraparound"/>). Keep in mind also that the transaction continues to hold whatever locks it held. The intended usage of the feature is that a prepared transaction will normally be committed or rolled back as soon as an external transaction manager has verified that @@ -139,7 +139,7 @@ PREPARE TRANSACTION transaction_id If you have not set up an external transaction manager to track prepared transactions and ensure they get closed out promptly, it is best to keep the prepared-transaction feature disabled by setting - to zero. This will + to zero. This will prevent accidental creation of prepared transactions that might then be forgotten and eventually cause problems. @@ -173,8 +173,8 @@ PREPARE TRANSACTION 'foobar'; See Also - - + + diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index e520cdf3ba..fce7e3a585 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -125,7 +125,7 @@ echo '\x \\ SELECT * FROM foo;' | psql if the string contains multiple SQL commands, unless there are explicit BEGIN/COMMIT commands included in the string to divide it into multiple - transactions. (See + transactions. (See for more details about how the server handles multi-query strings.) Also, psql only prints the result of the last SQL command in the string. @@ -167,7 +167,7 @@ EOF (postgresql:// or postgres://), it is treated as a conninfo string. See for more information. + linkend="libpq-connstring"/> for more information. @@ -662,9 +662,9 @@ EOF PGDATABASE, PGHOST, PGPORT and/or PGUSER to appropriate values. (For additional environment variables, see .) It is also convenient to have a + linkend="libpq-envars"/>.) It is also convenient to have a ~/.pgpass file to avoid regularly having to type in - passwords. See for more information. + passwords. See for more information. @@ -678,8 +678,8 @@ $ psql "service=myservice sslmode=require" $ psql postgresql://dbmaster:5433/mydb?sslmode=require This way you can also use LDAP for connection - parameter lookup as described in . - See for more information on all the + parameter lookup as described in . + See for more information on all the available connection options. @@ -730,8 +730,8 @@ testdb=> Whenever a command is executed, psql also polls for asynchronous notification events generated by - and - . + and + . @@ -779,7 +779,7 @@ testdb=> If an unquoted colon (:) followed by a psql variable name appears within an argument, it is replaced by the variable's value, as described in . + linkend="app-psql-interpolation" endterm="app-psql-interpolation-title"/>. The forms :'variable_name' and :"variable_name" described there work as well. @@ -864,7 +864,7 @@ testdb=> Establishes a new connection to a PostgreSQL server. The connection parameters to use can be specified either using a positional syntax, or using conninfo connection - strings as detailed in . + strings as detailed in . @@ -958,7 +958,7 @@ testdb=> Performs a frontend (client) copy. This is an operation that - runs an SQL + runs an SQL command, but instead of the server reading or writing the specified file, psql reads or writes the file and @@ -995,9 +995,9 @@ testdb=> The syntax of this command is similar to that of the - SQL + SQL command. All options other than the data source/destination are - as specified for . + as specified for . Because of this, special parsing rules apply to the \copy meta-command. Unlike most other meta-commands, the entire remainder of the line is always taken to be the arguments of \copy, @@ -1116,7 +1116,7 @@ testdb=> also shown. For foreign tables, the associated foreign server is shown as well. (Matching the pattern is defined in - + below.) @@ -1255,7 +1255,7 @@ testdb=> Descriptions for objects can be created with the + linkend="sql-comment"/> SQL command. @@ -1292,10 +1292,10 @@ testdb=> - The command is used to set + The command is used to set default access privileges. The meaning of the privilege display is explained under - . + . @@ -1606,11 +1606,11 @@ testdb=> - The and - + The and + commands are used to set access privileges. The meaning of the privilege display is explained under - . + . @@ -1629,8 +1629,8 @@ testdb=> - The and - + The and + commands are used to define per-role and per-database configuration settings. @@ -1770,7 +1770,7 @@ testdb=> See under for how to configure and + endterm="app-psql-environment-title"/> for how to configure and customize your editor. @@ -1844,7 +1844,7 @@ Tue Oct 26 21:40:57 CEST 1999 See under for how to configure and + endterm="app-psql-environment-title"/> for how to configure and customize your editor. @@ -2027,7 +2027,7 @@ CREATE INDEX Sends the current query buffer to the server and stores the query's output into psql variables (see ). + linkend="app-psql-variables" endterm="app-psql-variables-title"/>). The query to be executed must return exactly one row. Each column of the row is stored into a separate variable, named the same as the column. For example: @@ -2832,7 +2832,7 @@ lo_import 152801 Illustrations of how these different formats look can be seen in the section. + endterm="app-psql-examples-title"/> section. @@ -2918,7 +2918,7 @@ lo_import 152801 Valid variable names can contain letters, digits, and underscores. See the section below for details. + endterm="app-psql-variables-title"/> below for details. Variable names are case-sensitive. @@ -2927,13 +2927,13 @@ lo_import 152801 control psql's behavior or are automatically set to reflect connection state. These variables are documented in , below. + endterm="app-psql-variables-title"/>, below. This command is unrelated to the SQL - command . + command . @@ -3071,7 +3071,7 @@ testdb=> \setenv LESS -imx4F cannot be unset; instead, an \unset command is interpreted as setting them to their default values. See , below. + endterm="app-psql-variables-title"/>, below. @@ -3216,7 +3216,7 @@ select 1\; select 2\; select 3; The server executes such a request as a single transaction, unless there are explicit BEGIN/COMMIT commands included in the string to divide it into multiple - transactions. (See + transactions. (See for more details about how the server handles multi-query strings.) psql prints only the last query result it receives for each request; in this example, although all @@ -3295,7 +3295,7 @@ select 1\; select 2\; select 3; Advanced users can use regular-expression notations such as character classes, for example [0-9] to match any digit. All regular expression special characters work as specified in - , except for . which + , except for . which is taken as a separator as mentioned above, * which is translated to the regular-expression notation .*, ? which is translated to ., and @@ -3348,7 +3348,7 @@ bar This works in both regular SQL commands and meta-commands; there is more detail in , below. + endterm="app-psql-interpolation-title"/>, below. @@ -3743,7 +3743,7 @@ bar These specify what the prompts psql issues should look like. See below. + endterm="app-psql-prompting-title"/> below. @@ -3825,7 +3825,7 @@ bar SQLSTATE - The error code (see ) associated + The error code (see ) associated with the last SQL query's failure, or 00000 if it succeeded. @@ -4119,7 +4119,7 @@ testdb=> INSERT INTO my_table VALUES (:'content'); The value of the psql variable name. See the section for details. + endterm="app-psql-variables-title"/> for details. @@ -4230,7 +4230,7 @@ $endif - Default connection parameters (see ). + Default connection parameters (see ). @@ -4346,7 +4346,7 @@ PSQL_EDITOR_LINENUMBER_ARG='--line ' This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). diff --git a/doc/src/sgml/ref/reassign_owned.sgml b/doc/src/sgml/ref/reassign_owned.sgml index e29b88292b..0fffd6088a 100644 --- a/doc/src/sgml/ref/reassign_owned.sgml +++ b/doc/src/sgml/ref/reassign_owned.sgml @@ -82,7 +82,7 @@ REASSIGN OWNED BY { old_role | CURR - The command is an alternative that + The command is an alternative that simply drops all the database objects owned by one or more roles. @@ -94,7 +94,7 @@ REASSIGN OWNED BY { old_role | CURR - See for more discussion. + See for more discussion. @@ -112,9 +112,9 @@ REASSIGN OWNED BY { old_role | CURR See Also - - - + + + diff --git a/doc/src/sgml/ref/refresh_materialized_view.sgml b/doc/src/sgml/ref/refresh_materialized_view.sgml index e2ee836efb..9cf01a25a5 100644 --- a/doc/src/sgml/ref/refresh_materialized_view.sgml +++ b/doc/src/sgml/ref/refresh_materialized_view.sgml @@ -93,7 +93,7 @@ REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name While the default index for future - + operations is retained, REFRESH MATERIALIZED VIEW does not order the generated rows based on this property. If you want the data to be ordered upon generation, you must use an ORDER BY @@ -135,9 +135,9 @@ REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA; See Also - - - + + + diff --git a/doc/src/sgml/ref/reindex.sgml b/doc/src/sgml/ref/reindex.sgml index 2e053c4c24..79f6931c6a 100644 --- a/doc/src/sgml/ref/reindex.sgml +++ b/doc/src/sgml/ref/reindex.sgml @@ -52,7 +52,7 @@ REINDEX [ ( VERBOSE ) ] { INDEX | TABLE | SCHEMA | DATABASE | SYSTEM } REINDEX provides a way to reduce the space consumption of the index by writing a new version of the index without the dead pages. See for more information. + linkend="routine-reindex"/> for more information. @@ -192,7 +192,7 @@ REINDEX [ ( VERBOSE ) ] { INDEX | TABLE | SCHEMA | DATABASE | SYSTEM } REINDEX SYSTEM to select reconstruction of all system indexes in the database. Then quit the single-user server session and restart the regular server. - See the reference page for more + See the reference page for more information about how to interact with the single-user server interface. diff --git a/doc/src/sgml/ref/reindexdb.sgml b/doc/src/sgml/ref/reindexdb.sgml index a7cc9c2d94..1273dad807 100644 --- a/doc/src/sgml/ref/reindexdb.sgml +++ b/doc/src/sgml/ref/reindexdb.sgml @@ -93,7 +93,7 @@ PostgreSQL documentation reindexdb is a wrapper around the SQL - command . + command . There is no effective difference between reindexing databases via this utility and via other methods for accessing the server. @@ -347,7 +347,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -357,8 +357,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -377,7 +377,7 @@ PostgreSQL documentation times to the PostgreSQL server, asking for a password each time. It is convenient to have a ~/.pgpass file in such cases. See for more information. + linkend="libpq-pgpass"/> for more information. @@ -405,7 +405,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/release_savepoint.sgml b/doc/src/sgml/ref/release_savepoint.sgml index 7e629176b7..39665d28ef 100644 --- a/doc/src/sgml/ref/release_savepoint.sgml +++ b/doc/src/sgml/ref/release_savepoint.sgml @@ -42,7 +42,7 @@ RELEASE [ SAVEPOINT ] savepoint_name Destroying a savepoint makes it unavailable as a rollback point, but it has no other user visible behavior. It does not undo the effects of commands executed after the savepoint was established. - (To do that, see .) + (To do that, see .) Destroying a savepoint when it is no longer needed allows the system to reclaim some resources earlier than transaction end. @@ -120,11 +120,11 @@ COMMIT; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/reset.sgml b/doc/src/sgml/ref/reset.sgml index bf3f5226ec..95599072e7 100644 --- a/doc/src/sgml/ref/reset.sgml +++ b/doc/src/sgml/ref/reset.sgml @@ -36,7 +36,7 @@ RESET ALL SET configuration_parameter TO DEFAULT - Refer to for + Refer to for details. @@ -49,7 +49,7 @@ SET configuration_parameter TO DEFA from defining it as the value that the parameter had at session start, because if the value came from the configuration file, it will be reset to whatever is specified by the configuration file now. - See for details. + See for details. @@ -67,8 +67,8 @@ SET configuration_parameter TO DEFA Name of a settable run-time parameter. Available parameters are - documented in and on the - reference page. + documented in and on the + reference page. @@ -106,8 +106,8 @@ RESET timezone; See Also - - + + diff --git a/doc/src/sgml/ref/revoke.sgml b/doc/src/sgml/ref/revoke.sgml index e3e3f2ffc3..4d133a782b 100644 --- a/doc/src/sgml/ref/revoke.sgml +++ b/doc/src/sgml/ref/revoke.sgml @@ -122,7 +122,7 @@ REVOKE [ ADMIN OPTION FOR ] - See the description of the command for + See the description of the command for the meaning of the privilege types. @@ -178,9 +178,9 @@ REVOKE [ ADMIN OPTION FOR ] Notes - Use 's \dp command to + Use 's \dp command to display the privileges granted on existing tables and columns. See for information about the + linkend="sql-grant"/> for information about the format. For non-table objects there are other \d commands that can display their privileges. @@ -282,7 +282,7 @@ REVOKE admins FROM joe; Compatibility - The compatibility notes of the command + The compatibility notes of the command apply analogously to REVOKE. The keyword RESTRICT or CASCADE is required according to the standard, but PostgreSQL @@ -294,7 +294,7 @@ REVOKE admins FROM joe; See Also - + diff --git a/doc/src/sgml/ref/rollback.sgml b/doc/src/sgml/ref/rollback.sgml index 1f99343b08..3cafb848a9 100644 --- a/doc/src/sgml/ref/rollback.sgml +++ b/doc/src/sgml/ref/rollback.sgml @@ -54,7 +54,7 @@ ROLLBACK [ WORK | TRANSACTION ] Notes - Use to + Use to successfully terminate a transaction. @@ -88,9 +88,9 @@ ROLLBACK; See Also - - - + + + diff --git a/doc/src/sgml/ref/rollback_prepared.sgml b/doc/src/sgml/ref/rollback_prepared.sgml index d7468f78d7..08821a6652 100644 --- a/doc/src/sgml/ref/rollback_prepared.sgml +++ b/doc/src/sgml/ref/rollback_prepared.sgml @@ -99,8 +99,8 @@ ROLLBACK PREPARED 'foobar'; See Also - - + + diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml index 1957cace11..4d5647a302 100644 --- a/doc/src/sgml/ref/rollback_to.sgml +++ b/doc/src/sgml/ref/rollback_to.sgml @@ -64,7 +64,7 @@ ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_nameNotes - Use to destroy a savepoint + Use to destroy a savepoint without discarding the effects of commands executed after it was established. @@ -148,11 +148,11 @@ COMMIT; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/savepoint.sgml b/doc/src/sgml/ref/savepoint.sgml index 6fa11a7358..87243b1d20 100644 --- a/doc/src/sgml/ref/savepoint.sgml +++ b/doc/src/sgml/ref/savepoint.sgml @@ -64,8 +64,8 @@ SAVEPOINT savepoint_name Notes - Use to - rollback to a savepoint. Use + Use to + rollback to a savepoint. Use to destroy a savepoint, keeping the effects of commands executed after it was established. @@ -127,11 +127,11 @@ COMMIT; See Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/security_label.sgml b/doc/src/sgml/ref/security_label.sgml index ce5a1c1975..d52113e035 100644 --- a/doc/src/sgml/ref/security_label.sgml +++ b/doc/src/sgml/ref/security_label.sgml @@ -208,7 +208,7 @@ SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_ See Also - + src/test/modules/dummy_seclabel diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index 3aab3fd8a7..8a3e86b6db 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -94,7 +94,7 @@ TABLE [ ONLY ] table_name [ * ] in the FROM list. A WITH query that is referenced more than once in FROM is computed only once. - (See below.) + (See below.) @@ -104,7 +104,7 @@ TABLE [ ONLY ] table_name [ * ] (Each element in the FROM list is a real or virtual table.) If more than one element is specified in the FROM list, they are cross-joined together. - (See below.) + (See below.) @@ -113,7 +113,7 @@ TABLE [ ONLY ] table_name [ * ] If the WHERE clause is specified, all rows that do not satisfy the condition are eliminated from the output. (See below.) + endterm="sql-where-title"/> below.) @@ -125,8 +125,8 @@ TABLE [ ONLY ] table_name [ * ] values, and the results of aggregate functions are computed. If the HAVING clause is present, it eliminates groups that do not satisfy the given condition. (See - and - below.) + and + below.) @@ -135,7 +135,7 @@ TABLE [ ONLY ] table_name [ * ] The actual output rows are computed using the SELECT output expressions for each selected row or row group. (See - + below.) @@ -146,7 +146,7 @@ TABLE [ ONLY ] table_name [ * ] match on all the specified expressions. SELECT ALL (the default) will return all candidate rows, including duplicates. (See below.) + endterm="sql-distinct-title"/> below.) @@ -167,9 +167,9 @@ TABLE [ ONLY ] table_name [ * ] eliminating duplicate rows. Notice that DISTINCT is the default behavior here, even though ALL is the default for SELECT itself. (See - , , and - below.) + , , and + below.) @@ -179,7 +179,7 @@ TABLE [ ONLY ] table_name [ * ] returned rows are sorted in the specified order. If ORDER BY is not given, the rows are returned in whatever order the system finds fastest to produce. (See - below.) + below.) @@ -188,7 +188,7 @@ TABLE [ ONLY ] table_name [ * ] If the LIMIT (or FETCH FIRST) or OFFSET clause is specified, the SELECT statement only returns a subset of the result rows. (See below.) + linkend="sql-limit" endterm="sql-limit-title"/> below.) @@ -199,7 +199,7 @@ TABLE [ ONLY ] table_name [ * ] is specified, the SELECT statement locks the selected rows against concurrent updates. (See below.) + endterm="sql-for-update-share-title"/> below.) @@ -258,7 +258,7 @@ TABLE [ ONLY ] table_name [ * ] is permitted per query. Recursive data-modifying statements are not supported, but you can use the results of a recursive SELECT query in - a data-modifying statement. See for + a data-modifying statement. See for an example. @@ -291,7 +291,7 @@ TABLE [ ONLY ] table_name [ * ] - See for additional information. + See for additional information. @@ -410,7 +410,7 @@ TABLE [ ONLY ] table_name [ * ] sub-SELECT must be surrounded by parentheses, and an alias must be provided for it. A - command + command can also be used here. @@ -714,7 +714,7 @@ GROUP BY grouping_element [, ...] equivalent to constructing a UNION ALL between subqueries with the individual grouping sets as their GROUP BY clauses. For further details on the handling - of grouping sets see . + of grouping sets see . @@ -725,7 +725,7 @@ GROUP BY grouping_element [, ...] the selected rows.) The set of rows fed to each aggregate function can be further filtered by attaching a FILTER clause to the aggregate function - call; see for more information. When + call; see for more information. When a FILTER clause is present, only those rows matching it are included in the input to that aggregate function. @@ -747,7 +747,7 @@ GROUP BY grouping_element [, ...] evaluating any scalar expressions in the HAVING clause or SELECT list. This means that, for example, a CASE expression cannot be used to skip evaluation of - an aggregate function; see . + an aggregate function; see . @@ -834,7 +834,7 @@ WINDOW window_name AS ( The elements of the PARTITION BY list are interpreted in much the same fashion as elements of a - , except that + , except that they are always simple expressions and never the name or number of an output column. Another difference is that these expressions can contain aggregate @@ -846,7 +846,7 @@ WINDOW window_name AS ( Similarly, the elements of the ORDER BY list are interpreted in much the same fashion as elements of an - , except that + , except that the expressions are always taken as simple expressions and never the name or number of an output column. @@ -920,8 +920,8 @@ UNBOUNDED FOLLOWING The purpose of a WINDOW clause is to specify the behavior of window functions appearing in the query's - or - . These functions + or + . These functions can reference the WINDOW clause entries by name in their OVER clauses. A WINDOW clause entry does not have to be referenced anywhere, however; if it is not @@ -941,9 +941,9 @@ UNBOUNDED FOLLOWING Window functions are described in detail in - , - , and - . + , + , and + . @@ -969,7 +969,7 @@ UNBOUNDED FOLLOWING after the column's expression. (You can omit AS, but only if the desired output name does not match any PostgreSQL keyword (see ). For protection against possible + linkend="sql-keywords-appendix"/>). For protection against possible future keyword additions, it is recommended that you always either write AS or double-quote the output name.) If you do not specify a column name, a name is chosen automatically @@ -1311,8 +1311,8 @@ SELECT name FROM distributors ORDER BY code; a COLLATE clause in the expression, for example ORDER BY mycolumn COLLATE "en_US". - For more information see and - . + For more information see and + . @@ -1425,7 +1425,7 @@ KEY SHARE For more information on each row-level lock mode, refer to - . + . @@ -1441,8 +1441,8 @@ KEY SHARE Note that NOWAIT and SKIP LOCKED apply only to the row-level lock(s) — the required ROW SHARE table-level lock is still taken in the ordinary way (see - ). You can use - + ). You can use + with the NOWAIT option first, if you need to acquire the table-level lock without waiting. @@ -1791,7 +1791,7 @@ SELECT distance, employee_name FROM employee_recursive; an initial condition, followed by UNION, followed by the recursive part of the query. Be sure that the recursive part of the query will eventually return no tuples, or - else the query will loop indefinitely. (See + else the query will loop indefinitely. (See for more examples.) @@ -2001,7 +2001,7 @@ SELECT distributors.* WHERE distributors.name = 'Westward'; used by MySQL. The SQL:2008 standard has introduced the clauses OFFSET ... FETCH {FIRST|NEXT} ... for the same functionality, as shown above - in . This + in . This syntax is also used by IBM DB2. (Applications written for Oracle frequently use a workaround involving the automatically diff --git a/doc/src/sgml/ref/select_into.sgml b/doc/src/sgml/ref/select_into.sgml index a5b6ac9245..6c1a25f5ed 100644 --- a/doc/src/sgml/ref/select_into.sgml +++ b/doc/src/sgml/ref/select_into.sgml @@ -60,7 +60,7 @@ SELECT [ ALL | DISTINCT [ ON ( expression If specified, the table is created as a temporary table. Refer - to for details. + to for details. @@ -70,7 +70,7 @@ SELECT [ ALL | DISTINCT [ ON ( expression If specified, the table is created as an unlogged table. Refer - to for details. + to for details. @@ -87,7 +87,7 @@ SELECT [ ALL | DISTINCT [ ON ( expression All other parameters are described in detail under . + linkend="sql-select"/>. @@ -95,7 +95,7 @@ SELECT [ ALL | DISTINCT [ ON ( expressionNotes - is functionally similar to + is functionally similar to SELECT INTO. CREATE TABLE AS is the recommended syntax, since this form of SELECT INTO is not available in ECPG @@ -107,7 +107,7 @@ SELECT [ ALL | DISTINCT [ ON ( expression To add OIDs to the table created by SELECT INTO, - enable the configuration + enable the configuration variable. Alternatively, CREATE TABLE AS can be used with the WITH OIDS clause. @@ -132,8 +132,8 @@ SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01'; The SQL standard uses SELECT INTO to represent selecting values into scalar variables of a host program, rather than creating a new table. This indeed is the usage found - in ECPG (see ) and - PL/pgSQL (see ). + in ECPG (see ) and + PL/pgSQL (see ). The PostgreSQL usage of SELECT INTO to represent table creation is historical. It is best to use CREATE TABLE AS for this purpose in @@ -145,7 +145,7 @@ SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01'; See Also - + diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml index 4bc8108765..63f312e812 100644 --- a/doc/src/sgml/ref/set.sgml +++ b/doc/src/sgml/ref/set.sgml @@ -32,7 +32,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezone The SET command changes run-time configuration parameters. Many of the run-time parameters listed in - can be changed on-the-fly with + can be changed on-the-fly with SET. (But some require superuser privileges to change, and others cannot be changed after server or session start.) @@ -67,7 +67,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezone If SET LOCAL is used within a function that has a SET option for the same variable (see - ), + ), the effects of the SET LOCAL command disappear at function exit; that is, the value in effect when the function was called is restored anyway. This allows SET LOCAL to be used for @@ -122,7 +122,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezone Name of a settable run-time parameter. Available parameters are - documented in and below. + documented in and below. @@ -145,7 +145,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezone Besides the configuration parameters documented in , there are a few that can only be + linkend="runtime-config"/>, there are a few that can only be adjusted using the SET command or that have a special syntax: @@ -253,7 +253,7 @@ SELECT setseed(value); - See for more information + See for more information about time zones. @@ -267,7 +267,7 @@ SELECT setseed(value); The function set_config provides equivalent - functionality; see . + functionality; see . Also, it is possible to UPDATE the pg_settings system view to perform the equivalent of SET. @@ -323,8 +323,8 @@ SET TIME ZONE 'Europe/Rome'; See Also - - + + diff --git a/doc/src/sgml/ref/set_role.sgml b/doc/src/sgml/ref/set_role.sgml index 351e953f75..0ef6eb9a9c 100644 --- a/doc/src/sgml/ref/set_role.sgml +++ b/doc/src/sgml/ref/set_role.sgml @@ -48,7 +48,7 @@ RESET ROLE The SESSION and LOCAL modifiers act the same - as for the regular + as for the regular command. @@ -82,7 +82,7 @@ RESET ROLE SET ROLE has effects comparable to - , but the privilege + , but the privilege checks involved are quite different. Also, SET SESSION AUTHORIZATION determines which roles are allowable for later SET ROLE commands, whereas changing @@ -92,7 +92,7 @@ RESET ROLE SET ROLE does not process session variables as specified by - the role's settings; this only happens during + the role's settings; this only happens during login. @@ -142,7 +142,7 @@ SELECT SESSION_USER, CURRENT_USER; See Also - + diff --git a/doc/src/sgml/ref/set_session_auth.sgml b/doc/src/sgml/ref/set_session_auth.sgml index 45fa378e18..37b9ff8b18 100644 --- a/doc/src/sgml/ref/set_session_auth.sgml +++ b/doc/src/sgml/ref/set_session_auth.sgml @@ -41,7 +41,7 @@ RESET SESSION AUTHORIZATION identifier is normally equal to the session user identifier, but might change temporarily in the context of SECURITY DEFINER functions and similar mechanisms; it can also be changed by - . + . The current user identifier is relevant for permission checking. @@ -54,7 +54,7 @@ RESET SESSION AUTHORIZATION The SESSION and LOCAL modifiers act the same - as for the regular + as for the regular command. @@ -120,7 +120,7 @@ SELECT SESSION_USER, CURRENT_USER; See Also - + diff --git a/doc/src/sgml/ref/set_transaction.sgml b/doc/src/sgml/ref/set_transaction.sgml index 3ab1e6f771..43b1c6c892 100644 --- a/doc/src/sgml/ref/set_transaction.sgml +++ b/doc/src/sgml/ref/set_transaction.sgml @@ -119,7 +119,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION transa INSERT, DELETE, UPDATE, FETCH, or COPY) of a transaction has been executed. See - for more information about transaction + for more information about transaction isolation and concurrency control. @@ -156,7 +156,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION transa transaction to run with the same snapshot as an existing transaction. The pre-existing transaction must have exported its snapshot with the pg_export_snapshot function (see ). That function returns a + linkend="functions-snapshot-synchronization"/>). That function returns a snapshot identifier, which must be given to SET TRANSACTION SNAPSHOT to specify which snapshot is to be imported. The identifier must be written as a string literal in this command, for example @@ -199,13 +199,13 @@ SET SESSION CHARACTERISTICS AS TRANSACTION transa The session default transaction modes can also be set by setting the - configuration parameters , - , and - . + configuration parameters , + , and + . (In fact SET SESSION CHARACTERISTICS is just a verbose equivalent for setting these variables with SET.) This means the defaults can be set in the configuration file, via - ALTER DATABASE, etc. Consult + ALTER DATABASE, etc. Consult for more information. diff --git a/doc/src/sgml/ref/show.sgml b/doc/src/sgml/ref/show.sgml index 53b47ac3d8..945b0491b1 100644 --- a/doc/src/sgml/ref/show.sgml +++ b/doc/src/sgml/ref/show.sgml @@ -38,7 +38,7 @@ SHOW ALL libpq or a libpq-based application), or through command-line flags when starting the postgres server. See for details. + linkend="runtime-config"/> for details. @@ -51,8 +51,8 @@ SHOW ALL The name of a run-time parameter. Available parameters are - documented in and on the reference page. In + documented in and on the reference page. In addition, there are a few parameters that can be shown but not set: @@ -129,7 +129,7 @@ SHOW ALL The function current_setting produces - equivalent output; see . + equivalent output; see . Also, the pg_settings system view produces the same information. @@ -192,8 +192,8 @@ SHOW ALL; See Also - - + + diff --git a/doc/src/sgml/ref/start_transaction.sgml b/doc/src/sgml/ref/start_transaction.sgml index 605fda5357..d6cd1d4177 100644 --- a/doc/src/sgml/ref/start_transaction.sgml +++ b/doc/src/sgml/ref/start_transaction.sgml @@ -37,8 +37,8 @@ START TRANSACTION [ transaction_mode This command begins a new transaction block. If the isolation level, read/write mode, or deferrable mode is specified, the new transaction has those - characteristics, as if was executed. This is the same - as the command. + characteristics, as if was executed. This is the same + as the command. @@ -46,7 +46,7 @@ START TRANSACTION [ transaction_modeParameters - Refer to for information on the meaning + Refer to for information on the meaning of the parameters to this statement. @@ -79,7 +79,7 @@ START TRANSACTION [ transaction_mode - See also the compatibility section of . + See also the compatibility section of . @@ -87,11 +87,11 @@ START TRANSACTION [ transaction_modeSee Also - - - - - + + + + + diff --git a/doc/src/sgml/ref/truncate.sgml b/doc/src/sgml/ref/truncate.sgml index 6892516987..c1e42376ab 100644 --- a/doc/src/sgml/ref/truncate.sgml +++ b/doc/src/sgml/ref/truncate.sgml @@ -144,7 +144,7 @@ TRUNCATE [ TABLE ] [ ONLY ] name [ TRUNCATE is not MVCC-safe. After truncation, the table will appear empty to concurrent transactions, if they are using a snapshot taken before the truncation occurred. - See for more details. + See for more details. @@ -225,7 +225,7 @@ TRUNCATE othertable CASCADE; See Also - + diff --git a/doc/src/sgml/ref/unlisten.sgml b/doc/src/sgml/ref/unlisten.sgml index 1bffac3cb2..687bf485c9 100644 --- a/doc/src/sgml/ref/unlisten.sgml +++ b/doc/src/sgml/ref/unlisten.sgml @@ -40,7 +40,7 @@ UNLISTEN { channel | * } - + contains a more extensive discussion of the use of LISTEN and NOTIFY. @@ -126,8 +126,8 @@ NOTIFY virtual; See Also - - + + diff --git a/doc/src/sgml/ref/update.sgml b/doc/src/sgml/ref/update.sgml index 0e99aa9739..c0d0f7134d 100644 --- a/doc/src/sgml/ref/update.sgml +++ b/doc/src/sgml/ref/update.sgml @@ -81,7 +81,7 @@ UPDATE [ ONLY ] table_name [ * ] [ The WITH clause allows you to specify one or more subqueries that can be referenced by name in the UPDATE - query. See and + query. See and for details. @@ -171,7 +171,7 @@ UPDATE [ ONLY ] table_name [ * ] [ to appear in the WHERE condition and the update expressions. This is similar to the list of tables that can be specified in the of a SELECT + endterm="sql-from-title"/> of a SELECT statement. Note that the target table must not appear in the from_list, unless you intend a self-join (in which case it must appear with an alias in the from_list). @@ -200,7 +200,7 @@ UPDATE [ ONLY ] table_name [ * ] [ query on the UPDATE's target table. Note that WHERE CURRENT OF cannot be specified together with a Boolean condition. See - + for more information about using cursors with WHERE CURRENT OF. diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml index 7ecd08977c..b760e8ede1 100644 --- a/doc/src/sgml/ref/vacuum.sgml +++ b/doc/src/sgml/ref/vacuum.sgml @@ -61,7 +61,7 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ + for more details about its processing. @@ -113,8 +113,8 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ and - parameters + and + parameters set to zero. Aggressive freezing is always performed when the table is rewritten, so this option is redundant when FULL is specified. @@ -215,7 +215,7 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ for details. + structure. See for details. @@ -243,14 +243,14 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ for details. + See for details. PostgreSQL includes an autovacuum facility which can automate routine vacuum maintenance. For more information about automatic and manual vacuuming, see - . + . @@ -278,9 +278,9 @@ VACUUM (VERBOSE, ANALYZE) onek; See Also - - - + + + diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml index 2d47d8c1f1..955a17a849 100644 --- a/doc/src/sgml/ref/vacuumdb.sgml +++ b/doc/src/sgml/ref/vacuumdb.sgml @@ -62,7 +62,7 @@ PostgreSQL documentation vacuumdb is a wrapper around the SQL - command . + command . There is no effective difference between vacuuming and analyzing databases via this utility and via other methods for accessing the server. @@ -146,7 +146,7 @@ PostgreSQL documentation vacuumdb will open njobs connections to the - database, so make sure your + database, so make sure your setting is high enough to accommodate all connections. @@ -372,7 +372,7 @@ PostgreSQL documentation This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq - (see ). + (see ). @@ -382,8 +382,8 @@ PostgreSQL documentation Diagnostics - In case of difficulty, see - and for + In case of difficulty, see + and for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment @@ -402,7 +402,7 @@ PostgreSQL documentation times to the PostgreSQL server, asking for a password each time. It is convenient to have a ~/.pgpass file in such cases. See for more information. + linkend="libpq-pgpass"/> for more information. @@ -439,7 +439,7 @@ PostgreSQL documentation See Also - + diff --git a/doc/src/sgml/ref/values.sgml b/doc/src/sgml/ref/values.sgml index 6b8083fc9d..849220b120 100644 --- a/doc/src/sgml/ref/values.sgml +++ b/doc/src/sgml/ref/values.sgml @@ -44,7 +44,7 @@ VALUES ( expression [, ...] ) [, .. number of elements. The data types of the resulting table's columns are determined by combining the explicit or inferred types of the expressions appearing in that column, using the same rules as for UNION - (see ). + (see ). @@ -85,7 +85,7 @@ VALUES ( expression [, ...] ) [, .. rows. This expression can refer to the columns of the VALUES result as column1, column2, etc. For more details see - . + . @@ -95,7 +95,7 @@ VALUES ( expression [, ...] ) [, .. A sorting operator. For details see - . + . @@ -105,7 +105,7 @@ VALUES ( expression [, ...] ) [, .. The maximum number of rows to return. For details see - . + . @@ -116,7 +116,7 @@ VALUES ( expression [, ...] ) [, .. The number of rows to skip before starting to return rows. For details see - . + . @@ -233,7 +233,7 @@ WHERE ip_address IN (VALUES('192.168.0.1'::inet), ('192.168.0.10'), ('192.168.1. VALUES conforms to the SQL standard. LIMIT and OFFSET are PostgreSQL extensions; see also - under . + under . @@ -241,8 +241,8 @@ WHERE ip_address IN (VALUES('192.168.0.1'::inet), ('192.168.0.10'), ('192.168.1. See Also - - + + diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 9000b3aaaa..d20eaa87e7 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -264,7 +264,7 @@ PostgreSQL server applications and support utilities. These commands can only be run usefully on the host where the database server resides. Other utility programs - are listed in . + are listed in . diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index e83edf96ec..53716a029f 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -52,7 +52,7 @@ make check or otherwise a note about which tests failed. See below before assuming that a + linkend="regress-evaluation"/> below before assuming that a failure represents a serious problem. @@ -97,9 +97,9 @@ make MAX_CONNECTIONS=10 check Running the Tests Against an Existing Installation - To run the tests after installation (see ), + To run the tests after installation (see ), initialize a data area and start the - server as explained in , then type: + server as explained in , then type: make installcheck @@ -193,7 +193,7 @@ make installcheck-world Tests of client programs under src/bin. See - also . + also . @@ -371,7 +371,7 @@ make standbycheck for a given test, but inspection of the output convinces you that the result is valid, you can add a new comparison file to silence the failure report in future test runs. See - for details. + for details. @@ -521,7 +521,7 @@ exclusion of those that don't. If the errors test results in a server crash at the select infinite_recurse() command, it means that the platform's limit on process stack size is smaller than the - parameter indicates. This + parameter indicates. This can be fixed by running the server under a higher stack size limit (4MB is recommended with the default value of max_stack_depth). If you are unable to do that, an diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml index 30d602a053..18323b349c 100644 --- a/doc/src/sgml/release-10.sgml +++ b/doc/src/sgml/release-10.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 10.0. For information about new features in major release 10, see - . + . @@ -781,8 +781,8 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Migration to Version 10 - A dump/restore using , or use of , is required for those wishing to migrate data + A dump/restore using , or use of , is required for those wishing to migrate data from any previous release. @@ -893,7 +893,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 functions' periods. In addition, set-returning functions are now disallowed within CASE and COALESCE constructs. For more information - see . + see . @@ -1003,7 +1003,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup --> - Make stream the + Make stream the WAL needed to restore the backup by default (Magnus Hagander) @@ -1043,7 +1043,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-01-14 [05cd12ed5] pg_ctl: Change default to wait for all actions --> - Make all actions wait + Make all actions wait for completion by default (Peter Eisentraut) @@ -1058,7 +1058,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-03-27 [3371e4d9b] Change default of log_directory to 'log' --> - Change the default value of the + Change the default value of the server parameter from pg_log to log (Andreas Karlsson) @@ -1069,7 +1069,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral --> - Add configuration option to + Add configuration option to specify file name for custom OpenSSL DH parameters (Heikki Linnakangas) @@ -1098,7 +1098,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 DH parameters longer than 1024 bits, and hence will not be able to connect over SSL. If it's necessary to support such old clients, you can use custom 1024-bit DH parameters instead of the compiled-in - defaults. See . + defaults. See . @@ -1112,7 +1112,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 - The server parameter + The server parameter no longer supports off or plain. The UNENCRYPTED option is no longer supported in CREATE/ALTER USER ... PASSWORD. Similarly, the @@ -1129,8 +1129,8 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs. --> - Add - and server + Add + and server parameters to control parallel queries (Amit Kapila, Robert Haas) @@ -1146,7 +1146,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 --> Don't downcase unquoted text - within and related + within and related server parameters (QL Zhuo) @@ -1205,8 +1205,8 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 This functionality has been replaced by new server - parameters - and , which are easier to use + parameters + and , which are easier to use and more similar to features available in other PLs. @@ -1398,14 +1398,14 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8. --> - Add server parameter + Add server parameter to limit the number of worker processes that can be used for query parallelism (Julien Rouhaud) This parameter can be set lower than to reserve worker processes + linkend="guc-max-worker-processes"/> to reserve worker processes for purposes other than parallel queries. @@ -1548,7 +1548,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 For example, changing a table's setting can now be done + linkend="guc-effective-io-concurrency"/> setting can now be done with a more lightweight lock. @@ -1565,8 +1565,8 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Lock promotion can now be controlled through two new server parameters, and - . + linkend="guc-max-pred-locks-per-relation"/> and + . @@ -1768,7 +1768,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '. --> - Change the default value of + Change the default value of to include current timestamp (with milliseconds) and the process ID in each line of postmaster log output (Christoph Berg) @@ -1845,12 +1845,12 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Reduce message verbosity of lower-numbered debug levels controlled by - (Robert Haas) + (Robert Haas) This also changes the verbosity of debug levels. + linkend="guc-client-min-messages"/> debug levels. @@ -1957,7 +1957,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum. --> - Change the server parameter + Change the server parameter from boolean to enum (Michael Paquier) @@ -2034,7 +2034,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 --> Make the maximum value of effectively unlimited + linkend="guc-bgwriter-lru-maxpages"/> effectively unlimited (Jim Nasby) @@ -2085,7 +2085,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-03-14 [bb4a39637] hash: Support WAL consistency checking. --> - Add server parameter + Add server parameter to add details to WAL that can be sanity-checked on the standby (Kuntal Ghosh, Robert Haas) @@ -2106,7 +2106,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 A larger WAL segment size allows for fewer - invocations and fewer + invocations and fewer WAL files to manage. @@ -2150,7 +2150,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Allow waiting for commit acknowledgement from standby servers irrespective of the order they appear in (Masahiko Sawada) + linkend="guc-synchronous-standby-names"/> (Masahiko Sawada) @@ -2174,9 +2174,9 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Specifically, the defaults were changed for , , - , and to make them suitable for these usages + linkend="guc-wal-level"/>, , + , and to make them suitable for these usages out-of-the-box. @@ -2194,7 +2194,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Previously pg_hba.conf's replication connection lines were commented out by default. This is particularly useful for - . + . @@ -2497,7 +2497,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 This information is also included in output. + linkend="guc-log-autovacuum-min-duration"/> output. @@ -2830,8 +2830,8 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl. --> - Add server parameters - and , to allow initialization + Add server parameters + and , to allow initialization functions to be called on PL/Tcl startup (Tom Lane) @@ -2939,7 +2939,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 Client Applications - <xref linkend="app-psql"> + <xref linkend="app-psql"/> @@ -3080,7 +3080,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 - <xref linkend="pgbench"> + <xref linkend="pgbench"/> @@ -3258,7 +3258,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 - <xref linkend="app-pgbasebackup"> + <xref linkend="app-pgbasebackup"/> @@ -3331,7 +3331,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 - <application><xref linkend="app-pg-ctl"></application> + <application><xref linkend="app-pg-ctl"/></application> @@ -3340,7 +3340,7 @@ Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400 2016-09-21 [e7010ce47] pg_ctl: Add wait option to promote action --> - Add wait option for 's + Add wait option for 's promote operation (Peter Eisentraut) diff --git a/doc/src/sgml/release-7.4.sgml b/doc/src/sgml/release-7.4.sgml index bdbfe8e006..a67945a42b 100644 --- a/doc/src/sgml/release-7.4.sgml +++ b/doc/src/sgml/release-7.4.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 7.4.29. For information about new features in the 7.4 major release, see - . + . @@ -27,7 +27,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, - see . + see . @@ -146,7 +146,7 @@ This release contains a variety of fixes from 7.4.28. For information about new features in the 7.4 major release, see - . + . @@ -161,7 +161,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, - see . + see . @@ -290,7 +290,7 @@ This release contains a variety of fixes from 7.4.27. For information about new features in the 7.4 major release, see - . + . @@ -305,7 +305,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, - see . + see . @@ -409,7 +409,7 @@ This release contains a variety of fixes from 7.4.26. For information about new features in the 7.4 major release, see - . + . @@ -418,7 +418,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, - see . + see . @@ -529,7 +529,7 @@ This release contains a variety of fixes from 7.4.25. For information about new features in the 7.4 major release, see - . + . @@ -540,7 +540,7 @@ However, if you have any hash indexes on interval columns, you must REINDEX them after updating to 7.4.26. Also, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -659,7 +659,7 @@ This release contains a variety of fixes from 7.4.24. For information about new features in the 7.4 major release, see - . + . @@ -668,7 +668,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -739,7 +739,7 @@ This release contains a variety of fixes from 7.4.23. For information about new features in the 7.4 major release, see - . + . @@ -748,7 +748,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -825,7 +825,7 @@ This release contains a variety of fixes from 7.4.22. For information about new features in the 7.4 major release, see - . + . @@ -834,7 +834,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -909,7 +909,7 @@ This release contains a variety of fixes from 7.4.21. For information about new features in the 7.4 major release, see - . + . @@ -918,7 +918,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -985,7 +985,7 @@ This release contains one serious bug fix over 7.4.20. For information about new features in the 7.4 major release, see - . + . @@ -994,7 +994,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1039,7 +1039,7 @@ This release contains a variety of fixes from 7.4.19. For information about new features in the 7.4 major release, see - . + . @@ -1048,7 +1048,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1185,7 +1185,7 @@ This release contains a variety of fixes from 7.4.18, including fixes for significant security issues. For information about new features in the 7.4 major release, see - . + . @@ -1194,7 +1194,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1338,7 +1338,7 @@ This release contains fixes from 7.4.17. For information about new features in the 7.4 major release, see - . + . @@ -1347,7 +1347,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1415,7 +1415,7 @@ This release contains fixes from 7.4.16, including a security fix. For information about new features in the 7.4 major release, see - . + . @@ -1424,7 +1424,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1486,7 +1486,7 @@ This release contains a variety of fixes from 7.4.15, including a security fix. For information about new features in the 7.4 major release, see - . + . @@ -1495,7 +1495,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1556,7 +1556,7 @@ This release contains a variety of fixes from 7.4.14. For information about new features in the 7.4 major release, see - . + . @@ -1565,7 +1565,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1645,7 +1645,7 @@ This release contains a variety of fixes from 7.4.13. For information about new features in the 7.4 major release, see - . + . @@ -1654,7 +1654,7 @@ A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1693,7 +1693,7 @@ ANYARRAY This release contains a variety of fixes from 7.4.12, including patches for extremely serious security issues. For information about new features in the 7.4 major release, see - . + . @@ -1702,7 +1702,7 @@ ANYARRAY A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1799,7 +1799,7 @@ Fuhr) This release contains a variety of fixes from 7.4.11. For information about new features in the 7.4 major release, see - . + . @@ -1808,7 +1808,7 @@ Fuhr) A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, - see . + see . @@ -1862,7 +1862,7 @@ and isinf during configure (Tom) This release contains a variety of fixes from 7.4.10. For information about new features in the 7.4 major release, see - . + . @@ -1871,7 +1871,7 @@ and isinf during configure (Tom) A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, - see . + see . Also, you might need to REINDEX indexes on textual columns after updating, if you are affected by the locale or plperl issues described below. @@ -1929,7 +1929,7 @@ what's actually returned by the query (Joe) This release contains a variety of fixes from 7.4.9. For information about new features in the 7.4 major release, see - . + . @@ -1938,7 +1938,7 @@ what's actually returned by the query (Joe) A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, - see . + see . @@ -1982,7 +1982,7 @@ table has been dropped This release contains a variety of fixes from 7.4.8. For information about new features in the 7.4 major release, see - . + . @@ -1991,7 +1991,7 @@ table has been dropped A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, - see . + see . @@ -2052,7 +2052,7 @@ code This release contains a variety of fixes from 7.4.7, including several security-related issues. For information about new features in the 7.4 major release, see - . + . @@ -2236,7 +2236,7 @@ holder of the lock released it within a very narrow window. This release contains a variety of fixes from 7.4.6, including several security-related issues. For information about new features in the 7.4 major release, see - . + . @@ -2295,7 +2295,7 @@ GMT This release contains a variety of fixes from 7.4.5. For information about new features in the 7.4 major release, see - . + . @@ -2367,7 +2367,7 @@ ECPG prepare statement This release contains one serious bug fix over 7.4.4. For information about new features in the 7.4 major release, see - . + . @@ -2405,7 +2405,7 @@ still worth a re-release. The bug does not exist in pre-7.4 releases. This release contains a variety of fixes from 7.4.3. For information about new features in the 7.4 major release, see - . + . @@ -2457,7 +2457,7 @@ aggregate plan This release contains a variety of fixes from 7.4.2. For information about new features in the 7.4 major release, see - . + . @@ -2515,7 +2515,7 @@ names from outer query levels. This release contains a variety of fixes from 7.4.1. For information about new features in the 7.4 major release, see - . + . @@ -2658,7 +2658,7 @@ inconveniences associated with the i/I problem. This release contains a variety of fixes from 7.4. For information about new features in the 7.4 major release, see - . + . diff --git a/doc/src/sgml/release-8.0.sgml b/doc/src/sgml/release-8.0.sgml index 46ca87e93a..6171e0d1ee 100644 --- a/doc/src/sgml/release-8.0.sgml +++ b/doc/src/sgml/release-8.0.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 8.0.25. For information about new features in the 8.0 major release, see - . + . @@ -27,7 +27,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, - see . + see . @@ -216,7 +216,7 @@ This release contains a variety of fixes from 8.0.24. For information about new features in the 8.0 major release, see - . + . @@ -231,7 +231,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, - see . + see . @@ -376,7 +376,7 @@ This release contains a variety of fixes from 8.0.23. For information about new features in the 8.0 major release, see - . + . @@ -391,7 +391,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, - see . + see . @@ -553,7 +553,7 @@ This release contains a variety of fixes from 8.0.22. For information about new features in the 8.0 major release, see - . + . @@ -562,7 +562,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, - see . + see . @@ -708,7 +708,7 @@ This release contains a variety of fixes from 8.0.21. For information about new features in the 8.0 major release, see - . + . @@ -719,7 +719,7 @@ However, if you have any hash indexes on interval columns, you must REINDEX them after updating to 8.0.22. Also, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -872,7 +872,7 @@ This release contains a variety of fixes from 8.0.20. For information about new features in the 8.0 major release, see - . + . @@ -881,7 +881,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -952,7 +952,7 @@ This release contains a variety of fixes from 8.0.19. For information about new features in the 8.0 major release, see - . + . @@ -961,7 +961,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1038,7 +1038,7 @@ This release contains a variety of fixes from 8.0.18. For information about new features in the 8.0 major release, see - . + . @@ -1047,7 +1047,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1149,7 +1149,7 @@ This release contains a variety of fixes from 8.0.17. For information about new features in the 8.0 major release, see - . + . @@ -1158,7 +1158,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1283,7 +1283,7 @@ This release contains one serious bug fix over 8.0.16. For information about new features in the 8.0 major release, see - . + . @@ -1292,7 +1292,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1337,7 +1337,7 @@ This release contains a variety of fixes from 8.0.15. For information about new features in the 8.0 major release, see - . + . @@ -1346,7 +1346,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1575,7 +1575,7 @@ This release contains a variety of fixes from 8.0.14, including fixes for significant security issues. For information about new features in the 8.0 major release, see - . + . @@ -1593,7 +1593,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1790,7 +1790,7 @@ This release contains a variety of fixes from 8.0.13. For information about new features in the 8.0 major release, see - . + . @@ -1799,7 +1799,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1899,7 +1899,7 @@ This release contains a variety of fixes from 8.0.12, including a security fix. For information about new features in the 8.0 major release, see - . + . @@ -1908,7 +1908,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -1975,7 +1975,7 @@ This release contains one fix from 8.0.11. For information about new features in the 8.0 major release, see - . + . @@ -1984,7 +1984,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2018,7 +2018,7 @@ This release contains a variety of fixes from 8.0.10, including a security fix. For information about new features in the 8.0 major release, see - . + . @@ -2027,7 +2027,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2088,7 +2088,7 @@ This release contains a variety of fixes from 8.0.9. For information about new features in the 8.0 major release, see - . + . @@ -2097,7 +2097,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2207,7 +2207,7 @@ This release contains a variety of fixes from 8.0.8. For information about new features in the 8.0 major release, see - . + . @@ -2216,7 +2216,7 @@ A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2264,7 +2264,7 @@ Wieland) This release contains a variety of fixes from 8.0.7, including patches for extremely serious security issues. For information about new features in the 8.0 major release, see - . + . @@ -2273,7 +2273,7 @@ Wieland) A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2377,7 +2377,7 @@ Fuhr) This release contains a variety of fixes from 8.0.6. For information about new features in the 8.0 major release, see - . + . @@ -2386,7 +2386,7 @@ Fuhr) A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, - see . + see . @@ -2476,7 +2476,7 @@ and isinf during configure (Tom) This release contains a variety of fixes from 8.0.5. For information about new features in the 8.0 major release, see - . + . @@ -2485,7 +2485,7 @@ and isinf during configure (Tom) A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, - see . + see . Also, you might need to REINDEX indexes on textual columns after updating, if you are affected by the locale or plperl issues described below. @@ -2561,7 +2561,7 @@ what's actually returned by the query (Joe) This release contains a variety of fixes from 8.0.4. For information about new features in the 8.0 major release, see - . + . @@ -2570,7 +2570,7 @@ what's actually returned by the query (Joe) A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, - see . + see . @@ -2643,7 +2643,7 @@ to subquery results This release contains a variety of fixes from 8.0.3. For information about new features in the 8.0 major release, see - . + . @@ -2652,7 +2652,7 @@ to subquery results A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, - see . + see . @@ -2741,7 +2741,7 @@ code This release contains a variety of fixes from 8.0.2, including several security-related issues. For information about new features in the 8.0 major release, see - . + . @@ -2860,7 +2860,7 @@ data types This release contains a variety of fixes from 8.0.1. For information about new features in the 8.0 major release, see - . + . @@ -3018,7 +3018,7 @@ addresses in INET data types (Tom) This release contains a variety of fixes from 8.0.0, including several security-related issues. For information about new features in the 8.0 major release, see - . + . diff --git a/doc/src/sgml/release-8.1.sgml b/doc/src/sgml/release-8.1.sgml index 6827afd7e0..44a30892fd 100644 --- a/doc/src/sgml/release-8.1.sgml +++ b/doc/src/sgml/release-8.1.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 8.1.22. For information about new features in the 8.1 major release, see - . + . @@ -27,7 +27,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, - see . + see . @@ -231,7 +231,7 @@ This release contains a variety of fixes from 8.1.21. For information about new features in the 8.1 major release, see - . + . @@ -246,7 +246,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, - see . + see . @@ -449,7 +449,7 @@ This release contains a variety of fixes from 8.1.20. For information about new features in the 8.1 major release, see - . + . @@ -458,7 +458,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, - see . + see . @@ -603,7 +603,7 @@ This release contains a variety of fixes from 8.1.19. For information about new features in the 8.1 major release, see - . + . @@ -612,7 +612,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, - see . + see . @@ -793,7 +793,7 @@ This release contains a variety of fixes from 8.1.18. For information about new features in the 8.1 major release, see - . + . @@ -802,7 +802,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, - see . + see . @@ -974,7 +974,7 @@ This release contains a variety of fixes from 8.1.17. For information about new features in the 8.1 major release, see - . + . @@ -985,7 +985,7 @@ However, if you have any hash indexes on interval columns, you must REINDEX them after updating to 8.1.18. Also, if you are upgrading from a version earlier than 8.1.15, - see . + see . @@ -1138,7 +1138,7 @@ This release contains a variety of fixes from 8.1.16. For information about new features in the 8.1 major release, see - . + . @@ -1147,7 +1147,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.15, - see . + see . @@ -1261,7 +1261,7 @@ This release contains a variety of fixes from 8.1.15. For information about new features in the 8.1 major release, see - . + . @@ -1270,7 +1270,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.15, - see . + see . @@ -1381,7 +1381,7 @@ This release contains a variety of fixes from 8.1.14. For information about new features in the 8.1 major release, see - . + . @@ -1390,7 +1390,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . Also, if you were running a previous + see . Also, if you were running a previous 8.1.X release, it is recommended to REINDEX all GiST indexes after the upgrade. @@ -1533,7 +1533,7 @@ This release contains a variety of fixes from 8.1.13. For information about new features in the 8.1 major release, see - . + . @@ -1542,7 +1542,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -1709,7 +1709,7 @@ This release contains one serious and one minor bug fix over 8.1.12. For information about new features in the 8.1 major release, see - . + . @@ -1718,7 +1718,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -1776,7 +1776,7 @@ This release contains a variety of fixes from 8.1.11. For information about new features in the 8.1 major release, see - . + . @@ -1785,7 +1785,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2027,7 +2027,7 @@ This release contains a variety of fixes from 8.1.10, including fixes for significant security issues. For information about new features in the 8.1 major release, see - . + . @@ -2045,7 +2045,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2278,7 +2278,7 @@ This release contains a variety of fixes from 8.1.9. For information about new features in the 8.1 major release, see - . + . @@ -2287,7 +2287,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2400,7 +2400,7 @@ This release contains a variety of fixes from 8.1.8, including a security fix. For information about new features in the 8.1 major release, see - . + . @@ -2409,7 +2409,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2490,7 +2490,7 @@ This release contains one fix from 8.1.7. For information about new features in the 8.1 major release, see - . + . @@ -2499,7 +2499,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2533,7 +2533,7 @@ This release contains a variety of fixes from 8.1.6, including a security fix. For information about new features in the 8.1 major release, see - . + . @@ -2542,7 +2542,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2634,7 +2634,7 @@ This release contains a variety of fixes from 8.1.5. For information about new features in the 8.1 major release, see - . + . @@ -2643,7 +2643,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2784,7 +2784,7 @@ This release contains a variety of fixes from 8.1.4. For information about new features in the 8.1 major release, see - . + . @@ -2793,7 +2793,7 @@ A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -2862,7 +2862,7 @@ compilers (Hiroshi Saito) This release contains a variety of fixes from 8.1.3, including patches for extremely serious security issues. For information about new features in the 8.1 major release, see - . + . @@ -2871,7 +2871,7 @@ compilers (Hiroshi Saito) A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -3016,7 +3016,7 @@ documented (Tom) This release contains a variety of fixes from 8.1.2, including one very serious security issue. For information about new features in the 8.1 major release, see - . + . @@ -3025,7 +3025,7 @@ documented (Tom) A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, - see . + see . @@ -3137,7 +3137,7 @@ creation (Tom) This release contains a variety of fixes from 8.1.1. For information about new features in the 8.1 major release, see - . + . @@ -3240,7 +3240,7 @@ what's actually returned by the query (Joe) This release contains a variety of fixes from 8.1.0. For information about new features in the 8.1 major release, see - . + . diff --git a/doc/src/sgml/release-8.2.sgml b/doc/src/sgml/release-8.2.sgml index 39666e665b..51239f9b9d 100644 --- a/doc/src/sgml/release-8.2.sgml +++ b/doc/src/sgml/release-8.2.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 8.2.22. For information about new features in the 8.2 major release, see - . + . @@ -37,7 +37,7 @@ Also, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -240,7 +240,7 @@ This release contains a variety of fixes from 8.2.21. For information about new features in the 8.2 major release, see - . + . @@ -255,7 +255,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -547,7 +547,7 @@ This release contains a variety of fixes from 8.2.20. For information about new features in the 8.2 major release, see - . + . @@ -556,7 +556,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -679,7 +679,7 @@ This release contains a variety of fixes from 8.2.19. For information about new features in the 8.2 major release, see - . + . @@ -688,7 +688,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -811,7 +811,7 @@ This release contains a variety of fixes from 8.2.18. For information about new features in the 8.2 major release, see - . + . @@ -820,7 +820,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -1055,7 +1055,7 @@ This release contains a variety of fixes from 8.2.17. For information about new features in the 8.2 major release, see - . + . @@ -1064,7 +1064,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -1341,7 +1341,7 @@ This release contains a variety of fixes from 8.2.16. For information about new features in the 8.2 major release, see - . + . @@ -1350,7 +1350,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -1542,7 +1542,7 @@ This release contains a variety of fixes from 8.2.15. For information about new features in the 8.2 major release, see - . + . @@ -1551,7 +1551,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -1813,7 +1813,7 @@ This release contains a variety of fixes from 8.2.14. For information about new features in the 8.2 major release, see - . + . @@ -1822,7 +1822,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, - see . + see . @@ -2057,7 +2057,7 @@ This release contains a variety of fixes from 8.2.13. For information about new features in the 8.2 major release, see - . + . @@ -2068,7 +2068,7 @@ However, if you have any hash indexes on interval columns, you must REINDEX them after updating to 8.2.14. Also, if you are upgrading from a version earlier than 8.2.11, - see . + see . @@ -2287,7 +2287,7 @@ This release contains a variety of fixes from 8.2.12. For information about new features in the 8.2 major release, see - . + . @@ -2296,7 +2296,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.11, - see . + see . @@ -2453,7 +2453,7 @@ This release contains a variety of fixes from 8.2.11. For information about new features in the 8.2 major release, see - . + . @@ -2462,7 +2462,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.11, - see . + see . @@ -2632,7 +2632,7 @@ This release contains a variety of fixes from 8.2.10. For information about new features in the 8.2 major release, see - . + . @@ -2641,7 +2641,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, - see . Also, if you were running a previous + see . Also, if you were running a previous 8.2.X release, it is recommended to REINDEX all GiST indexes after the upgrade. @@ -2816,7 +2816,7 @@ This release contains a variety of fixes from 8.2.9. For information about new features in the 8.2 major release, see - . + . @@ -2825,7 +2825,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, - see . + see . @@ -3048,7 +3048,7 @@ This release contains one serious and one minor bug fix over 8.2.8. For information about new features in the 8.2 major release, see - . + . @@ -3057,7 +3057,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, - see . + see . @@ -3115,7 +3115,7 @@ This release contains a variety of fixes from 8.2.7. For information about new features in the 8.2 major release, see - . + . @@ -3124,7 +3124,7 @@ A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, - see . + see . @@ -3310,7 +3310,7 @@ This release contains a variety of fixes from 8.2.6. For information about new features in the 8.2 major release, see - . + . @@ -3580,7 +3580,7 @@ This release contains a variety of fixes from 8.2.5, including fixes for significant security issues. For information about new features in the 8.2 major release, see - . + . @@ -3870,7 +3870,7 @@ This release contains a variety of fixes from 8.2.4. For information about new features in the 8.2 major release, see - . + . @@ -4048,7 +4048,7 @@ This release contains a variety of fixes from 8.2.3, including a security fix. For information about new features in the 8.2 major release, see - . + . @@ -4191,7 +4191,7 @@ This release contains two fixes from 8.2.2. For information about new features in the 8.2 major release, see - . + . @@ -4238,7 +4238,7 @@ This release contains a variety of fixes from 8.2.1, including a security fix. For information about new features in the 8.2 major release, see - . + . @@ -4395,7 +4395,7 @@ This release contains a variety of fixes from 8.2. For information about new features in the 8.2 major release, see - . + . diff --git a/doc/src/sgml/release-8.3.sgml b/doc/src/sgml/release-8.3.sgml index 844f796179..2e10bc4982 100644 --- a/doc/src/sgml/release-8.3.sgml +++ b/doc/src/sgml/release-8.3.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 8.3.22. For information about new features in the 8.3 major release, see - . + . @@ -30,7 +30,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -181,7 +181,7 @@ This release contains a variety of fixes from 8.3.21. For information about new features in the 8.3 major release, see - . + . @@ -199,7 +199,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -477,7 +477,7 @@ This release contains a variety of fixes from 8.3.20. For information about new features in the 8.3 major release, see - . + . @@ -495,7 +495,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -587,7 +587,7 @@ This release contains a variety of fixes from 8.3.19. For information about new features in the 8.3 major release, see - . + . @@ -605,7 +605,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -810,7 +810,7 @@ This release contains a variety of fixes from 8.3.18. For information about new features in the 8.3 major release, see - . + . @@ -822,7 +822,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -1039,7 +1039,7 @@ This release contains a variety of fixes from 8.3.17. For information about new features in the 8.3 major release, see - . + . @@ -1051,7 +1051,7 @@ However, if you are upgrading from a version earlier than 8.3.17, - see . + see . @@ -1327,7 +1327,7 @@ This release contains a variety of fixes from 8.3.16. For information about new features in the 8.3 major release, see - . + . @@ -1346,7 +1346,7 @@ Also, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -1594,7 +1594,7 @@ This release contains a variety of fixes from 8.3.15. For information about new features in the 8.3 major release, see - . + . @@ -1603,7 +1603,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -1965,7 +1965,7 @@ This release contains a variety of fixes from 8.3.14. For information about new features in the 8.3 major release, see - . + . @@ -1974,7 +1974,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -2128,7 +2128,7 @@ This release contains a variety of fixes from 8.3.13. For information about new features in the 8.3 major release, see - . + . @@ -2137,7 +2137,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -2260,7 +2260,7 @@ This release contains a variety of fixes from 8.3.12. For information about new features in the 8.3 major release, see - . + . @@ -2269,7 +2269,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -2538,7 +2538,7 @@ This release contains a variety of fixes from 8.3.11. For information about new features in the 8.3 major release, see - . + . @@ -2547,7 +2547,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -2901,7 +2901,7 @@ This release contains a variety of fixes from 8.3.10. For information about new features in the 8.3 major release, see - . + . @@ -2910,7 +2910,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -3130,7 +3130,7 @@ This release contains a variety of fixes from 8.3.9. For information about new features in the 8.3 major release, see - . + . @@ -3139,7 +3139,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -3457,7 +3457,7 @@ This release contains a variety of fixes from 8.3.8. For information about new features in the 8.3 major release, see - . + . @@ -3466,7 +3466,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, - see . + see . @@ -3790,7 +3790,7 @@ This release contains a variety of fixes from 8.3.7. For information about new features in the 8.3 major release, see - . + . @@ -3801,7 +3801,7 @@ However, if you have any hash indexes on interval columns, you must REINDEX them after updating to 8.3.8. Also, if you are upgrading from a version earlier than 8.3.5, - see . + see . @@ -4080,7 +4080,7 @@ This release contains a variety of fixes from 8.3.6. For information about new features in the 8.3 major release, see - . + . @@ -4089,7 +4089,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.5, - see . + see . @@ -4303,7 +4303,7 @@ This release contains a variety of fixes from 8.3.5. For information about new features in the 8.3 major release, see - . + . @@ -4312,7 +4312,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.5, - see . + see . @@ -4597,7 +4597,7 @@ This release contains a variety of fixes from 8.3.4. For information about new features in the 8.3 major release, see - . + . @@ -4606,7 +4606,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, - see . Also, if you were running a previous + see . Also, if you were running a previous 8.3.X release, it is recommended to REINDEX all GiST indexes after the upgrade. @@ -4852,7 +4852,7 @@ This release contains a variety of fixes from 8.3.3. For information about new features in the 8.3 major release, see - . + . @@ -4861,7 +4861,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, - see . + see . @@ -5206,7 +5206,7 @@ This release contains one serious and one minor bug fix over 8.3.2. For information about new features in the 8.3 major release, see - . + . @@ -5215,7 +5215,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, - see . + see . @@ -5273,7 +5273,7 @@ This release contains a variety of fixes from 8.3.1. For information about new features in the 8.3 major release, see - . + . @@ -5282,7 +5282,7 @@ A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, - see . + see . @@ -5638,7 +5638,7 @@ This release contains a variety of fixes from 8.3.0. For information about new features in the 8.3 major release, see - . + . diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 521048ad93..6e6efa3bd1 100644 --- a/doc/src/sgml/release-8.4.sgml +++ b/doc/src/sgml/release-8.4.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 8.4.21. For information about new features in the 8.4 major release, see - . + . @@ -36,7 +36,7 @@ Also, if you are upgrading from a version earlier than 8.4.19, - see . + see . @@ -216,7 +216,7 @@ On Windows, allow new sessions to absorb values of PGC_BACKEND - parameters (such as ) from the + parameters (such as ) from the configuration file (Amit Kapila) @@ -331,7 +331,7 @@ This release contains a variety of fixes from 8.4.20. For information about new features in the 8.4 major release, see - . + . @@ -349,7 +349,7 @@ However, if you are upgrading from a version earlier than 8.4.19, - see . + see . @@ -450,7 +450,7 @@ This release contains a variety of fixes from 8.4.19. For information about new features in the 8.4 major release, see - . + . @@ -468,7 +468,7 @@ However, if you are upgrading from a version earlier than 8.4.19, - see . + see . @@ -909,7 +909,7 @@ This release contains a variety of fixes from 8.4.18. For information about new features in the 8.4 major release, see - . + . @@ -927,7 +927,7 @@ Also, if you are upgrading from a version earlier than 8.4.17, - see . + see . @@ -1110,7 +1110,7 @@ This release contains a variety of fixes from 8.4.17. For information about new features in the 8.4 major release, see - . + . @@ -1122,7 +1122,7 @@ However, if you are upgrading from a version earlier than 8.4.17, - see . + see . @@ -1310,7 +1310,7 @@ This release contains a variety of fixes from 8.4.16. For information about new features in the 8.4 major release, see - . + . @@ -1329,7 +1329,7 @@ Also, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -1539,7 +1539,7 @@ This release contains a variety of fixes from 8.4.15. For information about new features in the 8.4 major release, see - . + . @@ -1551,7 +1551,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -1749,7 +1749,7 @@ This release contains a variety of fixes from 8.4.14. For information about new features in the 8.4 major release, see - . + . @@ -1761,7 +1761,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -2051,7 +2051,7 @@ This release contains a variety of fixes from 8.4.13. For information about new features in the 8.4 major release, see - . + . @@ -2063,7 +2063,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -2167,7 +2167,7 @@ This release contains a variety of fixes from 8.4.12. For information about new features in the 8.4 major release, see - . + . @@ -2179,7 +2179,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -2401,7 +2401,7 @@ This release contains a variety of fixes from 8.4.11. For information about new features in the 8.4 major release, see - . + . @@ -2413,7 +2413,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -2686,7 +2686,7 @@ This release contains a variety of fixes from 8.4.10. For information about new features in the 8.4 major release, see - . + . @@ -2698,7 +2698,7 @@ However, if you are upgrading from a version earlier than 8.4.10, - see . + see . @@ -3048,7 +3048,7 @@ This release contains a variety of fixes from 8.4.9. For information about new features in the 8.4 major release, see - . + . @@ -3067,7 +3067,7 @@ Also, if you are upgrading from a version earlier than 8.4.8, - see . + see . @@ -3363,7 +3363,7 @@ This release contains a variety of fixes from 8.4.8. For information about new features in the 8.4 major release, see - . + . @@ -3375,7 +3375,7 @@ However, if you are upgrading from a version earlier than 8.4.8, - see . + see . @@ -3888,7 +3888,7 @@ This release contains a variety of fixes from 8.4.7. For information about new features in the 8.4 major release, see - . + . @@ -3911,7 +3911,7 @@ Also, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -4133,7 +4133,7 @@ This release contains a variety of fixes from 8.4.6. For information about new features in the 8.4 major release, see - . + . @@ -4142,7 +4142,7 @@ A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -4265,7 +4265,7 @@ This release contains a variety of fixes from 8.4.5. For information about new features in the 8.4 major release, see - . + . @@ -4274,7 +4274,7 @@ A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -4576,7 +4576,7 @@ This release contains a variety of fixes from 8.4.4. For information about new features in the 8.4 major release, see - . + . @@ -4585,7 +4585,7 @@ A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -5098,7 +5098,7 @@ This release contains a variety of fixes from 8.4.3. For information about new features in the 8.4 major release, see - . + . @@ -5107,7 +5107,7 @@ A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -5389,7 +5389,7 @@ This release contains a variety of fixes from 8.4.2. For information about new features in the 8.4 major release, see - . + . @@ -5398,7 +5398,7 @@ A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, - see . + see . @@ -5856,7 +5856,7 @@ This release contains a variety of fixes from 8.4.1. For information about new features in the 8.4 major release, see - . + . @@ -6387,7 +6387,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE This release contains a variety of fixes from 8.4. For information about new features in the 8.4 major release, see - . + . diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index d5b3239c30..9e90f5a7f3 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.0.22. For information about new features in the 9.0 major release, see - . + . @@ -30,7 +30,7 @@ However, if you are upgrading from a version earlier than 9.0.18, - see . + see . @@ -509,7 +509,7 @@ This release contains a small number of fixes from 9.0.21. For information about new features in the 9.0 major release, see - . + . @@ -527,7 +527,7 @@ However, if you are upgrading from a version earlier than 9.0.18, - see . + see . @@ -583,7 +583,7 @@ This release contains a small number of fixes from 9.0.20. For information about new features in the 9.0 major release, see - . + . @@ -601,7 +601,7 @@ However, if you are upgrading from a version earlier than 9.0.18, - see . + see . @@ -677,7 +677,7 @@ This release contains a variety of fixes from 9.0.19. For information about new features in the 9.0 major release, see - . + . @@ -695,7 +695,7 @@ However, if you are upgrading from a version earlier than 9.0.18, - see . + see . @@ -1121,7 +1121,7 @@ This release contains a variety of fixes from 9.0.18. For information about new features in the 9.0 major release, see - . + . @@ -1133,7 +1133,7 @@ However, if you are upgrading from a version earlier than 9.0.18, - see . + see . @@ -1847,7 +1847,7 @@ This release contains a variety of fixes from 9.0.17. For information about new features in the 9.0 major release, see - . + . @@ -1865,7 +1865,7 @@ Also, if you are upgrading from a version earlier than 9.0.15, - see . + see . @@ -2069,7 +2069,7 @@ On Windows, allow new sessions to absorb values of PGC_BACKEND - parameters (such as ) from the + parameters (such as ) from the configuration file (Amit Kapila) @@ -2193,7 +2193,7 @@ This release contains a variety of fixes from 9.0.16. For information about new features in the 9.0 major release, see - . + . @@ -2205,7 +2205,7 @@ However, if you are upgrading from a version earlier than 9.0.15, - see . + see . @@ -2346,7 +2346,7 @@ This release contains a variety of fixes from 9.0.15. For information about new features in the 9.0 major release, see - . + . @@ -2358,7 +2358,7 @@ However, if you are upgrading from a version earlier than 9.0.15, - see . + see . @@ -2847,7 +2847,7 @@ This release contains a variety of fixes from 9.0.14. For information about new features in the 9.0 major release, see - . + . @@ -2865,7 +2865,7 @@ Also, if you are upgrading from a version earlier than 9.0.13, - see . + see . @@ -3085,7 +3085,7 @@ This release contains a variety of fixes from 9.0.13. For information about new features in the 9.0 major release, see - . + . @@ -3097,7 +3097,7 @@ However, if you are upgrading from a version earlier than 9.0.13, - see . + see . @@ -3351,7 +3351,7 @@ This release contains a variety of fixes from 9.0.12. For information about new features in the 9.0 major release, see - . + . @@ -3370,7 +3370,7 @@ Also, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -3648,7 +3648,7 @@ This release contains a variety of fixes from 9.0.11. For information about new features in the 9.0 major release, see - . + . @@ -3660,7 +3660,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -3910,7 +3910,7 @@ This release contains a variety of fixes from 9.0.10. For information about new features in the 9.0 major release, see - . + . @@ -3922,7 +3922,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -4288,7 +4288,7 @@ This release contains a variety of fixes from 9.0.9. For information about new features in the 9.0 major release, see - . + . @@ -4300,7 +4300,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -4430,7 +4430,7 @@ This release contains a variety of fixes from 9.0.8. For information about new features in the 9.0 major release, see - . + . @@ -4442,7 +4442,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -4736,7 +4736,7 @@ This release contains a variety of fixes from 9.0.7. For information about new features in the 9.0 major release, see - . + . @@ -4748,7 +4748,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -5056,7 +5056,7 @@ This release contains a variety of fixes from 9.0.6. For information about new features in the 9.0 major release, see - . + . @@ -5068,7 +5068,7 @@ However, if you are upgrading from a version earlier than 9.0.6, - see . + see . @@ -5572,7 +5572,7 @@ This release contains a variety of fixes from 9.0.5. For information about new features in the 9.0 major release, see - . + . @@ -5591,7 +5591,7 @@ Also, if you are upgrading from a version earlier than 9.0.4, - see . + see . @@ -5956,7 +5956,7 @@ This release contains a variety of fixes from 9.0.4. For information about new features in the 9.0 major release, see - . + . @@ -5968,7 +5968,7 @@ However, if you are upgrading from a version earlier than 9.0.4, - see . + see . @@ -6606,7 +6606,7 @@ This release contains a variety of fixes from 9.0.3. For information about new features in the 9.0 major release, see - . + . @@ -6947,7 +6947,7 @@ This release contains a variety of fixes from 9.0.2. For information about new features in the 9.0 major release, see - . + . @@ -7123,7 +7123,7 @@ This release contains a variety of fixes from 9.0.1. For information about new features in the 9.0 major release, see - . + . @@ -7570,7 +7570,7 @@ This release contains a variety of fixes from 9.0.0. For information about new features in the 9.0 major release, see - . + . diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 92948a4ad0..ad5998e495 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.1.23. For information about new features in the 9.1 major release, see - . + . @@ -30,7 +30,7 @@ However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -222,7 +222,7 @@ This release contains a variety of fixes from 9.1.22. For information about new features in the 9.1 major release, see - . + . @@ -240,7 +240,7 @@ However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -564,7 +564,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 This release contains a variety of fixes from 9.1.21. For information about new features in the 9.1 major release, see - . + . @@ -582,7 +582,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -729,7 +729,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 This release contains a variety of fixes from 9.1.20. For information about new features in the 9.1 major release, see - . + . @@ -741,7 +741,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -935,7 +935,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 This release contains a variety of fixes from 9.1.19. For information about new features in the 9.1 major release, see - . + . @@ -947,7 +947,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -1448,7 +1448,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 This release contains a variety of fixes from 9.1.18. For information about new features in the 9.1 major release, see - . + . @@ -1460,7 +1460,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -2009,7 +2009,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a small number of fixes from 9.1.17. For information about new features in the 9.1 major release, see - . + . @@ -2021,7 +2021,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -2077,7 +2077,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a small number of fixes from 9.1.16. For information about new features in the 9.1 major release, see - . + . @@ -2089,7 +2089,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.16, - see . + see . @@ -2165,7 +2165,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.15. For information about new features in the 9.1 major release, see - . + . @@ -2183,7 +2183,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.14, - see . + see . @@ -2691,7 +2691,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.14. For information about new features in the 9.1 major release, see - . + . @@ -2703,7 +2703,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.14, - see . + see . @@ -3501,7 +3501,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.13. For information about new features in the 9.1 major release, see - . + . @@ -3519,7 +3519,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.11, - see . + see . @@ -3570,7 +3570,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 - Fix feedback status when is + Fix feedback status when is turned off on-the-fly (Simon Riggs) @@ -3654,7 +3654,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Prevent foreign tables from being created with OIDS - when is true + when is true (Etsuro Fujita) @@ -3760,7 +3760,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 On Windows, allow new sessions to absorb values of PGC_BACKEND - parameters (such as ) from the + parameters (such as ) from the configuration file (Amit Kapila) @@ -3884,7 +3884,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.12. For information about new features in the 9.1 major release, see - . + . @@ -3896,7 +3896,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.11, - see . + see . @@ -4051,7 +4051,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.11. For information about new features in the 9.1 major release, see - . + . @@ -4063,7 +4063,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.11, - see . + see . @@ -4601,7 +4601,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.10. For information about new features in the 9.1 major release, see - . + . @@ -4619,7 +4619,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.9, - see . + see . @@ -4858,7 +4858,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.9. For information about new features in the 9.1 major release, see - . + . @@ -4870,7 +4870,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.9, - see . + see . @@ -5193,7 +5193,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.8. For information about new features in the 9.1 major release, see - . + . @@ -5212,7 +5212,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.6, - see . + see . @@ -5527,7 +5527,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.7. For information about new features in the 9.1 major release, see - . + . @@ -5539,7 +5539,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.6, - see . + see . @@ -5849,7 +5849,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.6. For information about new features in the 9.1 major release, see - . + . @@ -5861,7 +5861,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.6, - see . + see . @@ -6312,7 +6312,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.5. For information about new features in the 9.1 major release, see - . + . @@ -6330,7 +6330,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.4, - see . + see . @@ -6564,7 +6564,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.4. For information about new features in the 9.1 major release, see - . + . @@ -6576,7 +6576,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.4, - see . + see . @@ -6951,7 +6951,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.3. For information about new features in the 9.1 major release, see - . + . @@ -6975,7 +6975,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 Also, if you are upgrading from a version earlier than 9.1.2, - see . + see . @@ -7441,7 +7441,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.2. For information about new features in the 9.1 major release, see - . + . @@ -7453,7 +7453,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 However, if you are upgrading from a version earlier than 9.1.2, - see . + see . @@ -8078,7 +8078,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a variety of fixes from 9.1.1. For information about new features in the 9.1 major release, see - . + . @@ -8725,7 +8725,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400 This release contains a small number of fixes from 9.1.0. For information about new features in the 9.1 major release, see - . + . diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index e2da35bcd4..1f2240f158 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.2.23. For information about new features in the 9.2 major release, see - . + . @@ -30,7 +30,7 @@ However, if you are upgrading from a version earlier than 9.2.22, - see . + see . @@ -213,7 +213,7 @@ This release contains a small number of fixes from 9.2.22. For information about new features in the 9.2 major release, see - . + . @@ -231,7 +231,7 @@ However, if you are upgrading from a version earlier than 9.2.22, - see . + see . @@ -382,7 +382,7 @@ CREATE OR REPLACE VIEW table_privileges AS This release contains a variety of fixes from 9.2.21. For information about new features in the 9.2 major release, see - . + . @@ -405,7 +405,7 @@ CREATE OR REPLACE VIEW table_privileges AS Also, if you are upgrading from a version earlier than 9.2.20, - see . + see . @@ -575,7 +575,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Fix code for setting on + Fix code for setting on Solaris (Tom Lane) @@ -776,7 +776,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Fix pg_upgrade to ensure that the ending WAL record - does not have = minimum + does not have = minimum (Bruce Momjian) @@ -848,7 +848,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.2.20. For information about new features in the 9.2 major release, see - . + . @@ -871,7 +871,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Also, if you are upgrading from a version earlier than 9.2.20, - see . + see . @@ -906,7 +906,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, follow the corrected procedure shown in the changelog entry for - CVE-2017-7547, in . + CVE-2017-7547, in . @@ -1206,7 +1206,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; will use the current and historical DST transition dates of the US/Eastern zone. If you don't want that, remove the posixrules file, or replace it with a copy of some - other zone file (see ). Note that + other zone file (see ). Note that due to caching, you may need to restart the server to get such changes to take effect. @@ -1228,7 +1228,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.2.19. For information about new features in the 9.2 major release, see - . + . @@ -1246,7 +1246,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Also, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -1281,7 +1281,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Previously, this was skipped when + Previously, this was skipped when = minimal, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. @@ -1351,7 +1351,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 Previously, non-default settings - of could result in broken + of could result in broken indexes. @@ -1640,7 +1640,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.18. For information about new features in the 9.2 major release, see - . + . @@ -1652,7 +1652,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -1691,7 +1691,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 Fix EXPLAIN to emit valid XML when - is on (Markus Winand) + is on (Markus Winand) @@ -1906,7 +1906,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.17. For information about new features in the 9.2 major release, see - . + . @@ -1918,7 +1918,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -2247,7 +2247,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.16. For information about new features in the 9.2 major release, see - . + . @@ -2259,7 +2259,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -2443,7 +2443,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.15. For information about new features in the 9.2 major release, see - . + . @@ -2455,7 +2455,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -2649,7 +2649,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.14. For information about new features in the 9.2 major release, see - . + . @@ -2661,7 +2661,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -3193,7 +3193,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 This release contains a variety of fixes from 9.2.13. For information about new features in the 9.2 major release, see - . + . @@ -3205,7 +3205,7 @@ Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -3790,7 +3790,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 This release contains a small number of fixes from 9.2.12. For information about new features in the 9.2 major release, see - . + . @@ -3802,7 +3802,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -3858,7 +3858,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 This release contains a small number of fixes from 9.2.11. For information about new features in the 9.2 major release, see - . + . @@ -3870,7 +3870,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 However, if you are upgrading from a version earlier than 9.2.11, - see . + see . @@ -3953,7 +3953,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 This release contains a variety of fixes from 9.2.10. For information about new features in the 9.2 major release, see - . + . @@ -3971,7 +3971,7 @@ Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700 Also, if you are upgrading from a version earlier than 9.2.10, - see . + see . @@ -4535,7 +4535,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.9. For information about new features in the 9.2 major release, see - . + . @@ -4556,7 +4556,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Also, if you are upgrading from a version earlier than 9.2.9, - see . + see . @@ -5452,7 +5452,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.8. For information about new features in the 9.2 major release, see - . + . @@ -5470,7 +5470,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Also, if you are upgrading from a version earlier than 9.2.6, - see . + see . @@ -5528,7 +5528,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 - Fix feedback status when is + Fix feedback status when is turned off on-the-fly (Simon Riggs) @@ -5650,7 +5650,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Prevent foreign tables from being created with OIDS - when is true + when is true (Etsuro Fujita) @@ -5769,7 +5769,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 On Windows, allow new sessions to absorb values of PGC_BACKEND - parameters (such as ) from the + parameters (such as ) from the configuration file (Amit Kapila) @@ -5933,7 +5933,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.7. For information about new features in the 9.2 major release, see - . + . @@ -5945,7 +5945,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 However, if you are upgrading from a version earlier than 9.2.6, - see . + see . @@ -6122,7 +6122,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.6. For information about new features in the 9.2 major release, see - . + . @@ -6134,7 +6134,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 However, if you are upgrading from a version earlier than 9.2.6, - see . + see . @@ -6729,7 +6729,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.5. For information about new features in the 9.2 major release, see - . + . @@ -6747,7 +6747,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Also, if you are upgrading from a version earlier than 9.2.4, - see . + see . @@ -7066,7 +7066,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.4. For information about new features in the 9.2 major release, see - . + . @@ -7078,7 +7078,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 However, if you are upgrading from a version earlier than 9.2.4, - see . + see . @@ -7485,7 +7485,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.3. For information about new features in the 9.2 major release, see - . + . @@ -7504,7 +7504,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Also, if you are upgrading from a version earlier than 9.2.2, - see . + see . @@ -7892,7 +7892,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.2. For information about new features in the 9.2 major release, see - . + . @@ -7904,7 +7904,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 However, if you are upgrading from a version earlier than 9.2.2, - see . + see . @@ -8343,7 +8343,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.1. For information about new features in the 9.2 major release, see - . + . @@ -8361,7 +8361,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 Also, if you are upgrading from version 9.2.0, - see . + see . @@ -9067,7 +9067,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 This release contains a variety of fixes from 9.2.0. For information about new features in the 9.2 major release, see - . + . diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index ed0e292d9a..3c540bcc26 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.3.19. For information about new features in the 9.3 major release, see - . + . @@ -24,7 +24,7 @@ However, if you are upgrading from a version earlier than 9.3.18, - see . + see . @@ -246,7 +246,7 @@ This release contains a small number of fixes from 9.3.18. For information about new features in the 9.3 major release, see - . + . @@ -258,7 +258,7 @@ However, if you are upgrading from a version earlier than 9.3.18, - see . + see . @@ -417,7 +417,7 @@ CREATE OR REPLACE VIEW table_privileges AS This release contains a variety of fixes from 9.3.17. For information about new features in the 9.3 major release, see - . + . @@ -434,7 +434,7 @@ CREATE OR REPLACE VIEW table_privileges AS Also, if you are upgrading from a version earlier than 9.3.16, - see . + see . @@ -626,7 +626,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Fix code for setting on + Fix code for setting on Solaris (Tom Lane) @@ -879,7 +879,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Fix pg_upgrade to ensure that the ending WAL record - does not have = minimum + does not have = minimum (Bruce Momjian) @@ -976,7 +976,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.3.16. For information about new features in the 9.3 major release, see - . + . @@ -993,7 +993,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Also, if you are upgrading from a version earlier than 9.3.16, - see . + see . @@ -1028,7 +1028,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, follow the corrected procedure shown in the changelog entry for - CVE-2017-7547, in . + CVE-2017-7547, in . @@ -1373,7 +1373,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; will use the current and historical DST transition dates of the US/Eastern zone. If you don't want that, remove the posixrules file, or replace it with a copy of some - other zone file (see ). Note that + other zone file (see ). Note that due to caching, you may need to restart the server to get such changes to take effect. @@ -1395,7 +1395,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.3.15. For information about new features in the 9.3 major release, see - . + . @@ -1413,7 +1413,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Also, if you are upgrading from a version earlier than 9.3.15, - see . + see . @@ -1448,7 +1448,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Previously, this was skipped when + Previously, this was skipped when = minimal, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. @@ -1509,7 +1509,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Previously, non-default settings - of could result in broken + of could result in broken indexes. @@ -1843,7 +1843,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.3.14. For information about new features in the 9.3 major release, see - . + . @@ -1861,7 +1861,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Also, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -1937,7 +1937,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Fix EXPLAIN to emit valid XML when - is on (Markus Winand) + is on (Markus Winand) @@ -2172,7 +2172,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.3.13. For information about new features in the 9.3 major release, see - . + . @@ -2184,7 +2184,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; However, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -2662,7 +2662,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; This release contains a variety of fixes from 9.3.12. For information about new features in the 9.3 major release, see - . + . @@ -2674,7 +2674,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; However, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -2892,7 +2892,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 This release contains a variety of fixes from 9.3.11. For information about new features in the 9.3 major release, see - . + . @@ -2904,7 +2904,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 However, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -3111,7 +3111,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 This release contains a variety of fixes from 9.3.10. For information about new features in the 9.3 major release, see - . + . @@ -3123,7 +3123,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 However, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -3734,7 +3734,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 This release contains a variety of fixes from 9.3.9. For information about new features in the 9.3 major release, see - . + . @@ -3746,7 +3746,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 However, if you are upgrading from a version earlier than 9.3.9, - see . + see . @@ -4363,7 +4363,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 This release contains a small number of fixes from 9.3.8. For information about new features in the 9.3 major release, see - . + . @@ -4381,7 +4381,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 Also, if you are upgrading from a version earlier than 9.3.7, - see . + see . @@ -4438,10 +4438,10 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 Otherwise, for each table that has pg_class.relminmxid equal to 1, VACUUM that table with - both - and set to + both + and set to zero. (You can use the vacuum cost delay parameters described - in to reduce + in to reduce the performance consequences for concurrent sessions.) You must use PostgreSQL 9.3.5 or later to perform this step. @@ -4512,7 +4512,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 This release contains a small number of fixes from 9.3.7. For information about new features in the 9.3 major release, see - . + . @@ -4524,7 +4524,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400 However, if you are upgrading from a version earlier than 9.3.7, - see . + see . @@ -4620,7 +4620,7 @@ Branch: REL9_0_STABLE [4dddf8552] 2015-05-21 20:41:55 -0400 This release contains a variety of fixes from 9.3.6. For information about new features in the 9.3 major release, see - . + . @@ -4638,7 +4638,7 @@ Branch: REL9_0_STABLE [4dddf8552] 2015-05-21 20:41:55 -0400 Also, if you are upgrading from a version earlier than 9.3.6, - see . + see . @@ -5210,7 +5210,7 @@ Branch: REL9_0_STABLE [4dddf8552] 2015-05-21 20:41:55 -0400 This release contains a variety of fixes from 9.3.5. For information about new features in the 9.3 major release, see - . + . @@ -5231,7 +5231,7 @@ Branch: REL9_0_STABLE [4dddf8552] 2015-05-21 20:41:55 -0400 Also, if you are upgrading from a version earlier than 9.3.5, - see . + see . @@ -7095,7 +7095,7 @@ Branch: REL9_0_STABLE [b6391f587] 2014-10-04 14:18:43 -0400 This release contains a variety of fixes from 9.3.4. For information about new features in the 9.3 major release, see - . + . @@ -7115,7 +7115,7 @@ Branch: REL9_0_STABLE [b6391f587] 2014-10-04 14:18:43 -0400 Also, if you are upgrading from a version earlier than 9.3.4, - see . + see . @@ -7577,7 +7577,7 @@ Branch: REL9_1_STABLE [dd1a5b09b] 2014-06-24 13:30:41 +0300 Prevent foreign tables from being created with OIDS - when is true + when is true (Etsuro Fujita) @@ -7859,7 +7859,7 @@ Branch: REL8_4_STABLE [30e434bdf] 2014-04-05 12:41:40 -0400 On Windows, allow new sessions to absorb values of PGC_BACKEND - parameters (such as ) from the + parameters (such as ) from the configuration file (Amit Kapila) @@ -8215,7 +8215,7 @@ Branch: REL8_4_STABLE [c51da696b] 2014-07-19 15:01:45 -0400 This release contains a variety of fixes from 9.3.3. For information about new features in the 9.3 major release, see - . + . @@ -8234,7 +8234,7 @@ Branch: REL8_4_STABLE [c51da696b] 2014-07-19 15:01:45 -0400 Also, if you are upgrading from a version earlier than 9.3.3, - see . + see . @@ -8480,7 +8480,7 @@ Branch: REL9_3_STABLE [dcd1131c8] 2014-03-06 21:40:50 +0200 walsender failed to send ping messages to the client if it was constantly busy sending WAL data; but it expected to see ping responses despite that, and would therefore disconnect - once elapsed. + once elapsed. @@ -8536,7 +8536,7 @@ Branch: REL9_3_STABLE [5a7e75849] 2014-02-20 10:46:54 +0200 - Add read-only parameter to + Add read-only parameter to display whether page checksums are enabled (Heikki Linnakangas) @@ -8677,7 +8677,7 @@ Branch: REL8_4_STABLE [6e6c2c2e1] 2014-03-15 13:36:57 -0400 This release contains a variety of fixes from 9.3.2. For information about new features in the 9.3 major release, see - . + . @@ -8706,7 +8706,7 @@ Branch: REL8_4_STABLE [6e6c2c2e1] 2014-03-15 13:36:57 -0400 Also, if you are upgrading from a version earlier than 9.3.2, - see . + see . @@ -8985,9 +8985,9 @@ Branch: REL9_3_STABLE [fb47de2be] 2014-02-13 19:30:30 -0300 freezing parameters were used for multixact IDs too; but since the consumption rates of transaction IDs and multixact IDs can be quite different, this did not work very well. Introduce new settings - , - , and - + , + , and + to control when to freeze multixacts. @@ -10139,7 +10139,7 @@ Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500 This release contains a variety of fixes from 9.3.1. For information about new features in the 9.3 major release, see - . + . @@ -10157,7 +10157,7 @@ Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500 Also, if you are upgrading from a version earlier than 9.3.1, - see . + see . @@ -10618,7 +10618,7 @@ SELECT ... FROM tab1 x CROSS JOIN (tab2 x CROSS JOIN tab3 y) z This release contains a variety of fixes from 9.3.0. For information about new features in the 9.3 major release, see - . + . diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index d8b6b1777c..4ecf90d691 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.4.14. For information about new features in the 9.4 major release, see - . + . @@ -24,7 +24,7 @@ However, if you are upgrading from a version earlier than 9.4.13, - see . + see . @@ -290,7 +290,7 @@ This release contains a small number of fixes from 9.4.13. For information about new features in the 9.4 major release, see - . + . @@ -302,7 +302,7 @@ However, if you are upgrading from a version earlier than 9.4.13, - see . + see . @@ -477,7 +477,7 @@ CREATE OR REPLACE VIEW table_privileges AS This release contains a variety of fixes from 9.4.12. For information about new features in the 9.4 major release, see - . + . @@ -494,7 +494,7 @@ CREATE OR REPLACE VIEW table_privileges AS Also, if you are upgrading from a version earlier than 9.4.12, - see . + see . @@ -706,7 +706,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Fix code for setting on + Fix code for setting on Solaris (Tom Lane) @@ -1039,7 +1039,7 @@ Branch: REL9_4_STABLE [23a2b818f] 2017-08-05 14:56:40 -0700 Fix pg_upgrade to ensure that the ending WAL record - does not have = minimum + does not have = minimum (Bruce Momjian) @@ -1150,7 +1150,7 @@ Branch: REL9_4_STABLE [23a2b818f] 2017-08-05 14:56:40 -0700 This release contains a variety of fixes from 9.4.11. For information about new features in the 9.4 major release, see - . + . @@ -1172,7 +1172,7 @@ Branch: REL9_4_STABLE [23a2b818f] 2017-08-05 14:56:40 -0700 Also, if you are upgrading from a version earlier than 9.4.11, - see . + see . @@ -1206,7 +1206,7 @@ Branch: REL9_4_STABLE [23a2b818f] 2017-08-05 14:56:40 -0700 By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, follow the corrected procedure shown in the changelog entry for - CVE-2017-7547, in . + CVE-2017-7547, in . @@ -1636,7 +1636,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 will use the current and historical DST transition dates of the US/Eastern zone. If you don't want that, remove the posixrules file, or replace it with a copy of some - other zone file (see ). Note that + other zone file (see ). Note that due to caching, you may need to restart the server to get such changes to take effect. @@ -1658,7 +1658,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 This release contains a variety of fixes from 9.4.10. For information about new features in the 9.4 major release, see - . + . @@ -1676,7 +1676,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 Also, if you are upgrading from a version earlier than 9.4.10, - see . + see . @@ -1724,7 +1724,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 - Previously, this was skipped when + Previously, this was skipped when = minimal, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. @@ -1797,7 +1797,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 Previously, non-default settings - of could result in broken + of could result in broken indexes. @@ -2191,7 +2191,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 This release contains a variety of fixes from 9.4.9. For information about new features in the 9.4 major release, see - . + . @@ -2209,7 +2209,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 Also, if you are upgrading from a version earlier than 9.4.6, - see . + see . @@ -2304,7 +2304,7 @@ Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400 Fix EXPLAIN to emit valid XML when - is on (Markus Winand) + is on (Markus Winand) @@ -2657,7 +2657,7 @@ Branch: REL9_4_STABLE [10ad15f48] 2016-09-01 11:45:16 -0400 This release contains a variety of fixes from 9.4.8. For information about new features in the 9.4 major release, see - . + . @@ -2669,7 +2669,7 @@ Branch: REL9_4_STABLE [10ad15f48] 2016-09-01 11:45:16 -0400 However, if you are upgrading from a version earlier than 9.4.6, - see . + see . @@ -3179,7 +3179,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 This release contains a variety of fixes from 9.4.7. For information about new features in the 9.4 major release, see - . + . @@ -3191,7 +3191,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 However, if you are upgrading from a version earlier than 9.4.6, - see . + see . @@ -3442,7 +3442,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 This release contains a variety of fixes from 9.4.6. For information about new features in the 9.4 major release, see - . + . @@ -3454,7 +3454,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 However, if you are upgrading from a version earlier than 9.4.6, - see . + see . @@ -3504,7 +3504,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 - Ignore parameter until + Ignore parameter until recovery has reached a consistent state (Michael Paquier) @@ -3713,7 +3713,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 This release contains a variety of fixes from 9.4.5. For information about new features in the 9.4 major release, see - . + . @@ -3731,7 +3731,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400 Also, if you are upgrading from a version earlier than 9.4.4, - see . + see . @@ -4810,7 +4810,7 @@ Branch: REL9_1_STABLE [386dcd539] 2015-12-11 19:08:40 -0500 This release contains a variety of fixes from 9.4.4. For information about new features in the 9.4 major release, see - . + . @@ -4822,7 +4822,7 @@ Branch: REL9_1_STABLE [386dcd539] 2015-12-11 19:08:40 -0500 However, if you are upgrading from a version earlier than 9.4.4, - see . + see . @@ -6333,7 +6333,7 @@ Branch: REL9_0_STABLE [47ac95f37] 2015-10-02 19:16:37 -0400 This release contains a small number of fixes from 9.4.3. For information about new features in the 9.4 major release, see - . + . @@ -6351,7 +6351,7 @@ Branch: REL9_0_STABLE [47ac95f37] 2015-10-02 19:16:37 -0400 Also, if you are upgrading from a version earlier than 9.4.2, - see . + see . @@ -6414,10 +6414,10 @@ Branch: REL9_3_STABLE [2a9b01928] 2015-06-05 09:34:15 -0400 Otherwise, for each table that has pg_class.relminmxid equal to 1, VACUUM that table with - both - and set to + both + and set to zero. (You can use the vacuum cost delay parameters described - in to reduce + in to reduce the performance consequences for concurrent sessions.) @@ -6514,7 +6514,7 @@ Branch: REL9_3_STABLE [d3fdec6ae] 2015-06-03 11:58:47 -0400 This release contains a small number of fixes from 9.4.2. For information about new features in the 9.4 major release, see - . + . @@ -6526,7 +6526,7 @@ Branch: REL9_3_STABLE [d3fdec6ae] 2015-06-03 11:58:47 -0400 However, if you are upgrading from a version earlier than 9.4.2, - see . + see . @@ -6657,7 +6657,7 @@ Branch: REL9_0_STABLE [b06649b7f] 2015-05-26 22:15:00 -0400 This release contains a variety of fixes from 9.4.1. For information about new features in the 9.4 major release, see - . + . @@ -6675,7 +6675,7 @@ Branch: REL9_0_STABLE [b06649b7f] 2015-05-26 22:15:00 -0400 Also, if you are upgrading from a version earlier than 9.4.1, - see . + see . @@ -7938,7 +7938,7 @@ Branch: REL9_0_STABLE [3c3749a3b] 2015-05-15 19:36:20 -0400 This release contains a variety of fixes from 9.4.0. For information about new features in the 9.4 major release, see - . + . @@ -8768,14 +8768,14 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add new SQL command + Add new SQL command for changing postgresql.conf configuration file entries - Reduce lock strength for some + Reduce lock strength for some commands @@ -8815,8 +8815,8 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Migration to Version 9.4 - A dump/restore using , or use - of , is required for those wishing to migrate + A dump/restore using , or use + of , is required for those wishing to migrate data from any previous release. @@ -8850,7 +8850,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Previously such values were rendered according to the current - setting; but many JSON processors + setting; but many JSON processors require timestamps to be in ISO 8601 format. If necessary, the previous behavior can be obtained by explicitly casting the datetime value to text before passing it to the JSON conversion @@ -8957,7 +8957,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - now also discards sequence-related state + now also discards sequence-related state (Fabrízio de Royes Mello, Robert Haas) @@ -9043,7 +9043,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 User commands that did their own quote preservation might need adjustment. This is likely to be an issue for commands used in - , , + , , and COPY TO/FROM PROGRAM. @@ -9112,7 +9112,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Change empty arrays returned by the module + Change empty arrays returned by the module to be zero-dimensional arrays (Bruce Momjian) @@ -9127,7 +9127,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - now uses + now uses or to specify the user name (Bruce Momjian) @@ -9188,7 +9188,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 This reduces the likelihood of leaving orphaned child processes - behind after shutdown, as well + behind after shutdown, as well as ensuring that crash recovery can proceed if some child processes have become stuck. @@ -9202,7 +9202,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Make properly report dead but + Make properly report dead but not-yet-removable rows to the statistics collector (Hari Babu) @@ -9225,9 +9225,9 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Indexes upgraded via will work fine + Indexes upgraded via will work fine but will still be in the old, larger GIN format. - Use to recreate old GIN indexes in the + Use to recreate old GIN indexes in the new format. @@ -9316,7 +9316,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Attempt to freeze tuples when tables are rewritten with or or VACUUM FULL (Robert Haas, Andres Freund) @@ -9328,7 +9328,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Improve speed of with default with default nextval() columns (Simon Riggs) @@ -9352,7 +9352,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Reduce memory allocated by PL/pgSQL - blocks (Tom Lane) + blocks (Tom Lane) @@ -9399,7 +9399,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add system view to + Add system view to report WAL archiver activity (Gabriele Bartolini) @@ -9408,13 +9408,13 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Add n_mod_since_analyze columns to - and related system views + and related system views (Mark Kirkwood) These columns expose the system's estimate of the number of changed - tuples since the table's last . This + tuples since the table's last . This estimate drives decisions about when to auto-analyze. @@ -9422,9 +9422,9 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Add backend_xid and backend_xmin - columns to the system view , + columns to the system view , and a backend_xmin column to - (Christian Kruse) + (Christian Kruse) @@ -9447,14 +9447,14 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 This allows use of Elliptic Curve keys for server authentication. Such keys are faster and have better security than RSA keys. The new configuration parameter - + controls which curve is used for ECDH. - Improve the default setting + Improve the default setting (Marko Kreen) @@ -9467,17 +9467,17 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Previously, the order specified by + Previously, the order specified by was usually ignored in favor of client-side defaults, which are not configurable in most PostgreSQL clients. If desired, the old behavior can be restored via the new configuration - parameter . + parameter . - Make show SSL + Make show SSL encryption information (Andreas Kunert) @@ -9500,7 +9500,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add new SQL command + Add new SQL command for changing postgresql.conf configuration file entries (Amit Kapila) @@ -9513,7 +9513,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add configuration parameter + Add configuration parameter to control the amount of memory used by autovacuum workers (Peter Geoghegan) @@ -9521,7 +9521,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add parameter to allow using huge + Add parameter to allow using huge memory pages on Linux (Christian Kruse, Richard Poole, Abhijit Menon-Sen) @@ -9533,7 +9533,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add parameter + Add parameter to limit the number of background workers (Robert Haas) @@ -9545,12 +9545,12 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add superuser-only + Add superuser-only parameter to load libraries at session start (Peter Eisentraut) - In contrast to , this + In contrast to , this parameter can load any shared library, not just those in the $libdir/plugins directory. @@ -9558,7 +9558,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add parameter to enable WAL + Add parameter to enable WAL logging of hint-bit changes (Sawada Masahiko) @@ -9571,8 +9571,8 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Increase the default settings of - and by four times (Bruce + Increase the default settings of + and by four times (Bruce Momjian) @@ -9584,7 +9584,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Increase the default setting of + linkend="guc-effective-cache-size"/> to 4GB (Bruce Momjian, Tom Lane) @@ -9592,7 +9592,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Allow printf-style space padding to be - specified in (David Rowley) + specified in (David Rowley) @@ -9606,7 +9606,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Show PIDs of lock holders and waiters and improve - information about relations in + information about relations in log messages (Christian Kruse) @@ -9626,7 +9626,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 On Windows, make SQL_ASCII-encoded databases and server - processes (e.g., ) emit messages in + processes (e.g., ) emit messages in the character encoding of the server's Windows user locale (Alexander Law, Noah Misch) @@ -9664,7 +9664,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add recovery parameter + Add recovery parameter to delay replication (Robert Haas, Fabrízio de Royes Mello, Simon Riggs) @@ -9677,7 +9677,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add + Add option to stop WAL recovery as soon as a consistent state is reached (MauMau, Heikki Linnakangas) @@ -9764,7 +9764,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add new setting + Add new setting to enable logical change-set encoding in WAL (Andres Freund) @@ -9789,14 +9789,14 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add application to receive + Add application to receive logical-decoding data (Andres Freund) - Add module to illustrate logical + Add module to illustrate logical decoding at the SQL level (Andres Freund) @@ -9836,7 +9836,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Allow to have + Allow to have an empty target list (Tom Lane) @@ -9906,7 +9906,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="sql-explain"> + <xref linkend="sql-explain"/> @@ -9979,7 +9979,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - This is controlled with the new + This is controlled with the new clause WITH CHECK OPTION. @@ -10013,22 +10013,22 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Allow moving groups of objects from one tablespace to another using the ALL IN TABLESPACE ... SET TABLESPACE form of - , , or - (Stephen Frost) + , , or + (Stephen Frost) Allow changing foreign key constraint deferrability - via ... ALTER + via ... ALTER CONSTRAINT (Simon Riggs) - Reduce lock strength for some + Reduce lock strength for some commands (Simon Riggs, Noah Misch, Robert Haas) @@ -10046,18 +10046,18 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Allow tablespace options to be set - in (Vik Fearing) + in (Vik Fearing) Formerly these options could only be set - via . + via . - Allow to define the estimated + Allow to define the estimated size of the aggregate's transition state data (Hadi Moshayedi) @@ -10544,14 +10544,14 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add option + Add option to specify role membership (Christopher Browne) - Add + Add option to analyze in stages of increasing granularity (Peter Eisentraut) @@ -10571,7 +10571,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Make throw error for incorrect locale + Make throw error for incorrect locale settings, rather than silently falling back to a default choice (Tom Lane) @@ -10579,7 +10579,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Make return exit code 4 for + Make return exit code 4 for an inaccessible data directory (Amit Kapila, Bruce Momjian) @@ -10593,7 +10593,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 On Windows, ensure that a non-absolute path specification is interpreted relative - to 's current directory + to 's current directory (Kumar Rajeev Rastogi) @@ -10621,7 +10621,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="app-psql"> + <xref linkend="app-psql"/> @@ -10753,13 +10753,13 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="app-pgdump"> + <xref linkend="app-pgdump"/> - Allow options + Allow options , , and to be specified multiple times (Heikki Linnakangas) @@ -10779,8 +10779,8 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 This change prevents unnecessary errors when removing old objects. The new option - for , , - and is only available + for , , + and is only available when is also specified. @@ -10790,7 +10790,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="app-pgbasebackup"> + <xref linkend="app-pgbasebackup"/> @@ -11081,7 +11081,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add extension to preload relation data + Add extension to preload relation data into the shared buffer cache at server start (Robert Haas) @@ -11093,19 +11093,19 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Add UUID random number generator - gen_random_uuid() to + gen_random_uuid() to (Oskari Saarenmaa) This allows creation of version 4 UUIDs without - requiring installation of . + requiring installation of . - Allow to work with + Allow to work with the BSD or e2fsprogs UUID libraries, not only the OSSP UUID library (Matteo Beccati) @@ -11120,21 +11120,21 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Add option to to include trigger + Add option to to include trigger execution time (Horiguchi Kyotaro) - Fix to not report rows from + Fix to not report rows from uncommitted transactions as dead (Robert Haas) - Make functions + Make functions use regclass-type arguments (Satoshi Nagayasu) @@ -11146,14 +11146,14 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Improve consistency of output to honor + Improve consistency of output to honor snapshot rules more consistently (Robert Haas) - Improve 's choice of trigrams for indexed + Improve 's choice of trigrams for indexed regular expression searches (Alexander Korotkov) @@ -11173,7 +11173,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Store data more compactly (Stas Kelvich) + Store data more compactly (Stas Kelvich) @@ -11184,7 +11184,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - Reduce client-side memory usage by using + Reduce client-side memory usage by using a cursor (Andrew Dunstan) @@ -11192,13 +11192,13 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 Dramatically reduce memory consumption - in (Bruce Momjian) + in (Bruce Momjian) - Pass 's user name () option to + Pass 's user name () option to generated analyze scripts (Bruce Momjian) @@ -11206,7 +11206,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="pgbench"> + <xref linkend="pgbench"/> @@ -11247,7 +11247,7 @@ Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500 - <xref linkend="pgstatstatements"> + <xref linkend="pgstatstatements"/> diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index a1e68ba283..d79d953d51 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.5.9. For information about new features in the 9.5 major release, see - . + . @@ -28,7 +28,7 @@ Also, if you are upgrading from a version earlier than 9.5.8, - see . + see . @@ -373,7 +373,7 @@ This release contains a small number of fixes from 9.5.8. For information about new features in the 9.5 major release, see - . + . @@ -385,7 +385,7 @@ However, if you are upgrading from a version earlier than 9.5.8, - see . + see . @@ -550,7 +550,7 @@ CREATE OR REPLACE VIEW table_privileges AS This release contains a variety of fixes from 9.5.7. For information about new features in the 9.5 major release, see - . + . @@ -567,7 +567,7 @@ CREATE OR REPLACE VIEW table_privileges AS Also, if you are upgrading from a version earlier than 9.5.7, - see . + see . @@ -792,7 +792,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; - Fix code for setting on + Fix code for setting on Solaris (Tom Lane) @@ -1132,7 +1132,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Fix pg_upgrade to ensure that the ending WAL record - does not have = minimum + does not have = minimum (Bruce Momjian) @@ -1257,7 +1257,7 @@ Branch: REL9_2_STABLE [1188b9b2c] 2017-08-02 15:07:21 -0400 This release contains a variety of fixes from 9.5.6. For information about new features in the 9.5 major release, see - . + . @@ -1279,7 +1279,7 @@ Branch: REL9_2_STABLE [1188b9b2c] 2017-08-02 15:07:21 -0400 Also, if you are upgrading from a version earlier than 9.5.6, - see . + see . @@ -1313,7 +1313,7 @@ Branch: REL9_2_STABLE [1188b9b2c] 2017-08-02 15:07:21 -0400 By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, follow the corrected procedure shown in the changelog entry for - CVE-2017-7547, in . + CVE-2017-7547, in . @@ -1804,7 +1804,7 @@ Branch: REL9_3_STABLE [3aa16b117] 2017-05-06 22:17:35 -0400 will use the current and historical DST transition dates of the US/Eastern zone. If you don't want that, remove the posixrules file, or replace it with a copy of some - other zone file (see ). Note that + other zone file (see ). Note that due to caching, you may need to restart the server to get such changes to take effect. @@ -1826,7 +1826,7 @@ Branch: REL9_3_STABLE [3aa16b117] 2017-05-06 22:17:35 -0400 This release contains a variety of fixes from 9.5.5. For information about new features in the 9.5 major release, see - . + . @@ -1844,7 +1844,7 @@ Branch: REL9_3_STABLE [3aa16b117] 2017-05-06 22:17:35 -0400 Also, if you are upgrading from a version earlier than 9.5.5, - see . + see . @@ -1904,7 +1904,7 @@ Branch: REL9_3_STABLE [3aa16b117] 2017-05-06 22:17:35 -0400 - Previously, this was skipped when + Previously, this was skipped when = minimal, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. @@ -1982,7 +1982,7 @@ Branch: REL9_4_STABLE [30e3cb307] 2016-11-17 13:31:30 -0300 Previously, non-default settings - of could result in broken + of could result in broken indexes. @@ -2488,7 +2488,7 @@ Branch: REL9_2_STABLE [60314e28e] 2016-12-13 19:08:09 -0600 This release contains a variety of fixes from 9.5.4. For information about new features in the 9.5 major release, see - . + . @@ -2506,7 +2506,7 @@ Branch: REL9_2_STABLE [60314e28e] 2016-12-13 19:08:09 -0600 Also, if you are upgrading from a version earlier than 9.5.2, - see . + see . @@ -2677,7 +2677,7 @@ Branch: REL9_4_STABLE [566afa15c] 2016-08-24 22:20:01 -0400 Fix EXPLAIN to emit valid XML when - is on (Markus Winand) + is on (Markus Winand) @@ -2802,7 +2802,7 @@ Branch: REL9_1_STABLE [7e01c8ef3] 2016-08-14 15:06:02 -0400 - With turned on, old + With turned on, old commit timestamps became inaccessible after a clean server restart. @@ -3312,7 +3312,7 @@ Branch: REL9_1_STABLE [380dad29d] 2016-09-02 17:29:32 -0400 This release contains a variety of fixes from 9.5.3. For information about new features in the 9.5 major release, see - . + . @@ -3324,7 +3324,7 @@ Branch: REL9_1_STABLE [380dad29d] 2016-09-02 17:29:32 -0400 However, if you are upgrading from a version earlier than 9.5.2, - see . + see . @@ -4385,7 +4385,7 @@ Branch: REL9_1_STABLE [a44388ffe] 2016-08-05 12:59:02 -0400 This release contains a variety of fixes from 9.5.2. For information about new features in the 9.5 major release, see - . + . @@ -4397,7 +4397,7 @@ Branch: REL9_1_STABLE [a44388ffe] 2016-08-05 12:59:02 -0400 However, if you are upgrading from a version earlier than 9.5.2, - see . + see . @@ -4484,7 +4484,7 @@ Branch: REL9_5_STABLE [81deadd31] 2016-04-21 23:17:36 -0400 --> Fix corner-case parser failures occurring - when is turned on + when is turned on (Tom Lane) @@ -4886,7 +4886,7 @@ Branch: REL9_1_STABLE [bfc39da64] 2016-05-05 20:09:32 -0400 This release contains a variety of fixes from 9.5.1. For information about new features in the 9.5 major release, see - . + . @@ -5170,7 +5170,7 @@ Branch: REL9_4_STABLE [a9613ee69] 2016-03-06 02:43:26 +0900 - Ignore parameter until + Ignore parameter until recovery has reached a consistent state (Michael Paquier) @@ -5597,7 +5597,7 @@ Branch: REL9_1_STABLE [e5fd35cc5] 2016-03-25 19:03:54 -0400 This release contains a variety of fixes from 9.5.0. For information about new features in the 9.5 major release, see - . + . @@ -6116,8 +6116,8 @@ Branch: REL9_1_STABLE [6887d72d0] 2016-02-05 10:59:39 -0500 Migration to Version 9.5 - A dump/restore using , or use - of , is required for those wishing to migrate + A dump/restore using , or use + of , is required for those wishing to migrate data from any previous release. @@ -6150,7 +6150,7 @@ Branch: REL9_1_STABLE [6887d72d0] 2016-02-05 10:59:39 -0500 before they had inconsistent precedence, behaving like NOT with respect to their left operand but like their base operator with respect to their right operand. The new configuration - parameter can be + parameter can be enabled to warn about queries in which these precedence changes result in different parsing choices. @@ -6161,7 +6161,7 @@ Branch: REL9_1_STABLE [6887d72d0] 2016-02-05 10:59:39 -0500 2015-03-31 [0badb06] Bruce ..: pg_ctl: change default shutdown mode from 'sma.. --> - Change 's default shutdown mode from + Change 's default shutdown mode from smart to fast (Bruce Momjian) @@ -6229,8 +6229,8 @@ Branch: REL9_1_STABLE [6887d72d0] 2016-02-05 10:59:39 -0500 --> Replace configuration parameter checkpoint_segments - with - and (Heikki Linnakangas) + with + and (Heikki Linnakangas) @@ -6409,14 +6409,14 @@ max_wal_size = (3 * checkpoint_segments) * 16MB Add GUC and storage parameter to set the maximum size of GIN pending list. --> - Add configuration parameter + Add configuration parameter to control the size of GIN pending lists (Fujii Masao) This value can also be set on a per-index basis as an index storage parameter. Previously the pending-list size was controlled - by , which was awkward because + by , which was awkward because appropriate values for work_mem are often much too large for this purpose. @@ -6654,7 +6654,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2014-06-29 [51adcaa] Andres..: Add cluster_name GUC which is included in proce.. --> - Add new configuration parameter + Add new configuration parameter (Thomas Munro) @@ -6673,7 +6673,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. --> Prevent non-superusers from changing on connection startup (Fujii Masao) + linkend="guc-log-disconnections"/> on connection startup (Fujii Masao) @@ -6768,8 +6768,8 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. --> Replace configuration parameter checkpoint_segments - with - and (Heikki Linnakangas) + with + and (Heikki Linnakangas) @@ -6812,7 +6812,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. Allow recording of transaction commit time stamps when configuration parameter + linkend="guc-track-commit-timestamp"/> is enabled (Álvaro Herrera, Petr Jelínek) @@ -6828,7 +6828,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2014-12-22 [584e35d] Peter ..: Change local_preload_libraries to PGC_USERSET --> - Allow to be set + Allow to be set by ALTER ROLE SET (Peter Eisentraut, Kyotaro Horiguchi) @@ -6849,7 +6849,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2014-06-20 [3bdcf6a] Andres..: Don't allow to disable backend assertions via t.. --> - Make configuration parameter + Make configuration parameter read-only (Andres Freund) @@ -6866,7 +6866,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2014-10-18 [7feaccc] Peter ..: Allow setting effective_io_concurrency even on.. --> - Allow setting on + Allow setting on systems where it has no effect (Peter Eisentraut) @@ -6977,7 +6977,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2015-05-15 [ffd3774] Heikki..: Add archive_mode='always' option. --> - Add new value + Add new value always to allow standbys to always archive received WAL files (Fujii Masao) @@ -6989,7 +6989,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. --> Add configuration - parameter to + parameter to control WAL read retry after failure (Alexey Vasiliev, Michael Paquier) @@ -7011,7 +7011,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. This feature reduces WAL volume, at the cost of more CPU time spent on WAL logging and WAL replay. It is controlled by a new - configuration parameter , which + configuration parameter , which currently is off by default. @@ -7032,14 +7032,14 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. --> Add configuration parameter + linkend="guc-log-replication-commands"/> to log replication commands (Fujii Masao) By default, replication commands, e.g. IDENTIFY_SYSTEM, - are not logged, even when is set + are not logged, even when is set to all. @@ -7219,7 +7219,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="sql-reindex"> + <xref linkend="sql-reindex"/> @@ -7347,8 +7347,8 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. This feature is now supported in - , , - , , + , , + , , and ALTER object OWNER TO commands. @@ -7436,7 +7436,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. 2014-07-10 [59efda3] Tom Lane: Implement IMPORT FOREIGN SCHEMA. --> - Add support for + Add support for (Ronan Dunklau, Michael Paquier, Tom Lane) @@ -8190,7 +8190,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="app-psql"> + <xref linkend="app-psql"/> @@ -8289,7 +8289,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. --> Add psql tab completion when setting the - variable (Jeff Janes) + variable (Jeff Janes) @@ -8406,7 +8406,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="app-pgdump"> + <xref linkend="app-pgdump"/> @@ -8474,7 +8474,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="app-pg-ctl"> + <xref linkend="app-pg-ctl"/> @@ -8525,7 +8525,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="pgupgrade"> + <xref linkend="pgupgrade"/> @@ -8580,7 +8580,7 @@ Add GUC and storage parameter to set the maximum size of GIN pending list. - <xref linkend="pgbench"> + <xref linkend="pgbench"/> diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index 65df3113c2..ce040f1a5a 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -12,7 +12,7 @@ This release contains a variety of fixes from 9.6.5. For information about new features in the 9.6 major release, see - . + . @@ -28,7 +28,7 @@ Also, if you are upgrading from a version earlier than 9.6.4, - see . + see . @@ -591,7 +591,7 @@ Branch: REL9_2_STABLE [1317d1301] 2017-10-23 17:54:09 -0400 This release contains a small number of fixes from 9.6.4. For information about new features in the 9.6 major release, see - . + . @@ -603,7 +603,7 @@ Branch: REL9_2_STABLE [1317d1301] 2017-10-23 17:54:09 -0400 However, if you are upgrading from a version earlier than 9.6.4, - see . + see . @@ -870,7 +870,7 @@ Branch: REL9_5_STABLE [a784d5f21] 2017-08-09 12:06:14 -0400 This release contains a variety of fixes from 9.6.3. For information about new features in the 9.6 major release, see - . + . @@ -887,7 +887,7 @@ Branch: REL9_5_STABLE [a784d5f21] 2017-08-09 12:06:14 -0400 Also, if you are upgrading from a version earlier than 9.6.3, - see . + see . @@ -1217,7 +1217,7 @@ Branch: REL9_3_STABLE [cc154d9a0] 2017-06-28 12:30:16 -0400 Branch: REL9_2_STABLE [5e7447132] 2017-06-28 12:30:16 -0400 --> - Fix code for setting on + Fix code for setting on Solaris (Tom Lane) @@ -1950,7 +1950,7 @@ Branch: REL9_2_STABLE [65beccae5] 2017-06-20 13:20:02 -0400 --> Fix pg_upgrade to ensure that the ending WAL record - does not have = minimum + does not have = minimum (Bruce Momjian) @@ -2151,7 +2151,7 @@ Branch: REL9_4_STABLE [9c3f502b4] 2017-07-16 11:27:15 -0400 This release contains a variety of fixes from 9.6.2. For information about new features in the 9.6 major release, see - . + . @@ -2173,7 +2173,7 @@ Branch: REL9_4_STABLE [9c3f502b4] 2017-07-16 11:27:15 -0400 Also, if you are upgrading from a version earlier than 9.6.2, - see . + see . @@ -2216,7 +2216,7 @@ Branch: REL9_2_STABLE [99cbb0bd9] 2017-05-08 07:24:28 -0700 By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, follow the corrected procedure shown in the changelog entry for - CVE-2017-7547, in . + CVE-2017-7547, in . @@ -3181,7 +3181,7 @@ Branch: REL9_2_STABLE [82e7d3dfd] 2017-05-07 11:57:41 -0400 will use the current and historical DST transition dates of the US/Eastern zone. If you don't want that, remove the posixrules file, or replace it with a copy of some - other zone file (see ). Note that + other zone file (see ). Note that due to caching, you may need to restart the server to get such changes to take effect. @@ -3203,7 +3203,7 @@ Branch: REL9_2_STABLE [82e7d3dfd] 2017-05-07 11:57:41 -0400 This release contains a variety of fixes from 9.6.1. For information about new features in the 9.6 major release, see - . + . @@ -3221,7 +3221,7 @@ Branch: REL9_2_STABLE [82e7d3dfd] 2017-05-07 11:57:41 -0400 Also, if you are upgrading from a version earlier than 9.6.1, - see . + see . @@ -3312,7 +3312,7 @@ Branch: REL9_2_STABLE [a00ac6299] 2016-12-08 14:19:25 -0500 - Previously, this was skipped when + Previously, this was skipped when = minimal, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. @@ -3396,7 +3396,7 @@ Branch: REL9_6_STABLE [6c75fb6b3] 2016-12-17 02:25:47 +0900 --> Disallow setting the num_sync field to zero in - (Fujii Masao) + (Fujii Masao) @@ -3475,7 +3475,7 @@ Branch: REL9_2_STABLE [05975ab0a] 2016-11-23 13:45:56 -0500 Previously, non-default settings - of could result in broken + of could result in broken indexes. @@ -4620,7 +4620,7 @@ Branch: REL9_2_STABLE [ef878cc2c] 2017-01-30 11:41:09 -0500 This release contains a variety of fixes from 9.6.0. For information about new features in the 9.6 major release, see - . + . @@ -4781,7 +4781,7 @@ Branch: REL9_2_STABLE [f17c26dbd] 2016-10-20 17:18:14 -0400 --> Fix EXPLAIN to emit valid XML when - is on (Markus Winand) + is on (Markus Winand) @@ -4899,7 +4899,7 @@ Branch: REL9_5_STABLE [7a2fa5774] 2016-10-24 09:38:28 -0300 - With turned on, old + With turned on, old commit timestamps became inaccessible after a clean server restart. @@ -5275,8 +5275,8 @@ Branch: REL9_1_STABLE [22cf97635] 2016-10-19 17:57:06 -0400 Migration to Version 9.6 - A dump/restore using , or use of , is required for those wishing to migrate data + A dump/restore using , or use of , is required for those wishing to migrate data from any previous release. @@ -5593,12 +5593,12 @@ and many others in the same vein Parallel query execution is not (yet) enabled by default. To allow it, set the new configuration - parameter to a + parameter to a value larger than zero. Additional control over use of parallelism is available through other new configuration parameters - , - , , and + , + , , and min_parallel_relation_size. @@ -5628,7 +5628,7 @@ and many others in the same vein --> Allow GIN index builds to - make effective use of + make effective use of settings larger than 1 GB (Robert Abraham, Teodor Sigaev) @@ -5991,7 +5991,7 @@ and many others in the same vein time can thus cause considerable table bloat because space cannot be recycled. This feature allows setting a time-based limit, via the new configuration parameter - , on how long an + , on how long an MVCC snapshot is guaranteed to be valid. After that, dead tuples are candidates for removal. A transaction using an outdated snapshot will get an error if it attempts to read a page @@ -6094,10 +6094,10 @@ and many others in the same vein The new configuration parameters , , , and control this behavior. + linkend="guc-backend-flush-after"/>, , , and control this behavior. @@ -6249,7 +6249,7 @@ and many others in the same vein 2016-08-17 [9b33c7e80] Disable update_process_title by default on Windows --> - Disable by default on + Disable by default on Windows (Takayuki Tsunakawa) @@ -6497,7 +6497,7 @@ and many others in the same vein This behavior is controlled by the new configuration parameter - . It can + . It can be useful to prevent forgotten transactions from holding locks or preventing vacuum cleanup for too long. @@ -6509,7 +6509,7 @@ and many others in the same vein --> Raise the maximum allowed value - of to 24 hours (Simon Riggs) + of to 24 hours (Simon Riggs) @@ -6530,7 +6530,7 @@ and many others in the same vein 2015-09-07 [b1e1862a1] Coordinate log_line_prefix options 'm' and 'n' to share --> - Add option %n to + Add option %n to print the current time in Unix epoch form, with milliseconds (Tomas Vondra, Jeff Davis) @@ -6542,8 +6542,8 @@ and many others in the same vein 2016-03-16 [fc201dfd9] Add syslog_split_messages parameter --> - Add and configuration parameters + Add and configuration parameters to provide more control over the message format when logging to syslog (Peter Eisentraut) @@ -6555,7 +6555,7 @@ and many others in the same vein --> Merge the archive and hot_standby values - of the configuration parameter + of the configuration parameter into a single new value replica (Peter Eisentraut) @@ -6717,7 +6717,7 @@ XXX this is pending backpatch, may need to remove The number of standby servers that must acknowledge a commit before it is considered complete is now configurable as part of - the parameter. + the parameter. @@ -6727,7 +6727,7 @@ XXX this is pending backpatch, may need to remove --> Add new setting remote_apply for configuration - parameter (Thomas Munro) + parameter (Thomas Munro) @@ -7871,7 +7871,7 @@ This commit is also listed under psql and PL/pgSQL - <xref linkend="app-psql"> + <xref linkend="app-psql"/> @@ -8073,7 +8073,7 @@ This commit is also listed under libpq and PL/pgSQL - <xref linkend="pgbench"> + <xref linkend="pgbench"/> diff --git a/doc/src/sgml/release-old.sgml b/doc/src/sgml/release-old.sgml index e95e5cac24..d55209d85b 100644 --- a/doc/src/sgml/release-old.sgml +++ b/doc/src/sgml/release-old.sgml @@ -26,7 +26,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -131,7 +131,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -193,7 +193,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -249,7 +249,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -310,7 +310,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -366,7 +366,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -409,7 +409,7 @@ A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -500,7 +500,7 @@ Fuhr) A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, - see . + see . @@ -557,7 +557,7 @@ and isinf during configure (Tom) A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, - see . + see . Also, you might need to REINDEX indexes on textual columns after updating, if you are affected by the locale or plperl issues described below. @@ -619,7 +619,7 @@ what's actually returned by the query (Joe) A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, - see . + see . @@ -666,7 +666,7 @@ table has been dropped A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, - see . + see . diff --git a/doc/src/sgml/replication-origins.sgml b/doc/src/sgml/replication-origins.sgml index 317ca9a1df..a03ce76e2e 100644 --- a/doc/src/sgml/replication-origins.sgml +++ b/doc/src/sgml/replication-origins.sgml @@ -83,7 +83,7 @@ replication and inefficiencies. Replication origins provide an optional mechanism to recognize and prevent that. When configured using the functions referenced in the previous paragraph, every change and transaction passed to - output plugin callbacks (see ) + output plugin callbacks (see ) generated by the session is tagged with the replication origin of the generating session. This allows treating them differently in the output plugin, e.g. ignoring all but locally-originating rows. Additionally diff --git a/doc/src/sgml/rowtypes.sgml b/doc/src/sgml/rowtypes.sgml index f80d44bc75..3f24293175 100644 --- a/doc/src/sgml/rowtypes.sgml +++ b/doc/src/sgml/rowtypes.sgml @@ -129,7 +129,7 @@ CREATE TABLE inventory_item ( (These constants are actually only a special case of the generic type constants discussed in . The constant is initially + linkend="sql-syntax-constants-generic"/>. The constant is initially treated as a string and passed to the composite-type input conversion routine. An explicit type specification might be necessary to tell which type to convert the constant to.) @@ -152,7 +152,7 @@ ROW('', 42, NULL) ('', 42, NULL) The ROW expression syntax is discussed in more detail in . + linkend="sql-syntax-row-constructors"/>. @@ -204,7 +204,7 @@ SELECT (my_func(...)).field FROM ... The special field name * means all fields, as - further explained in . + further explained in . @@ -384,7 +384,7 @@ SELECT * FROM inventory_item c ORDER BY ROW(c.*); All of these ORDER BY clauses specify the row's composite value, resulting in sorting the rows according to the rules described - in . However, + in . However, if inventory_item contained a column named c, the first case would be different from the others, as it would mean to sort by that column only. Given the column @@ -517,7 +517,7 @@ INSERT ... VALUES (E'("\\"\\\\")'); with a data type whose input routine also treated backslashes specially, bytea for example, we might need as many as eight backslashes in the command to get one backslash into the stored composite field.) - Dollar quoting (see ) can be + Dollar quoting (see ) can be used to avoid the need to double backslashes. diff --git a/doc/src/sgml/rules.sgml b/doc/src/sgml/rules.sgml index 819f2a8294..2074fcca8e 100644 --- a/doc/src/sgml/rules.sgml +++ b/doc/src/sgml/rules.sgml @@ -29,8 +29,8 @@ execution. It is very powerful, and can be used for many things such as query language procedures, views, and versions. The theoretical foundations and the power of this rule system are - also discussed in and . + also discussed in and . @@ -172,7 +172,7 @@ to allow the executor to find the row to be deleted. (CTID is added when the result relation is an ordinary table. If it is a view, a whole-row variable is added instead, - as described in .) + as described in .) @@ -823,7 +823,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a; the base relation in the appropriate way. Views that are simple enough for this are called automatically updatable. For detailed information on the kinds of view that can - be automatically updated, see . + be automatically updated, see . @@ -862,7 +862,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a; UPDATE, and DELETE commands on a view. These rules will rewrite the command, typically into a command that updates one or more tables, rather than views. That is the topic - of . + of . diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index c8bc684c0e..a2ebd3e21c 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -60,7 +60,7 @@ during initialization is called template1. As the name suggests, this will be used as a template for subsequently created databases; it should not be - used for actual work. (See for + used for actual work. (See for information about creating new databases within a cluster.) @@ -73,7 +73,7 @@ /usr/local/pgsql/data or /var/lib/pgsql/data are popular. To initialize a database cluster, use the command ,initdb which is + linkend="app-initdb"/>,initdb which is installed with PostgreSQL. The desired file system location of your database cluster is indicated by the option, for example: @@ -95,14 +95,14 @@ Alternatively, you can run initdb via - the + the programpg_ctl like so: $ pg_ctl -D /usr/local/pgsql/data initdb This may be more intuitive if you are using pg_ctl for starting and stopping the - server (see ), so + server (see ), so that pg_ctl would be the sole command you use for managing the database server instance. @@ -158,7 +158,7 @@ postgres$ initdb -D /usr/local/pgsql/data before you start the server for the first time. (Other reasonable approaches include using peer authentication or file system permissions to restrict connections. See for more information.) + linkend="client-authentication"/> for more information.) @@ -167,7 +167,7 @@ postgres$ initdb -D /usr/local/pgsql/data Normally, it will just take the locale settings in the environment and apply them to the initialized database. It is possible to specify a different locale for the database; more information about - that can be found in . The default sort order used + that can be found in . The default sort order used within the particular database cluster is set by initdb, and while you can create new databases using different sort order, the order used in the template databases that initdb @@ -180,7 +180,7 @@ postgres$ initdb -D /usr/local/pgsql/data initdb also sets the default character set encoding for the database cluster. Normally this should be chosen to match the - locale setting. For details see . + locale setting. For details see . @@ -284,21 +284,21 @@ $ postgres -D /usr/local/pgsql/data >logfile 2>&1 &stdout and stderr output somewhere, as shown above. It will help for auditing purposes and to diagnose problems. (See for a more thorough discussion of log + linkend="logfile-maintenance"/> for a more thorough discussion of log file handling.) The postgres program also takes a number of other command-line options. For more information, see the - reference page - and below. + reference page + and below. This shell syntax can get tedious quickly. Therefore the wrapper program - pg_ctl + pg_ctl is provided to simplify some tasks. For example: pg_ctl start -l logfile @@ -494,7 +494,7 @@ DETAIL: Failed system call was shmget(key=5440001, size=4011376640, 03600). mean that you do not have System-V-style shared memory support configured into your kernel at all. As a temporary workaround, you can try starting the server with a smaller-than-normal number of - buffers (). You will eventually want + buffers (). You will eventually want to reconfigure your kernel to increase the allowed shared memory size. You might also see this message when trying to start multiple servers on the same machine, if their total space requested @@ -513,7 +513,7 @@ DETAIL: Failed system call was semget(5440126, 17, 03600). PostgreSQL wants to create. As above, you might be able to work around the problem by starting the server with a reduced number of allowed connections - (), but you'll eventually want to + (), but you'll eventually want to increase the kernel limit. @@ -526,7 +526,7 @@ DETAIL: Failed system call was semget(5440126, 17, 03600). Details about configuring System V - IPC facilities are given in . + IPC facilities are given in . @@ -574,7 +574,7 @@ psql: could not connect to server: No such file or directory does not mean that the server got your connection request and rejected it. That case will produce a different message, as shown in .) Other error messages + linkend="client-authentication-problems"/>.) Other error messages such as Connection timed out might indicate more fundamental problems, like lack of network connectivity. @@ -648,9 +648,9 @@ psql: could not connect to server: No such file or directory the server will refuse to start and should leave an instructive error message describing the problem and what to do about it. (See also .) The relevant kernel + linkend="server-start-failures"/>.) The relevant kernel parameters are named consistently across different systems; gives an overview. The methods to set + linkend="sysvipc-parameters"/> gives an overview. The methods to set them, however, vary. Suggestions for some platforms are given below. @@ -756,9 +756,9 @@ psql: could not connect to server: No such file or directory When using System V semaphores, PostgreSQL uses one semaphore per allowed connection - (), allowed autovacuum worker process - () and allowed background - process (), in sets of 16. + (), allowed autovacuum worker process + () and allowed background + process (), in sets of 16. Each such set will also contain a 17th semaphore which contains a magic number, to detect collision with semaphore sets used by @@ -768,7 +768,7 @@ psql: could not connect to server: No such file or directory autovacuum_max_workers plus max_worker_processes, plus one extra for each 16 allowed connections plus workers (see the formula in ). The parameter SEMMNI + linkend="sysvipc-parameters"/>). The parameter SEMMNI determines the limit on the number of semaphore sets that can exist on the system at one time. Hence this parameter must be at least ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16). @@ -800,9 +800,9 @@ psql: could not connect to server: No such file or directory When using POSIX semaphores, the number of semaphores needed is the same as for System V, that is one semaphore per allowed connection - (), allowed autovacuum worker process - () and allowed background - process (). + (), allowed autovacuum worker process + () and allowed background + process (). On the platforms where this option is preferred, there is no specific kernel limit on the number of POSIX semaphores. @@ -1321,7 +1321,7 @@ default:\ processes do so then the system-wide limit can easily be exceeded. If you find this happening, and you do not want to alter the system-wide limit, you can set PostgreSQL's configuration parameter to + linkend="guc-max-files-per-process"/> configuration parameter to limit the consumption of open files. @@ -1465,7 +1465,7 @@ export PG_OOM_ADJUST_VALUE=0 Using huge pages reduces overhead when using large contiguous chunks of memory, as PostgreSQL does, particularly when - using large values of . To use this + using large values of . To use this feature in PostgreSQL you need a kernel with CONFIG_HUGETLBFS=y and CONFIG_HUGETLB_PAGE=y. You will also have to adjust @@ -1517,7 +1517,7 @@ $ grep Huge /proc/meminfo The default behavior for huge pages in PostgreSQL is to use them when possible and to fall back to normal pages when failing. To enforce the use of huge - pages, you can set + pages, you can set to on in postgresql.conf. Note that with this setting PostgreSQL will fail to start if not enough huge pages are available. @@ -1600,7 +1600,7 @@ $ grep Huge /proc/meminfo - The program provides a convenient + The program provides a convenient interface for sending these signals to shut down the server. Alternatively, you can send the signal directly using kill on non-Windows systems. @@ -1629,7 +1629,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid` To terminate an individual session while allowing other sessions to continue, use pg_terminate_backend() (see ) or send a + linkend="functions-admin-signal-table"/>) or send a SIGTERM signal to the child process associated with the session. @@ -1680,7 +1680,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`. Replication methods are + faster method is . Replication methods are also available, as discussed below. @@ -1688,7 +1688,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`); pay particular attention to the section + linkend="release"/>); pay particular attention to the section labeled "Migration". If you are upgrading across several major versions, be sure to read the release notes for each intervening version. @@ -1794,7 +1794,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`/usr/local/pgsql/data/pg_hba.conf (or equivalent) to disallow access from everyone except you. - See for additional information on + See for additional information on access control. @@ -1813,7 +1813,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid` To make the backup, you can use the pg_dumpall command from the version you are currently running; see for more details. For best + linkend="backup-dump-all"/> for more details. For best results, however, try to use the pg_dumpall command from PostgreSQL &version;, since this version contains bug fixes and improvements over older @@ -1839,7 +1839,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid` /etc/rc.d/init.d/postgresql stop - See for details about starting and + See for details about starting and stopping the server. @@ -1863,7 +1863,7 @@ $ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid` Install the new version of PostgreSQL as - outlined in . + outlined in . @@ -1923,7 +1923,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 Upgrading Data via <application>pg_upgrade</application> - The module allows an installation to + The module allows an installation to be migrated in-place from one major PostgreSQL version to another. Upgrades can be performed in minutes, particularly with mode. It requires steps similar to @@ -1975,7 +1975,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 One way to prevent spoofing of local connections is to use a Unix domain socket directory () that has write permission only + linkend="guc-unix-socket-directories"/>) that has write permission only for a trusted local user. This prevents a malicious user from creating their own socket file in that directory. If you are concerned that some applications might still reference /tmp for the @@ -1997,11 +1997,11 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 SSL certificates and make sure that clients check the server's certificate. To do that, the server must be configured to accept only hostssl connections () and have SSL key and certificate files - (). The TCP client must connect using + linkend="auth-pg-hba-conf"/>) and have SSL key and certificate files + (). The TCP client must connect using sslmode=verify-ca or verify-full and have the appropriate root certificate - file installed (). + file installed (). @@ -2042,7 +2042,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 - The module allows certain fields to be + The module allows certain fields to be stored encrypted. This is useful if only some of the data is sensitive. The client supplies the decryption key and the data is decrypted @@ -2171,19 +2171,19 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 for increased security. This requires that OpenSSL is installed on both client and server systems and that support in PostgreSQL is - enabled at build time (see ). + enabled at build time (see ). With SSL support compiled in, the PostgreSQL server can be started with SSL enabled by setting the parameter - to on in + to on in postgresql.conf. The server will listen for both normal and SSL connections on the same TCP port, and will negotiate with any connecting client on whether to use SSL. By default, this is at the client's option; see about how to set up the server to require + linkend="auth-pg-hba-conf"/> about how to set up the server to require use of SSL for some or all connections. @@ -2201,7 +2201,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 and authentication algorithms, of varying strength. While a list of ciphers can be specified in the OpenSSL configuration file, you can specify ciphers specifically for use by - the database server by modifying in + the database server by modifying in postgresql.conf. @@ -2221,8 +2221,8 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 and private key must exist. By default, these files are expected to be named server.crt and server.key, respectively, in the server's data directory, but other names and locations can be specified - using the configuration parameters - and . + using the configuration parameters + and . @@ -2264,12 +2264,12 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 To require the client to supply a trusted certificate, place certificates of the certificate authorities (CAs) you trust in a file named root.crt in the data - directory, set the parameter in + directory, set the parameter in postgresql.conf to root.crt, and add the authentication option clientcert=1 to the appropriate hostssl line(s) in pg_hba.conf. A certificate will then be requested from the client during - SSL connection startup. (See for a + SSL connection startup. (See for a description of how to set up certificates on the client.) The server will verify that the client's certificate is signed by one of the trusted certificate authorities. @@ -2280,7 +2280,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 root.crt, the file must also contain certificate chains to their root CAs. Certificate Revocation List (CRL) entries - are also checked if the parameter is set. + are also checked if the parameter is set. (See @@ -2308,7 +2308,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 If you are setting up client certificates, you may wish to use the cert authentication method, so that the certificates control user authentication as well as providing connection security. - See for details. (It is not necessary to + See for details. (It is not necessary to specify clientcert=1 explicitly when using the cert authentication method.) @@ -2318,7 +2318,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 SSL Server File Usage - summarizes the files that are + summarizes the files that are relevant to the SSL setup on the server. (The shown file names are default names. The locally configured names could be different.) @@ -2337,27 +2337,27 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 - ($PGDATA/server.crt) + ($PGDATA/server.crt) server certificate sent to client to indicate server's identity - ($PGDATA/server.key) + ($PGDATA/server.key) server private key proves server certificate was sent by the owner; does not indicate certificate owner is trustworthy - + trusted certificate authorities checks that client certificate is signed by a trusted certificate authority - + certificates revoked by certificate authorities client certificate must not be on this list @@ -2532,7 +2532,7 @@ ssh -L 63333:db.foo.com:5432 joe@shell.foo.com To specify a different event source name (see - ), use the /n + ), use the /n and /i options: regsvr32 /n /i:event_source_name pgsql_library_directory/pgevent.dll @@ -2550,7 +2550,7 @@ ssh -L 63333:db.foo.com:5432 joe@shell.foo.com To enable event logging in the database server, modify - to include + to include eventlog in postgresql.conf. diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml index c7e9b5f4af..d07329f5d1 100644 --- a/doc/src/sgml/seg.sgml +++ b/doc/src/sgml/seg.sgml @@ -86,13 +86,13 @@ test=> select '6.25 .. 6.50'::seg as "pH"; Optional certainty indicators (<, > or ~) can be stored as well. (Certainty indicators are ignored by all the built-in operators, however.) - gives an overview of allowed - representations; shows some + gives an overview of allowed + representations; shows some examples. - In , x, y, and + In , x, y, and delta denote floating-point numbers. x and y, but not delta, can be preceded by a certainty indicator. @@ -237,7 +237,7 @@ test=> select '6.25 .. 6.50'::seg as "pH"; The seg module includes a GiST index operator class for seg values. - The operators supported by the GiST operator class are shown in . + The operators supported by the GiST operator class are shown in .
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml index c6c89a389d..273efc6e27 100644 --- a/doc/src/sgml/sepgsql.sgml +++ b/doc/src/sgml/sepgsql.sgml @@ -17,7 +17,7 @@ The current implementation has significant limitations, and does not enforce mandatory access control for all actions. See - . + . @@ -51,7 +51,7 @@ - The statement allows assignment of + The statement allows assignment of a security label to a database object. @@ -93,7 +93,7 @@ Policy from config file: targeted To use this module, you must include sepgsql - in the parameter in + in the parameter in postgresql.conf. The module will not function correctly if loaded in any other manner. Once the module is loaded, you should execute sepgsql.sql in each database. @@ -161,7 +161,7 @@ $ for DBNAME in template0 template1 postgres; do First, set up sepgsql in a working database - according to the instructions in . + according to the instructions in . Note that the current operating system user must be able to connect to the database as superuser without password authentication. @@ -215,7 +215,7 @@ unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 - See for details on adjusting your + See for details on adjusting your working domain, if necessary. @@ -448,7 +448,7 @@ UPDATE t1 SET x = 2, y = md5sum(y) WHERE z = 100; - additionally requires + additionally requires getattr permission for the source or template database. @@ -506,7 +506,7 @@ UPDATE t1 SET x = 2, y = md5sum(y) WHERE z = 100; - Using on an object additionally + Using on an object additionally requires relabelfrom permission for the object in conjunction with its old security label and relabelto permission for the object in conjunction with its new security label. @@ -641,7 +641,7 @@ ERROR: SELinux: security policy violation Miscellaneous - We reject the command across the board, because + We reject the command across the board, because any module loaded could easily circumvent security policy enforcement. @@ -651,7 +651,7 @@ ERROR: SELinux: security policy violation Sepgsql Functions - shows the available functions. + shows the available functions.
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml index b5618d7166..8729a8450d 100644 --- a/doc/src/sgml/sourcerepo.sgml +++ b/doc/src/sgml/sourcerepo.sgml @@ -22,7 +22,7 @@ flex, and Perl. These tools are not needed to build from a distribution tarball, because the files that these tools are used to build are included in the tarball. Other tool requirements - are the same as shown in . + are the same as shown in . diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml index 4c777de16f..8870ee938a 100644 --- a/doc/src/sgml/sources.sgml +++ b/doc/src/sgml/sources.sgml @@ -207,7 +207,7 @@ ereport(ERROR, n is the integer value that determines which plural form is needed, and the remaining arguments are formatted according to the selected format string. For more information see - . + . @@ -234,7 +234,7 @@ ereport(ERROR, errdetail_plural(const char *fmt_singular, const char *fmt_plural, unsigned long n, ...) is like errdetail, but with support for various plural forms of the message. - For more information see . + For more information see . @@ -255,7 +255,7 @@ ereport(ERROR, *fmt_plural, unsigned long n, ...) is like errdetail_log, but with support for various plural forms of the message. - For more information see . + For more information see . @@ -404,7 +404,7 @@ ereport(level, (errmsg_internal("format string", ...))); Advice about writing good error messages can be found in - . + . @@ -853,7 +853,7 @@ BETTER: unrecognized node type: 42 Keep in mind that error message texts need to be translated into other - languages. Follow the guidelines in + languages. Follow the guidelines in to avoid making life difficult for translators. diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml index c56a354483..139c8ed8f7 100644 --- a/doc/src/sgml/spgist.sgml +++ b/doc/src/sgml/spgist.sgml @@ -59,7 +59,7 @@ The core PostgreSQL distribution includes the SP-GiST operator classes shown in - . + .
@@ -206,7 +206,7 @@ in a radix tree the node label could be the next character of the string value. (Alternatively, an operator class can omit the node labels, if it works with a fixed set of nodes for all inner tuples; - see .) + see .) Optionally, an inner tuple can have a prefix value that describes all its members. In a radix tree this could be the common prefix of the represented strings. The prefix value is not necessarily @@ -303,7 +303,7 @@ typedef struct spgConfigOut longValuesOK should be set true only when the attType is of variable length and the operator class is capable of segmenting long values by repeated suffixing - (see ). + (see ). @@ -392,7 +392,7 @@ typedef struct spgChooseOut zero for the root level. allTheSame is true if the current inner tuple is marked as containing multiple equivalent nodes - (see ). + (see ). hasPrefix is true if the current inner tuple contains a prefix; if so, prefixDatum is its value. @@ -547,7 +547,7 @@ typedef struct spgPickSplitOut allTheSame to signify that this has happened. The choose and inner_consistent functions must take suitable care with such inner tuples. - See for more information. + See for more information. @@ -557,7 +557,7 @@ typedef struct spgPickSplitOut value has been supplied. In this case the point of the operation is to strip off a prefix and produce a new, shorter leaf datum value. The call will be repeated until a leaf datum short enough to fit on - a page has been produced. See for + a page has been produced. See for more information. @@ -638,7 +638,7 @@ typedef struct spgInnerConsistentOut allTheSame is true if the current inner tuple is marked all-the-same; in this case all the nodes have the same label (if any) and so either all or none of them match the query - (see ). + (see ). hasPrefix is true if the current inner tuple contains a prefix; if so, prefixDatum is its value. @@ -817,7 +817,7 @@ typedef struct spgLeafConsistentOut tuple must divide the set of leaf values into more than one node group. If the operator class's picksplit function fails to do that, the SP-GiST core resorts to - extraordinary measures described in . + extraordinary measures described in . @@ -894,7 +894,7 @@ typedef struct spgLeafConsistentOut The PostgreSQL source distribution includes several examples of index operator classes for SP-GiST, - as described in . Look + as described in . Look into src/backend/access/spgist/ and src/backend/utils/adt/ to see the code. diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index e2b44c5fa1..350f0863e9 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -887,11 +887,11 @@ SPIPlanPtr SPI_prepare(const char * command, int changes + statement. Also, if the value of changes from one use to the next, the statement will be re-parsed using the new search_path. (This latter behavior is new as of PostgreSQL 9.3.) See for more information about the behavior of prepared + linkend="sql-prepare"/> for more information about the behavior of prepared statements. @@ -2308,7 +2308,7 @@ void SPI_scroll_cursor_fetch(Portal portal, FetchDirectio Notes - See the SQL command + See the SQL command for details of the interpretation of the direction and count parameters. @@ -2409,7 +2409,7 @@ void SPI_scroll_cursor_move(Portal portal, FetchDirection Notes - See the SQL command + See the SQL command for details of the interpretation of the direction and count parameters. @@ -4396,7 +4396,7 @@ INSERT INTO a SELECT * FROM a; that were processed by the command. You can find more complex examples for SPI in the source tree in src/test/regress/regress.c and in the - module. + module. @@ -4462,7 +4462,7 @@ execq(text *sql, int cnt) This is how you declare the function after having compiled it into - a shared library (details are in .): + a shared library (details are in .): CREATE FUNCTION execq(text, integer) RETURNS int8 diff --git a/doc/src/sgml/standalone-install.xml b/doc/src/sgml/standalone-install.xml index 49d94c5187..62582effed 100644 --- a/doc/src/sgml/standalone-install.xml +++ b/doc/src/sgml/standalone-install.xml @@ -14,10 +14,10 @@ in the stand-alone version. PostgreSQL using this source code distribution. - - - - + + + + Getting Started @@ -162,6 +162,6 @@ postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data - - + + diff --git a/doc/src/sgml/start.sgml b/doc/src/sgml/start.sgml index 4a6f746d20..5b73557835 100644 --- a/doc/src/sgml/start.sgml +++ b/doc/src/sgml/start.sgml @@ -29,7 +29,7 @@ If you are installing PostgreSQL - yourself, then refer to + yourself, then refer to for instructions on installation, and return to this guide when the installation is complete. Be sure to follow closely the section about setting up the appropriate environment @@ -194,7 +194,7 @@ createdb: could not connect to database postgres: FATAL: role "joe" does not ex administrator has not created a PostgreSQL user account for you. (PostgreSQL user accounts are distinct from operating system user accounts.) If you are the administrator, see - for help creating accounts. You will need to + for help creating accounts. You will need to become the operating system user under which PostgreSQL was installed (usually postgres) to create the first user account. It could also be that you were assigned a @@ -268,7 +268,7 @@ createdb: database creation failed: ERROR: permission denied to create database More about createdb and dropdb can - be found in and + be found in and respectively. @@ -308,7 +308,7 @@ createdb: database creation failed: ERROR: permission denied to create database Writing a custom application, using one of the several available language bindings. These possibilities are discussed - further in . + further in . @@ -402,7 +402,7 @@ mydb=# command shell. (For more internal commands, type \? at the psql prompt.) The full capabilities of psql are documented in - . In this tutorial we will not use these + . In this tutorial we will not use these features explicitly, but you can use them yourself when it is helpful. diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml index 0f9bddf7ab..128b19cbc9 100644 --- a/doc/src/sgml/storage.sgml +++ b/doc/src/sgml/storage.sgml @@ -29,7 +29,7 @@ managed by different server instances, can exist on the same machine. The PGDATA directory contains several subdirectories and control -files, as shown in . In addition to +files, as shown in . In addition to these required items, the cluster configuration files postgresql.conf, pg_hba.conf, and pg_ident.conf are traditionally stored in @@ -197,14 +197,14 @@ for temporary relations, the file name is of the form is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see ), which stores information about free space available in +linkend="storage-fsm"/>), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm. Tables also have a visibility map, stored in a fork with the suffix _vm, to track which pages are known to have no dead tuples. The visibility map is -described further in . Unlogged tables and indexes +described further in . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork -with the suffix _init (see ). +with the suffix _init (see ). @@ -240,12 +240,12 @@ associated TOAST table, which is used for out-of-line sto field values that are too large to keep in the table rows proper. pg_class.reltoastrelid links from a table to its TOAST table, if any. -See for more information. +See for more information. The contents of tables and indexes are discussed further in -. +. @@ -335,7 +335,7 @@ actually consist of a four-byte length word and contents until after it's been detoasted. (This is normally done by invoking PG_DETOAST_DATUM before doing anything with an input value, but in some cases more efficient approaches are possible. -See for more detail.) +See for more detail.) @@ -376,12 +376,12 @@ associated with, the table containing the TOAST pointer datum itself. These on-disk pointer datums are created by the TOAST management code (in access/heap/tuptoaster.c) when a tuple to be stored on disk is too large to be stored as-is. -Further details appear in . +Further details appear in . Alternatively, a TOAST pointer datum can contain a pointer to out-of-line data that appears elsewhere in memory. Such datums are necessarily short-lived, and will never appear on-disk, but they are very useful for avoiding copying and redundant processing of large data values. -Further details appear in . +Further details appear in . @@ -611,7 +611,7 @@ at the root. See src/backend/storage/freespace/README for more details on how the FSM is structured, and how it's updated and searched. -The module +The module can be used to examine the information stored in free space maps. @@ -657,7 +657,7 @@ cleared by any data-modifying operations on a page. -The module can be used to examine the +The module can be used to examine the information stored in the visibility map. @@ -718,7 +718,7 @@ within the index, depending on the index access method. - shows the overall layout of a page. + shows the overall layout of a page. There are five parts to each page. @@ -774,9 +774,9 @@ data. Empty in ordinary tables. The first 24 bytes of each page consists of a page header (PageHeaderData). Its format is detailed in . The first field tracks the most + linkend="pageheaderdata-table"/>. The first field tracks the most recent WAL entry related to this page. The second field contains - the page checksum if are + the page checksum if are enabled. Next is a 2-byte field containing flag bits. This is followed by three 2-byte integer fields (pd_lower, pd_upper, and @@ -918,7 +918,7 @@ data. Empty in ordinary tables. header (occupying 23 bytes on most machines), followed by an optional null bitmap, an optional object ID field, and the user data. The header is detailed - in . The actual user data + in . The actual user data (columns of the row) begins at the offset indicated by t_hoff, which must always be a multiple of the MAXALIGN distance for the platform. @@ -1032,7 +1032,7 @@ data. Empty in ordinary tables. struct varlena, which includes the total length of the stored value and some flag bits. Depending on the flags, the data can be either inline or in a TOAST table; - it might be compressed, too (see ). + it might be compressed, too (see ). diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml index e4012cc182..a938a21334 100644 --- a/doc/src/sgml/syntax.sgml +++ b/doc/src/sgml/syntax.sgml @@ -75,7 +75,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there'); a SET token to appear in a certain position, and this particular variation of INSERT also requires a VALUES in order to be complete. The - precise syntax rules for each command are described in . + precise syntax rules for each command are described in . @@ -109,7 +109,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there'); same lexical structure, meaning that one cannot know whether a token is an identifier or a key word without knowing the language. A complete list of key words can be found in . + linkend="sql-keywords-appendix"/>. @@ -353,7 +353,7 @@ SELECT 'foo' 'bar'; Within an escape string, a backslash character (\) begins a C-like backslash escape sequence, in which the combination of backslash and following character(s) represent a special byte - value, as shown in . + value, as shown in .
@@ -430,7 +430,7 @@ SELECT 'foo' 'bar'; valid characters in the server character set encoding. When the server encoding is UTF-8, then the Unicode escapes or the alternative Unicode escape syntax, explained - in , should be used + in , should be used instead. (The alternative would be doing the UTF-8 encoding by hand and writing out the bytes, which would be very cumbersome.) @@ -451,7 +451,7 @@ SELECT 'foo' 'bar'; If the configuration parameter - is off, + is off, then PostgreSQL recognizes backslash escapes in both regular and escape string constants. However, as of PostgreSQL 9.1, the default is on, meaning @@ -466,8 +466,8 @@ SELECT 'foo' 'bar'; In addition to standard_conforming_strings, the configuration - parameters and - govern treatment of backslashes + parameters and + govern treatment of backslashes in string constants. @@ -539,7 +539,7 @@ U&'d!0061t!+000061' UESCAPE '!' Also, the Unicode escape syntax for string constants only works when the configuration - parameter is + parameter is turned on. This is because otherwise this syntax could confuse clients that parse the SQL statements to the point that it could lead to SQL injections and similar security issues. If the @@ -772,14 +772,14 @@ CAST ( 'string' AS type ) typename ( 'string' ) but not all type names can be used in this way; see for details. + linkend="sql-syntax-type-casts"/> for details. The ::, CAST(), and function-call syntaxes can also be used to specify run-time type conversions of arbitrary expressions, as discussed in . To avoid syntactic ambiguity, the + linkend="sql-syntax-type-casts"/>. To avoid syntactic ambiguity, the type 'string' syntax can only be used to specify the type of a simple literal constant. Another restriction on the @@ -885,7 +885,7 @@ CAST ( 'string' AS type ) Brackets ([]) are used to select the elements - of an array. See for more information + of an array. See for more information on arrays. @@ -909,7 +909,7 @@ CAST ( 'string' AS type ) The colon (:) is used to select slices from arrays. (See .) In certain SQL dialects (such as Embedded + linkend="arrays"/>.) In certain SQL dialects (such as Embedded SQL), the colon is used to prefix variable names. @@ -980,7 +980,7 @@ CAST ( 'string' AS type ) - shows the precedence and + shows the precedence and associativity of the operators in PostgreSQL. Most operators have the same precedence and are left-associative. The precedence and associativity of the operators is hard-wired @@ -1126,7 +1126,7 @@ SELECT (5 !) - 6; SELECT 3 OPERATOR(pg_catalog.+) 4; the OPERATOR construct is taken to have the default precedence - shown in for + shown in for any other operator. This is true no matter which specific operator appears inside OPERATOR(). @@ -1148,7 +1148,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4; change behavior without any parsing error being reported. If you are concerned about whether these changes have silently broken something, you can test your application with the configuration - parameter turned on + parameter turned on to see if any warnings are logged. @@ -1290,13 +1290,13 @@ SELECT 3 OPERATOR(pg_catalog.+) 4; be classified as an expression but do not follow any general syntax rules. These generally have the semantics of a function or operator and are explained in the appropriate location in . An example is the IS NULL + linkend="functions"/>. An example is the IS NULL clause. We have already discussed constants in . The following sections discuss + linkend="sql-syntax-constants"/>. The following sections discuss the remaining options. @@ -1319,7 +1319,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4; table (possibly qualified with a schema name), or an alias for a table defined by means of a FROM clause. The correlation name and separating dot can be omitted if the column name - is unique across all the tables being used in the current query. (See also .) + is unique across all the tables being used in the current query. (See also .) @@ -1402,7 +1402,7 @@ $1[10:42] The parentheses in the last example are required. - See for more about arrays. + See for more about arrays. @@ -1455,7 +1455,7 @@ $1.somecolumn (compositecol).* This notation behaves differently depending on context; - see for details. + see for details. @@ -1475,7 +1475,7 @@ $1.somecolumn expression operator (unary postfix operator) where the operator token follows the syntax - rules of , or is one of the + rules of , or is one of the key words AND, OR, and NOT, or is a qualified operator name in the form: @@ -1483,7 +1483,7 @@ $1.somecolumn Which particular operators exist and whether they are unary or binary depends on what operators have been - defined by the system or the user. + defined by the system or the user. describes the built-in operators. @@ -1514,13 +1514,13 @@ sqrt(2) - The list of built-in functions is in . + The list of built-in functions is in . Other functions can be added by the user. The arguments can optionally have names attached. - See for details. + See for details. @@ -1532,7 +1532,7 @@ sqrt(2) interchangeable. This behavior is not SQL-standard but is provided in PostgreSQL because it allows use of functions to emulate computed fields. For more information see - . + . @@ -1622,7 +1622,7 @@ sqrt(2) such an aggregate, the optional order_by_clause can be used to specify the desired ordering. The order_by_clause has the same syntax as for a query-level ORDER BY clause, as - described in , except that its expressions + described in , except that its expressions are always just expressions and cannot be output-column names or numbers. For example: @@ -1736,7 +1736,7 @@ FROM generate_series(1,10) AS s(i); The predefined aggregate functions are described in . Other aggregate functions can be added + linkend="functions-aggregate"/>. Other aggregate functions can be added by the user. @@ -1750,8 +1750,8 @@ FROM generate_series(1,10) AS s(i); When an aggregate expression appears in a subquery (see - and - ), the aggregate is normally + and + ), the aggregate is normally evaluated over the rows of the subquery. But an exception occurs if the aggregate's arguments (and filter_clause if any) contain only outer-level variables: @@ -1830,7 +1830,7 @@ UNBOUNDED FOLLOWING Alternatively, a full window_definition can be given within parentheses, using the same syntax as for defining a named window in the WINDOW clause; see the - reference page for details. It's worth + reference page for details. It's worth pointing out that OVER wname is not exactly equivalent to OVER (wname ...); the latter implies copying and modifying the window definition, and will be rejected if the referenced window @@ -1921,7 +1921,7 @@ UNBOUNDED FOLLOWING The built-in window functions are described in . Other window functions can be added by + linkend="functions-window-table"/>. Other window functions can be added by the user. Also, any built-in or user-defined general-purpose or statistical aggregate can be used as a window function. (Ordered-set and hypothetical-set aggregates cannot presently be used as window functions.) @@ -1944,9 +1944,9 @@ UNBOUNDED FOLLOWING More information about window functions can be found in - , - , and - . + , + , and + . @@ -1984,7 +1984,7 @@ CAST ( expression AS type represents a run-time type conversion. The cast will succeed only if a suitable type conversion operation has been defined. Notice that this is subtly different from the use of casts with constants, as shown in - . A cast applied to an + . A cast applied to an unadorned string literal represents the initial assignment of a type to a literal constant value, and so it will succeed for any type (if the contents of the string literal are acceptable input syntax for the @@ -2028,7 +2028,7 @@ CAST ( expression AS type syntax is nothing more than a direct invocation of the underlying conversion function. Obviously, this is not something that a portable application should rely on. For further details see - . + . @@ -2079,7 +2079,7 @@ SELECT * FROM tbl WHERE a > 'foo' COLLATE "C"; arguments, and an explicit COLLATE clause will override the collations of all other arguments. (Attaching non-matching COLLATE clauses to more than one argument, however, is an - error. For more details see .) + error. For more details see .) Thus, this gives the same result as the previous example: SELECT * FROM tbl WHERE a COLLATE "C" > 'foo'; @@ -2104,7 +2104,7 @@ SELECT * FROM tbl WHERE (a > 'foo') COLLATE "C"; A scalar subquery is an ordinary SELECT query in parentheses that returns exactly one - row with one column. (See for information about writing queries.) + row with one column. (See for information about writing queries.) The SELECT query is executed and the single returned value is used in the surrounding value expression. It is an error to use a query that @@ -2113,7 +2113,7 @@ SELECT * FROM tbl WHERE (a > 'foo') COLLATE "C"; there is no error; the scalar result is taken to be null.) The subquery can refer to variables from the surrounding query, which will act as constants during any one evaluation of the subquery. - See also for other expressions involving subqueries. + See also for other expressions involving subqueries. @@ -2156,7 +2156,7 @@ SELECT ARRAY[1,2,3+4]; By default, the array element type is the common type of the member expressions, determined using the same rules as for UNION or - CASE constructs (see ). + CASE constructs (see ). You can override this by explicitly casting the array constructor to the desired type, for example: @@ -2168,7 +2168,7 @@ SELECT ARRAY[1,2,22.7]::integer[]; This has the same effect as casting each expression to the array element type individually. - For more on casting, see . + For more on casting, see . @@ -2259,7 +2259,7 @@ SELECT ARRAY(SELECT ARRAY[i, i*2] FROM generate_series(1,5) AS a(i)); The subscripts of an array value built with ARRAY always begin with one. For more information about arrays, see - . + . @@ -2300,7 +2300,7 @@ SELECT ROW(1,2.5,'this is a test'); rowvalue.*, which will be expanded to a list of the elements of the row value, just as occurs when the .* syntax is used at the top level - of a SELECT list (see ). + of a SELECT list (see ). For example, if table t has columns f1 and f2, these are the same: @@ -2372,9 +2372,9 @@ SELECT ROW(1,2.5,'this is a test') = ROW(1, 3, 'not the same'); SELECT ROW(table.*) IS NULL FROM table; -- detect all-null rows - For more detail see . + For more detail see . Row constructors can also be used in connection with subqueries, - as discussed in . + as discussed in . @@ -2422,7 +2422,7 @@ SELECT somefunc() OR true; When it is essential to force evaluation order, a CASE - construct (see ) can be + construct (see ) can be used. For example, this is an untrustworthy way of trying to avoid division by zero in a WHERE clause: @@ -2442,7 +2442,7 @@ SELECT ... WHERE CASE WHEN x > 0 THEN y/x > 1.5 ELSE false END; CASE is not a cure-all for such issues, however. One limitation of the technique illustrated above is that it does not prevent early evaluation of constant subexpressions. - As described in , functions and + As described in , functions and operators marked IMMUTABLE can be evaluated when the query is planned rather than when it is executed. Thus for example @@ -2547,7 +2547,7 @@ LANGUAGE SQL IMMUTABLE STRICT; b inputs will be concatenated, and forced to either upper or lower case depending on the uppercase parameter. The remaining details of this function - definition are not important here (see for + definition are not important here (see for more information). diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml index 6f1d3df34d..007e9c62f5 100644 --- a/doc/src/sgml/tablefunc.sgml +++ b/doc/src/sgml/tablefunc.sgml @@ -18,7 +18,7 @@ Functions Provided - shows the functions provided + shows the functions provided by the tablefunc module. @@ -646,7 +646,7 @@ connectby(text relname, text keyid_fld, text parent_keyid_fld - explains the + explains the parameters. diff --git a/doc/src/sgml/tablesample-method.sgml b/doc/src/sgml/tablesample-method.sgml index 9ac28ceb4c..b84b7ba885 100644 --- a/doc/src/sgml/tablesample-method.sgml +++ b/doc/src/sgml/tablesample-method.sgml @@ -33,7 +33,7 @@ method_name(internal) RETURNS tsm_handler type TsmRoutine, which contains pointers to support functions for the sampling method. These support functions are plain C functions and are not visible or callable at the SQL level. The support functions are - described in . + described in . diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml index 7b4912dd5e..4dc52ec983 100644 --- a/doc/src/sgml/textsearch.sgml +++ b/doc/src/sgml/textsearch.sgml @@ -160,12 +160,12 @@ A data type tsvector is provided for storing preprocessed documents, along with a type tsquery for representing processed - queries (). There are many + queries (). There are many functions and operators available for these data types - (), the most important of which is + (), the most important of which is the match operator @@, which we introduce in - . Full text searches can be accelerated - using indexes (). + . Full text searches can be accelerated + using indexes (). @@ -264,7 +264,7 @@ SELECT 'fat & cow'::tsquery @@ 'a fat cat sat on a mat and ate a fat rat'::t text, any more than a tsvector is. A tsquery contains search terms, which must be already-normalized lexemes, and may combine multiple terms using AND, OR, NOT, and FOLLOWED BY operators. - (For syntax details see .) There are + (For syntax details see .) There are functions to_tsquery, plainto_tsquery, and phraseto_tsquery that are helpful in converting user-written text into a proper @@ -420,7 +420,7 @@ SELECT phraseto_tsquery('the cats ate the rats'); During installation an appropriate configuration is selected and - is set accordingly + is set accordingly in postgresql.conf. If you are using the same text search configuration for the entire cluster you can use the value in postgresql.conf. To use different configurations @@ -530,7 +530,7 @@ WHERE to_tsvector(body) @@ to_tsquery('friend'); This query will use the configuration set by . + linkend="guc-default-text-search-config"/>. @@ -565,7 +565,7 @@ LIMIT 10; We can create a GIN index () to speed up text searches: + linkend="textsearch-indexes"/>) to speed up text searches: CREATE INDEX pgweb_idx ON pgweb USING GIN (to_tsvector('english', body)); @@ -573,9 +573,9 @@ CREATE INDEX pgweb_idx ON pgweb USING GIN (to_tsvector('english', body)); Notice that the 2-argument version of to_tsvector is used. Only text search functions that specify a configuration name can - be used in expression indexes (). + be used in expression indexes (). This is because the index contents must be unaffected by . If they were affected, the + linkend="guc-default-text-search-config"/>. If they were affected, the index contents might be inconsistent because different entries could contain tsvectors that were created with different text search configurations, and there would be no way to guess which was which. It @@ -653,7 +653,7 @@ LIMIT 10; representation, it is necessary to create a trigger to keep the tsvector column current anytime title or body changes. - explains how to do that. + explains how to do that. @@ -665,7 +665,7 @@ LIMIT 10; searches will be faster, since it will not be necessary to redo the to_tsvector calls to verify index matches. (This is more important when using a GiST index than a GIN index; see .) The expression-index approach is + linkend="textsearch-indexes"/>.) The expression-index approach is simpler to set up, however, and it requires less disk space since the tsvector representation is not stored explicitly. @@ -732,14 +732,14 @@ SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); The to_tsvector function internally calls a parser which breaks the document text into tokens and assigns a type to each token. For each token, a list of - dictionaries () is consulted, + dictionaries () is consulted, where the list can vary depending on the token type. The first dictionary that recognizes the token emits one or more normalized lexemes to represent the token. For example, rats became rat because one of the dictionaries recognized that the word rats is a plural form of rat. Some words are recognized as - stop words (), which + stop words (), which causes them to be ignored since they occur too frequently to be useful in searching. In our example these are a, on, and it. @@ -749,7 +749,7 @@ SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); (Space symbols), meaning space tokens will never be indexed. The choices of parser, dictionaries and which types of tokens to index are determined by the selected text search configuration (). It is possible to have + linkend="textsearch-configuration"/>). It is possible to have many different configurations in the same database, and predefined configurations are available for various languages. In our example we used the default configuration english for the @@ -785,7 +785,7 @@ UPDATE tt SET ti = of each lexeme in the finished tsvector, and then merged the labeled tsvector values using the tsvector concatenation operator ||. ( gives details about these + linkend="textsearch-manipulate-tsvector"/> gives details about these operations.) @@ -823,7 +823,7 @@ to_tsquery( config using parentheses. In other words, the input to to_tsquery must already follow the general rules for tsquery input, as described in . The difference is that while basic + linkend="datatype-tsquery"/>. The difference is that while basic tsquery input takes the tokens at face value, to_tsquery normalizes each token into a lexeme using the specified or default configuration, and discards any tokens that are @@ -1030,7 +1030,7 @@ SELECT phraseto_tsquery('english', 'The Fat & Rats:C'); its calculation. Therefore, it ignores any stripped lexemes in the tsvector. If there are no unstripped lexemes in the input, the result will be zero. (See for more information + linkend="textsearch-manipulate-tsvector"/> for more information about the strip function and positional information in tsvectors.) @@ -1333,7 +1333,7 @@ query.', Manipulating Documents - showed how raw textual + showed how raw textual documents can be converted into tsvector values. PostgreSQL also provides functions and operators that can be used to manipulate documents that are already @@ -1455,7 +1455,7 @@ query.', A full list of tsvector-related functions is available - in . + in . @@ -1464,7 +1464,7 @@ query.', Manipulating Queries - showed how raw textual + showed how raw textual queries can be converted into tsquery values. PostgreSQL also provides functions and operators that can be used to manipulate queries that are already @@ -1651,7 +1651,7 @@ SELECT querytree(to_tsquery('!defined')); (e.g., new york, big apple, nyc, gotham) or narrow the search to direct the user to some hot topic. There is some overlap in functionality between this feature - and thesaurus dictionaries (). + and thesaurus dictionaries (). However, you can modify a set of rewrite rules on-the-fly without reindexing, whereas updating a thesaurus requires reindexing to be effective. @@ -1962,7 +1962,7 @@ LIMIT 10; The built-in parser is named pg_catalog.default. - It recognizes 23 token types, shown in . + It recognizes 23 token types, shown in .
@@ -2295,7 +2295,7 @@ ALTER TEXT SEARCH CONFIGURATION astro_en end where it'd be useless. Filtering dictionaries are useful to partially normalize words to simplify the task of later dictionaries. For example, a filtering dictionary could be used to remove accents from accented - letters, as is done by the module. + letters, as is done by the module. @@ -2453,7 +2453,7 @@ SELECT ts_lexize('public.simple_dict','The'); This dictionary template is used to create dictionaries that replace a word with a synonym. Phrases are not supported (use the thesaurus - template () for that). A synonym + template () for that). A synonym dictionary can be used to overcome linguistic problems, for example, to prevent an English stemmer dictionary from reducing the word Paris to pari. It is enough to have a Paris paris line in the @@ -2511,7 +2511,7 @@ SELECT * FROM ts_debug('english', 'Paris'); to_tsvector(), but when it is used in to_tsquery(), the result will be a query item with the prefix match marker (see - ). + ). For example, suppose we have these entries in $SHAREDIR/tsearch_data/synonym_sample.syn: @@ -3042,7 +3042,7 @@ CREATE TEXT SEARCH DICTIONARY english_stem ( to_tsvector or to_tsquery needs a text search configuration to perform its processing. The configuration parameter - + specifies the name of the default configuration, which is the one used by text search functions if an explicit configuration parameter is omitted. @@ -3055,7 +3055,7 @@ CREATE TEXT SEARCH DICTIONARY english_stem ( you can create custom configurations easily. To facilitate management of text search objects, a set of SQL commands is available, and there are several psql commands that display information - about text search objects (). + about text search objects (). @@ -3324,7 +3324,7 @@ SELECT * FROM ts_debug('public.english','The Brightest supernovaes'); The word The was recognized by the english_ispell dictionary as a stop word () and will not be indexed. + linkend="textsearch-stopwords"/>) and will not be indexed. The spaces are discarded too, since the configuration provides no dictionaries at all for them. @@ -3604,7 +3604,7 @@ SELECT plainto_tsquery('supernovae stars'); Note that GIN index build time can often be improved - by increasing , while + by increasing , while GiST index build time is not sensitive to that parameter. @@ -3614,7 +3614,7 @@ SELECT plainto_tsquery('supernovae stars'); allows the implementation of very fast searches with online update. Partitioning can be done at the database level using table inheritance, or by distributing documents over - servers and collecting search results using the + servers and collecting search results using the module. The latter is possible because ranking functions use only local information. diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml index b0e160acf6..bf5d3f9088 100644 --- a/doc/src/sgml/trigger.sgml +++ b/doc/src/sgml/trigger.sgml @@ -11,10 +11,10 @@ This chapter provides general information about writing trigger functions. Trigger functions can be written in most of the available procedural languages, including - PL/pgSQL (), - PL/Tcl (), - PL/Perl (), and - PL/Python (). + PL/pgSQL (), + PL/Tcl (), + PL/Perl (), and + PL/Python (). After reading this chapter, you should consult the chapter for your favorite procedural language to find out the language-specific details of writing a trigger in it. @@ -76,7 +76,7 @@ Once a suitable trigger function has been created, the trigger is established with - . + . The same trigger function can be used for multiple triggers. @@ -397,8 +397,8 @@ Further information about data visibility rules can be found in - . The example in contains a demonstration of these rules. + . The example in contains a demonstration of these rules. @@ -715,7 +715,7 @@ typedef struct Trigger To allow queries issued through SPI to reference transition tables, see - . + . @@ -835,7 +835,7 @@ trigf(PG_FUNCTION_ARGS) After you have compiled the source code (see ), declare the function and the triggers: + linkend="dfunc"/>), declare the function and the triggers: CREATE FUNCTION trigf() RETURNS trigger AS 'filename' @@ -921,7 +921,7 @@ DELETE 2 There are more complex examples in src/test/regress/regress.c and - in . + in . diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml index 8504ee1281..3dcd948ff8 100644 --- a/doc/src/sgml/tsm-system-rows.sgml +++ b/doc/src/sgml/tsm-system-rows.sgml @@ -10,7 +10,7 @@ The tsm_system_rows module provides the table sampling method SYSTEM_ROWS, which can be used in - the TABLESAMPLE clause of a + the TABLESAMPLE clause of a command. diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml index 525292bb7c..fd8e999544 100644 --- a/doc/src/sgml/tsm-system-time.sgml +++ b/doc/src/sgml/tsm-system-time.sgml @@ -10,7 +10,7 @@ The tsm_system_time module provides the table sampling method SYSTEM_TIME, which can be used in - the TABLESAMPLE clause of a + the TABLESAMPLE clause of a command. diff --git a/doc/src/sgml/typeconv.sgml b/doc/src/sgml/typeconv.sgml index 5c99e3adaf..cd7de8fe3f 100644 --- a/doc/src/sgml/typeconv.sgml +++ b/doc/src/sgml/typeconv.sgml @@ -26,7 +26,7 @@ can be tailored by using explicit type conversion. This chapter introduces the PostgreSQL type conversion mechanisms and conventions. -Refer to the relevant sections in and +Refer to the relevant sections in and for more information on specific data types and allowed functions and operators. @@ -139,7 +139,7 @@ and for the GREATEST and LEAST functio The system catalogs store information about which conversions, or casts, exist between which data types, and how to perform those conversions. Additional casts can be added by the user -with the +with the command. (This is usually done in conjunction with defining new data types. The set of casts between built-in types has been carefully crafted and is best not @@ -158,7 +158,7 @@ Data types are divided into several basic type categories, including boolean, numeric, string, bitstring, datetime, timespan, geometric, network, and -user-defined. (For a list see ; +user-defined. (For a list see ; but note it is also possible to create custom type categories.) Within each category there can be one or more preferred types, which are preferred when there is a choice of possible types. With careful selection @@ -213,7 +213,7 @@ should use this new function and no longer do implicit conversion to use the old Note that this procedure is indirectly affected by the precedence of the operators involved, since that will determine which sub-expressions are taken to be the inputs of which operators. - See for more information. + See for more information. @@ -225,7 +225,7 @@ Select the operators to be considered from the pg_operator system catalog. If a non-schema-qualified operator name was used (the usual case), the operators considered are those with the matching name and argument count that are -visible in the current search path (see ). +visible in the current search path (see ). If a qualified operator name was given, only operators in the specified schema are considered. @@ -490,9 +490,9 @@ could possibly accept an integer array on the left-hand side are array inclusion (anyarray <@ anyarray) and range inclusion (anyelement <@ anyrange). Since none of these polymorphic pseudo-types (see ) are considered preferred, the parser cannot +linkend="datatype-pseudo"/>) are considered preferred, the parser cannot resolve the ambiguity on that basis. -However, tells +However, tells it to assume that the unknown-type literal is of the same type as the other input, that is, integer array. Now only one of the two operators can match, so array inclusion is selected. (Had range inclusion been selected, we would @@ -519,10 +519,10 @@ SELECT * FROM mytable WHERE val = 'foo'; This query will not use the custom operator. The parser will first see if there is a mytext = mytext operator -(), which there is not; +(), which there is not; then it will consider the domain's base type text, and see if there is a text = text operator -(), which there is; +(), which there is; so it resolves the unknown-type literal as text and uses the text = text operator. The only way to get the custom operator to be used is to explicitly cast @@ -564,7 +564,7 @@ Select the functions to be considered from the pg_proc system catalog. If a non-schema-qualified function name was used, the functions considered are those with the matching name and argument count that are -visible in the current search path (see ). +visible in the current search path (see ). If a qualified function name was given, only functions in the specified schema are considered. @@ -633,7 +633,7 @@ the function call is treated as a form of CAST specification. in cases where there is not an actual cast function. If there is a cast function, it is conventionally named after its output type, and so there is no need to have a special case. See - + for additional commentary. @@ -846,7 +846,7 @@ Check for an exact match with the target. Otherwise, try to convert the expression to the target type. This is possible if an assignment cast between the two types is registered in the -pg_cast catalog (see ). +pg_cast catalog (see ). Alternatively, if the expression is an unknown-type literal, the contents of the literal string will be fed to the input conversion routine for the target type. diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml index 94fcdf9829..ae15efed95 100644 --- a/doc/src/sgml/user-manag.sgml +++ b/doc/src/sgml/user-manag.sgml @@ -24,7 +24,7 @@ This chapter describes how to create and manage roles. More information about the effects of role privileges on various - database objects can be found in . + database objects can be found in . @@ -52,7 +52,7 @@ maintain a correspondence, but this is not required. Database roles are global across a database cluster installation (and not per individual database). To create a role use the SQL command: + linkend="sql-createrole"/> SQL command: CREATE ROLE name; @@ -61,7 +61,7 @@ CREATE ROLE name; double-quoted. (In practice, you will usually want to add additional options, such as LOGIN, to the command. More details appear below.) To remove an existing role, use the analogous - command: + command: DROP ROLE name; @@ -76,8 +76,8 @@ DROP ROLE name; - For convenience, the programs - and are provided as wrappers + For convenience, the programs + and are provided as wrappers around these SQL commands that can be called from the shell command line: @@ -92,7 +92,7 @@ dropuser name SELECT rolname FROM pg_roles; - The program's \du meta-command + The program's \du meta-command is also useful for listing the existing roles. @@ -126,7 +126,7 @@ SELECT rolname FROM pg_roles; The set of database roles a given client connection can connect as is determined by the client authentication setup, as explained in - . (Thus, a client is not + . (Thus, a client is not limited to connect as the role matching its operating system user, just as a person's login name need not match his or her real name.) Since the role @@ -240,8 +240,8 @@ CREATE USER name; A role's attributes can be modified after creation with ALTER ROLE.ALTER ROLE - See the reference pages for the - and commands for details. + See the reference pages for the + and commands for details. @@ -257,7 +257,7 @@ CREATE USER name; A role can also have role-specific defaults for many of the run-time configuration settings described in . For example, if for some reason you + linkend="runtime-config"/>. For example, if for some reason you want to disable index scans (hint: not a good idea) anytime you connect, you can use: @@ -303,8 +303,8 @@ CREATE ROLE name; Once the group role exists, you can add and remove members using the - and - commands: + and + commands: GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... ; @@ -319,7 +319,7 @@ REVOKE group_role FROM role1 The members of a group role can use the privileges of the role in two ways. First, every member of a group can explicitly do - to + to temporarily become the group role. In this state, the database session has access to the privileges of the group role rather than the original login role, and any database objects created are @@ -403,7 +403,7 @@ RESET ROLE; To destroy a group role, use : + linkend="sql-droprole"/>: DROP ROLE name; @@ -418,7 +418,7 @@ DROP ROLE name; Because roles can own database objects and can hold privileges to access other objects, dropping a role is often not just a matter of a - quick . Any objects owned by the role must + quick . Any objects owned by the role must first be dropped or reassigned to other owners; and any permissions granted to the role must be revoked. @@ -429,7 +429,7 @@ DROP ROLE name; ALTER TABLE bobs_table OWNER TO alice; - Alternatively, the command can be + Alternatively, the command can be used to reassign ownership of all objects owned by the role-to-be-dropped to a single other role. Because REASSIGN OWNED cannot access objects in other databases, it is necessary to run it in each database @@ -442,7 +442,7 @@ ALTER TABLE bobs_table OWNER TO alice; Once any valuable objects have been transferred to new owners, any remaining objects owned by the role-to-be-dropped can be dropped with - the command. Again, this command cannot + the command. Again, this command cannot access objects in other databases, so it is necessary to run it in each database that contains objects owned by the role. Also, DROP OWNED will not drop entire databases or tablespaces, so it is @@ -499,7 +499,7 @@ DROP ROLE doomed_role; - The default roles are described in . + The default roles are described in . Note that the specific permissions for each of the default roles may change in the future as additional capabilities are added. Administrators should monitor the release notes for changes. diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml index b1c1cd6f0a..b3b816c372 100644 --- a/doc/src/sgml/uuid-ossp.sgml +++ b/doc/src/sgml/uuid-ossp.sgml @@ -17,7 +17,7 @@ <literal>uuid-ossp</literal> Functions - shows the functions available to + shows the functions available to generate UUIDs. The relevant standards ITU-T Rec. X.667, ISO/IEC 9834-8:2005, and RFC 4122 specify four algorithms for generating UUIDs, identified by the @@ -64,7 +64,7 @@ This function generates a version 3 UUID in the given namespace using the specified input name. The namespace should be one of the special constants produced by the uuid_ns_*() functions shown - in . (It could be any UUID in theory.) The name is an identifier + in . (It could be any UUID in theory.) The name is an identifier in the selected namespace. @@ -186,7 +186,7 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org'); If you only need randomly-generated (version 4) UUIDs, consider using the gen_random_uuid() function - from the module instead. + from the module instead. diff --git a/doc/src/sgml/vacuumlo.sgml b/doc/src/sgml/vacuumlo.sgml index 190ed9880b..0b4dfc2b17 100644 --- a/doc/src/sgml/vacuumlo.sgml +++ b/doc/src/sgml/vacuumlo.sgml @@ -37,7 +37,7 @@ If you use this, you may also be interested in the lo_manage - trigger in the module. + trigger in the module. lo_manage is useful to try to avoid creating orphaned LOs in the first place. @@ -61,7 +61,7 @@ Remove no more than limit large objects per transaction (default 1000). Since the server acquires a lock per LO removed, removing too many LOs in one transaction risks exceeding - . Set the limit to + . Set the limit to zero if you want all removals done in a single transaction. diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml index f9febe916f..f4bc2d4161 100644 --- a/doc/src/sgml/wal.sgml +++ b/doc/src/sgml/wal.sgml @@ -35,7 +35,7 @@ frequently requested disk blocks and combines disk writes. Fortunately, all operating systems give applications a way to force writes from the buffer cache to disk, and PostgreSQL uses those - features. (See the parameter + features. (See the parameter to adjust how this is done.) @@ -133,7 +133,7 @@ (BBU) disk controllers. In such setups, the synchronize command forces all data from the controller cache to the disks, eliminating much of the benefit of the BBU. You can run the - program to see + program to see if you are affected. If you are affected, the performance benefits of the BBU can be regained by turning off write barriers in the file system or reconfiguring the disk controller, if that is @@ -174,7 +174,7 @@ restore partially-written pages from WAL. If you have file-system software that prevents partial page writes (e.g., ZFS), you can turn off this page imaging by turning off the parameter. Battery-Backed Unit + linkend="guc-full-page-writes"/> parameter. Battery-Backed Unit (BBU) disk controllers do not prevent partial page writes unless they guarantee that data is written to the BBU as full (8kB) pages. @@ -290,7 +290,7 @@ WAL also makes it possible to support on-line backup and point-in-time recovery, as described in . By archiving the WAL data we can support + linkend="continuous-archiving"/>. By archiving the WAL data we can support reverting to any time instant covered by the available WAL data: we simply install a prior physical backup of the database, and replay the WAL log just as far as the desired time. What's more, @@ -367,7 +367,7 @@ transactions running concurrently. This allows flexible trade-offs between performance and certainty of transaction durability. The commit mode is controlled by the user-settable parameter - , which can be changed in any of + , which can be changed in any of the ways that a configuration parameter can be set. The mode used for any one transaction depends on the value of synchronous_commit when transaction commit begins. @@ -390,7 +390,7 @@ The duration of the risk window is limited because a background process (the WAL writer) flushes unwritten WAL records to disk - every milliseconds. + every milliseconds. The actual maximum duration of the risk window is three times wal_writer_delay because the WAL writer is designed to favor writing whole pages at a time during busy periods. @@ -405,7 +405,7 @@ Asynchronous commit provides behavior different from setting - = off. + = off. fsync is a server-wide setting that will alter the behavior of all transactions. It disables all logic within PostgreSQL that attempts to synchronize @@ -419,7 +419,7 @@ - also sounds very similar to + also sounds very similar to asynchronous commit, but it is actually a synchronous commit method (in fact, commit_delay is ignored during an asynchronous commit). commit_delay causes a delay @@ -439,7 +439,7 @@ There are several WAL-related configuration parameters that affect database performance. This section explains their use. - Consult for general information about + Consult for general information about setting server configuration parameters. @@ -472,15 +472,15 @@ The server's checkpointer process automatically performs a checkpoint every so often. A checkpoint is begun every seconds, or if - is about to be exceeded, + linkend="guc-checkpoint-timeout"/> seconds, or if + is about to be exceeded, whichever comes first. The default settings are 5 minutes and 1 GB, respectively. If no WAL has been written since the previous checkpoint, new checkpoints will be skipped even if checkpoint_timeout has passed. (If WAL archiving is being used and you want to put a lower limit on how often files are archived in order to bound potential data loss, you should - adjust the parameter rather than the + adjust the parameter rather than the checkpoint parameters.) It is also possible to force a checkpoint by using the SQL command CHECKPOINT. @@ -492,7 +492,7 @@ more often. This allows faster after-crash recovery, since less work will need to be redone. However, one must balance this against the increased cost of flushing dirty data pages more often. If - is set (as is the default), there is + is set (as is the default), there is another factor to consider. To ensure data page consistency, the first modification of a data page after each checkpoint results in logging the entire page content. In that case, @@ -507,7 +507,7 @@ extra subsequent WAL traffic as discussed above. It is therefore wise to set the checkpointing parameters high enough so that checkpoints don't happen too often. As a simple sanity check on your checkpointing - parameters, you can set the + parameters, you can set the parameter. If checkpoints happen closer together than checkpoint_warning seconds, a message will be output to the server log recommending increasing @@ -523,7 +523,7 @@ To avoid flooding the I/O system with a burst of page writes, writing dirty buffers during a checkpoint is spread over a period of time. That period is controlled by - , which is + , which is given as a fraction of the checkpoint interval. The I/O rate is adjusted so that the checkpoint finishes when the given fraction of @@ -546,14 +546,14 @@ - On Linux and POSIX platforms + On Linux and POSIX platforms allows to force the OS that pages written by the checkpoint should be flushed to disk after a configurable number of bytes. Otherwise, these pages may be kept in the OS's page cache, inducing a stall when fsync is issued at the end of a checkpoint. This setting will often help to reduce transaction latency, but it also can an adverse effect on performance; particularly for workloads that are bigger than - , but smaller than the OS's page cache. + , but smaller than the OS's page cache. @@ -578,14 +578,14 @@ Independently of max_wal_size, - + 1 most recent WAL files are + + 1 most recent WAL files are kept at all times. Also, if WAL archiving is used, old segments can not be removed or recycled until they are archived. If WAL archiving cannot keep up with the pace that WAL is generated, or if archive_command fails repeatedly, old WAL files will accumulate in pg_wal until the situation is resolved. A slow or failed standby server that uses a replication slot will have the same effect (see - ). + ). @@ -629,21 +629,21 @@ not occur often enough to prevent XLogInsertRecord from having to do writes. On such systems one should increase the number of WAL buffers by - modifying the parameter. When - is set and the system is very busy, + modifying the parameter. When + is set and the system is very busy, setting wal_buffers higher will help smooth response times during the period immediately following each checkpoint. - The parameter defines for how many + The parameter defines for how many microseconds a group commit leader process will sleep after acquiring a lock within XLogFlush, while group commit followers queue up behind the leader. This delay allows other server processes to add their commit records to the WAL buffers so that all of them will be flushed by the leader's eventual sync operation. No sleep - will occur if is not enabled, or if fewer - than other sessions are currently + will occur if is not enabled, or if fewer + than other sessions are currently in active transactions; this avoids sleeping when it's unlikely that any other session will commit soon. Note that on some platforms, the resolution of a sleep request is ten milliseconds, so that any nonzero @@ -661,7 +661,7 @@ be chosen intelligently. The higher that cost is, the more effective commit_delay is expected to be in increasing transaction throughput, up to a point. The program can be used to measure the average time + linkend="pgtestfsync"/> program can be used to measure the average time in microseconds that a single WAL flush operation takes. A value of half of the average time the program reports it takes to flush after a single 8kB write operation is often the most effective setting for @@ -698,7 +698,7 @@ - The parameter determines how + The parameter determines how PostgreSQL will ask the kernel to force WAL updates out to disk. All the options should be the same in terms of reliability, with @@ -706,13 +706,13 @@ force a flush of the disk cache even when other options do not do so. However, it's quite platform-specific which one will be the fastest. You can test the speeds of different options using the program. + linkend="pgtestfsync"/> program. Note that this parameter is irrelevant if fsync has been turned off. - Enabling the configuration parameter + Enabling the configuration parameter (provided that PostgreSQL has been compiled with support for it) will result in each XLogInsertRecord and XLogFlush @@ -733,7 +733,7 @@ required from the administrator except ensuring that the disk-space requirements for the WAL logs are met, and that any necessary tuning is done (see ). + linkend="wal-configuration"/>). @@ -781,7 +781,7 @@ irrecoverable data corruption. Administrators should try to ensure that disks holding PostgreSQL's WAL log files do not make such false reports. - (See .) + (See .) @@ -793,7 +793,7 @@ scanning forward from the log location indicated in the checkpoint record. Because the entire content of data pages is saved in the log on the first page modification after a checkpoint (assuming - is not disabled), all pages + is not disabled), all pages changed since the checkpoint will be restored to a consistent state. diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml index f99dbb6510..1514e5c388 100644 --- a/doc/src/sgml/xaggr.sgml +++ b/doc/src/sgml/xaggr.sgml @@ -141,7 +141,7 @@ CREATE AGGREGATE avg (float8) For further details see the - + command. @@ -161,8 +161,8 @@ CREATE AGGREGATE avg (float8) Aggregate functions can optionally support moving-aggregate mode, which allows substantially faster execution of aggregate functions within windows with moving frame starting points. - (See - and for information about use of + (See + and for information about use of aggregate functions as window functions.) The basic idea is that in addition to a normal forward transition function, the aggregate provides an inverse @@ -290,7 +290,7 @@ FROM (VALUES (1, 1.0e20::float8), Aggregate functions can use polymorphic state transition functions or final functions, so that the same functions can be used to implement multiple aggregates. - See + See for an explanation of polymorphic functions. Going a step further, the aggregate function itself can be specified with polymorphic input type(s) and state type, allowing a single @@ -384,7 +384,7 @@ CREATE AGGREGATE array_agg (anynonarray) An aggregate function can be made to accept a varying number of arguments by declaring its last argument as a VARIADIC array, in much the same fashion as for regular functions; see - . The aggregate's transition + . The aggregate's transition function(s) must have the same array type as their last argument. The transition function(s) typically would also be marked VARIADIC, but this is not strictly required. @@ -393,7 +393,7 @@ CREATE AGGREGATE array_agg (anynonarray) Variadic aggregates are easily misused in connection with - the ORDER BY option (see ), + the ORDER BY option (see ), since the parser cannot tell whether the wrong number of actual arguments have been given in such a combination. Keep in mind that everything to the right of ORDER BY is a sort key, not an argument to the @@ -490,7 +490,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households; Also, because the final function performs the sort, it is not possible to continue adding input rows by executing the transition function again later. This means the final function is not READ_ONLY; - it must be declared in + it must be declared in as READ_WRITE, or as SHARABLE if it's possible for additional final-function calls to make use of the already-sorted state. @@ -636,7 +636,7 @@ if (AggCheckCallContext(fcinfo, NULL)) (While aggregate transition functions are always allowed to modify the transition value in-place, aggregate final functions are generally discouraged from doing so; if they do so, the behavior must be declared - when creating the aggregate. See + when creating the aggregate. See for more detail.) @@ -644,7 +644,7 @@ if (AggCheckCallContext(fcinfo, NULL)) The second argument of AggCheckCallContext can be used to retrieve the memory context in which aggregate state values are being kept. This is useful for transition functions that wish to use expanded - objects (see ) as their state values. + objects (see ) as their state values. On first call, the transition function should return an expanded object whose memory context is a child of the aggregate state context, and then keep returning the same expanded object on subsequent calls. See diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml index 9bdb72cd98..508ee7a96c 100644 --- a/doc/src/sgml/xfunc.sgml +++ b/doc/src/sgml/xfunc.sgml @@ -16,24 +16,24 @@ query language functions (functions written in - SQL) () + SQL) () procedural language functions (functions written in, for example, PL/pgSQL or PL/Tcl) - () + () - internal functions () + internal functions () - C-language functions () + C-language functions () @@ -63,7 +63,7 @@ Throughout this chapter, it can be useful to look at the reference - page of the command to + page of the command to understand the examples better. Some examples from this chapter can be found in funcs.sql and funcs.c in the src/tutorial @@ -162,11 +162,11 @@ SELECT clean_emp(); The syntax of the CREATE FUNCTION command requires the function body to be written as a string constant. It is usually most convenient to use dollar quoting (see ) for the string constant. + linkend="sql-syntax-dollar-quoting"/>) for the string constant. If you choose to use regular single-quoted string constant syntax, you must double single quote marks (') and backslashes (\) (assuming escape string syntax) in the body of - the function (see ). + the function (see ). @@ -430,7 +430,7 @@ SELECT name, double_salary(emp) AS dream WHERE emp.cubicle ~= point '(2,1)'; but this usage is deprecated since it's easy to get confused. - (See for details about these + (See for details about these two notations for the composite value of a table row.) @@ -536,7 +536,7 @@ SELECT * FROM new_emp(); The second way is described more fully in . + linkend="xfunc-sql-table-functions"/>. @@ -574,7 +574,7 @@ SELECT name(new_emp()); None - As explained in , the field notation and + As explained in , the field notation and functional notation are equivalent. @@ -621,7 +621,7 @@ SELECT add_em(3,7); This is not essentially different from the version of add_em - shown in . The real value of + shown in . The real value of output parameters is that they provide a convenient way of defining functions that return several columns. For example, @@ -762,7 +762,7 @@ SELECT mleast(VARIADIC ARRAY[]::numeric[]); The array element parameters generated from a variadic parameter are treated as not having any names of their own. This means it is not possible to call a variadic function using named arguments (), except when you specify + linkend="sql-syntax-calling-funcs"/>), except when you specify VARIADIC. For example, this will work: @@ -950,7 +950,7 @@ SELECT * FROM sum_n_product_with_tab(10); set-returning function multiple times, with the parameters for each invocation coming from successive rows of a table or subquery. The preferred way to do this is to use the LATERAL key word, - which is described in . + which is described in . Here is an example using a set-returning function to enumerate elements of a tree structure: @@ -1197,7 +1197,7 @@ $$ LANGUAGE SQL; return the polymorphic types anyelement, anyarray, anynonarray, anyenum, and anyrange. See for a more detailed + linkend="extend-types-polymorphic"/> for a more detailed explanation of polymorphic functions. Here is a polymorphic function make_array that builds up an array from two arbitrary data type elements: @@ -1311,7 +1311,7 @@ SELECT concat_values('|', 1, 4, 2); When a SQL function has one or more parameters of collatable data types, a collation is identified for each function call depending on the collations assigned to the actual arguments, as described in . If a collation is successfully identified + linkend="collation"/>. If a collation is successfully identified (i.e., there are no conflicts of implicit collations among the arguments) then all the collatable parameters are treated as having that collation implicitly. This will affect the behavior of collation-sensitive @@ -1384,7 +1384,7 @@ CREATE FUNCTION test(smallint, double precision) RETURNS ... it is not immediately clear which function would be called with some trivial input like test(1, 1.5). The currently implemented resolution rules are described in - , but it is unwise to design a system that subtly + , but it is unwise to design a system that subtly relies on this behavior. @@ -1457,7 +1457,7 @@ CREATE FUNCTION test(int, int) RETURNS int Every function has a volatility classification, with the possibilities being VOLATILE, STABLE, or IMMUTABLE. VOLATILE is the default if the - + command does not specify a category. The volatility category is a promise to the optimizer about the behavior of the function: @@ -1539,7 +1539,7 @@ CREATE FUNCTION test(int, int) RETURNS int been made by the SQL command that is calling the function. A VOLATILE function will see such changes, a STABLE or IMMUTABLE function will not. This behavior is implemented - using the snapshotting behavior of MVCC (see ): + using the snapshotting behavior of MVCC (see ): STABLE and IMMUTABLE functions use a snapshot established as of the start of the calling query, whereas VOLATILE functions obtain a fresh snapshot at the start of @@ -1577,7 +1577,7 @@ CREATE FUNCTION test(int, int) RETURNS int A common error is to label a function IMMUTABLE when its results depend on a configuration parameter. For example, a function that manipulates timestamps might well have results that depend on the - setting. For safety, such functions should + setting. For safety, such functions should be labeled STABLE instead. @@ -1606,7 +1606,7 @@ CREATE FUNCTION test(int, int) RETURNS int Procedural languages aren't built into the PostgreSQL server; they are offered by loadable modules. - See and following chapters for more + See and following chapters for more information. @@ -1630,7 +1630,7 @@ CREATE FUNCTION test(int, int) RETURNS int Normally, all internal functions present in the server are declared during the initialization of the database cluster - (see ), + (see ), but a user could use CREATE FUNCTION to create additional alias names for an internal function. Internal functions are declared in CREATE FUNCTION @@ -1726,7 +1726,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision If the name does not contain a directory part, the file is searched for in the path specified by the configuration variable - .dynamic_library_path + .dynamic_library_path @@ -1775,7 +1775,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision PostgreSQL will not compile a C function automatically. The object file must be compiled before it is referenced in a CREATE - FUNCTION command. See for additional + FUNCTION command. See for additional information. @@ -1899,7 +1899,7 @@ typedef int int4; means XX bits. Note therefore also that the C type int8 is 1 byte in size. The SQL type int8 is called int64 in C. See also - .) + .) @@ -1952,7 +1952,7 @@ typedef struct value. If you do so you are likely to corrupt on-disk data, since the pointer you are given might point directly into a disk buffer. The sole exception to this rule is explained in - . + . @@ -1998,7 +1998,7 @@ memcpy(destination->data, buffer, 40); - specifies which C type + specifies which C type corresponds to which SQL type when writing a C-language function that uses a built-in type of PostgreSQL. The Defined In column gives the header file that @@ -2433,10 +2433,10 @@ CREATE FUNCTION concat_text(text, text) RETURNS text Finally, the version-1 function call conventions make it possible - to return set results () and - implement trigger functions () and + to return set results () and + implement trigger functions () and procedural-language call handlers (). For more details + linkend="plhandler"/>). For more details see src/backend/utils/fmgr/README in the source distribution. @@ -2477,7 +2477,7 @@ CREATE FUNCTION concat_text(text, text) RETURNS text Compiling and linking your code so that it can be dynamically loaded into PostgreSQL always - requires special flags. See for a + requires special flags. See for a detailed explanation of how to do it for your particular operating system. @@ -2486,7 +2486,7 @@ CREATE FUNCTION concat_text(text, text) RETURNS text Remember to define a magic block for your shared library, - as described in . + as described in . @@ -3122,7 +3122,7 @@ CREATE OR REPLACE FUNCTION retcomposite(IN integer, IN integer, return the polymorphic types anyelement, anyarray, anynonarray, anyenum, and anyrange. - See for a more detailed explanation + See for a more detailed explanation of polymorphic functions. When function arguments or return types are defined as polymorphic types, the function author cannot know in advance what data type it will be called with, or @@ -3268,7 +3268,7 @@ CREATE FUNCTION make_array(anyelement) RETURNS anyarray Add-ins can reserve LWLocks and an allocation of shared memory on server startup. The add-in's shared library must be preloaded by specifying it in - shared_preload_libraries. + shared_preload_libraries. Shared memory is reserved by calling: void RequestAddinShmemSpace(int size) diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml index dce68dd4ac..2b4298065c 100644 --- a/doc/src/sgml/xindex.sgml +++ b/doc/src/sgml/xindex.sgml @@ -36,7 +36,7 @@ described in pg_am. It is possible to add a new index access method by writing the necessary code and then creating a row in pg_am — but that is - beyond the scope of this chapter (see ). + beyond the scope of this chapter (see ). @@ -101,7 +101,7 @@ The B-tree index method defines five strategies, shown in . + linkend="xindex-btree-strat-table"/>.
@@ -140,7 +140,7 @@ Hash indexes support only equality comparisons, and so they use only one - strategy, shown in . + strategy, shown in .
@@ -168,7 +168,7 @@ however it likes. As an example, several of the built-in GiST index operator classes index two-dimensional geometric objects, providing the R-tree strategies shown in - . Four of these are true + . Four of these are true two-dimensional tests (overlaps, same, contains, contained by); four of them consider only the X direction; and the other four provide the same tests in the Y direction. @@ -242,7 +242,7 @@ class interpret the strategy numbers according to the operator class's definition. As an example, the strategy numbers used by the built-in operator classes for points are shown in . + linkend="xindex-spgist-point-strat-table"/>.
@@ -289,7 +289,7 @@ each operator class interpret the strategy numbers according to the operator class's definition. As an example, the strategy numbers used by the built-in operator class for arrays are shown in - . + .
@@ -328,7 +328,7 @@ of each operator class interpret the strategy numbers according to the operator class's definition. As an example, the strategy numbers used by the built-in Minmax operator classes are shown in - . + .
@@ -372,7 +372,7 @@ level of a WHERE clause to be used with an index. (Some index access methods also support ordering operators, which typically don't return Boolean values; that feature is discussed - in .) + in .) @@ -403,7 +403,7 @@ B-trees require a single support function, and allow a second one to be supplied at the operator class author's option, as shown in . + linkend="xindex-btree-support-table"/>.
@@ -438,7 +438,7 @@ Hash indexes require one support function, and allow a second one to be supplied at the operator class author's option, as shown in . + linkend="xindex-hash-support-table"/>.
@@ -469,8 +469,8 @@ GiST indexes have nine support functions, two of which are optional, - as shown in . - (For more information see .) + as shown in . + (For more information see .)
@@ -541,8 +541,8 @@ SP-GiST indexes require five support functions, as - shown in . - (For more information see .) + shown in . + (For more information see .)
@@ -589,8 +589,8 @@ GIN indexes have six support functions, three of which are optional, - as shown in . - (For more information see .) + as shown in . + (For more information see .)
@@ -655,9 +655,9 @@ BRIN indexes have four basic support functions, as shown in - ; those basic functions + ; those basic functions may require additional support functions to be provided. - (For more information see .) + (For more information see .)
@@ -726,7 +726,7 @@ operators that sort complex numbers in absolute value order, so we choose the name complex_abs_ops. First, we need a set of operators. The procedure for defining operators was - discussed in . For an operator class on + discussed in . For an operator class on B-trees, the operators we require are: diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml index 35e1ccb7a1..0a0f13d02d 100644 --- a/doc/src/sgml/xml2.sgml +++ b/doc/src/sgml/xml2.sgml @@ -34,7 +34,7 @@ Description of Functions - shows the functions provided by this module. + shows the functions provided by this module. These functions provide straightforward XML parsing and XPath queries. All arguments are of type text, so for brevity that is not shown. @@ -211,7 +211,7 @@ xpath_table(text key, text document, text relation, text xpaths, text criteria) table. The primary key field from the original document table is returned as the first column of the result so that the result set can readily be used in joins. The parameters are described in - . + .
diff --git a/doc/src/sgml/xoper.sgml b/doc/src/sgml/xoper.sgml index 4b0716951a..2aa7cf9b64 100644 --- a/doc/src/sgml/xoper.sgml +++ b/doc/src/sgml/xoper.sgml @@ -32,7 +32,7 @@ Here is an example of creating an operator for adding two complex numbers. We assume we've already created the definition of type - complex (see ). First we need a + complex (see ). First we need a function that does the work, then we can define the operator: diff --git a/doc/src/sgml/xplang.sgml b/doc/src/sgml/xplang.sgml index 60d0cc6190..4b52210459 100644 --- a/doc/src/sgml/xplang.sgml +++ b/doc/src/sgml/xplang.sgml @@ -27,15 +27,15 @@ There are currently four procedural languages available in the standard PostgreSQL distribution: - PL/pgSQL (), - PL/Tcl (), - PL/Perl (), and - PL/Python (). + PL/pgSQL (), + PL/Tcl (), + PL/Perl (), and + PL/Python (). There are additional procedural languages available that are not - included in the core distribution. + included in the core distribution. has information about finding them. In addition other languages can be defined by users; the basics of developing a new procedural - language are covered in . + language are covered in . @@ -79,7 +79,7 @@ The shared object for the language handler must be compiled and installed into an appropriate library directory. This works in the same way as building and installing modules with regular user-defined C - functions does; see . Often, the language + functions does; see . Often, the language handler will depend on an external library that provides the actual programming language engine; if so, that must be installed as well. @@ -105,7 +105,7 @@ CREATE FUNCTION handler_function_name() Optionally, the language handler can provide an inline handler function that executes anonymous code blocks - ( commands) + ( commands) written in this language. If an inline handler function is provided by the language, declare it with a command like @@ -165,7 +165,7 @@ CREATE TRUSTED PROCEDURAL LANGUAGE - shows how the manual + shows how the manual installation procedure would work with the language PL/Perl. diff --git a/doc/src/sgml/xtypes.sgml b/doc/src/sgml/xtypes.sgml index 2f90c1d42c..29747a0873 100644 --- a/doc/src/sgml/xtypes.sgml +++ b/doc/src/sgml/xtypes.sgml @@ -9,7 +9,7 @@ - As described in , + As described in , PostgreSQL can be extended to support new data types. This section describes how to define new base types, which are data types defined below the level of the SQL @@ -246,7 +246,7 @@ CREATE TYPE complex ( For further details see the description of the - command. + command. @@ -259,7 +259,7 @@ CREATE TYPE complex ( If the values of your data type vary in size (in internal form), it's usually desirable to make the data type TOAST-able (see ). You should do this even if the values are always + linkend="storage-toast"/>). You should do this even if the values are always too small to be compressed or stored externally, because TOAST can save space on small data too, by reducing header overhead. diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 27ec54a417..d980f81046 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -406,8 +406,6 @@ STRIP_SHARED_LIB = @STRIP_SHARED_LIB@ DBTOEPUB = @DBTOEPUB@ FOP = @FOP@ -NSGMLS = @NSGMLS@ -OSX = @OSX@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@