postgresql/doc/src/sgml
Andres Freund 247ce06b88 aio: Add io_method=worker
The previous commit introduced the infrastructure to start io_workers. This
commit actually makes the workers execute IOs.

IO workers consume IOs from a shared memory submission queue, run traditional
synchronous system calls, and perform the shared completion handling
immediately.  Client code submits most requests by pushing IOs into the
submission queue, and waits (if necessary) using condition variables.  Some
IOs cannot be performed in another process due to lack of infrastructure for
reopening the file, and must processed synchronously by the client code when
submitted.

For now the default io_method is changed to "worker". We should re-evaluate
that around beta1, we might want to be careful and set the default to "sync"
for 18.

Reviewed-by: Noah Misch <noah@leadboat.com>
Co-authored-by: Thomas Munro <thomas.munro@gmail.com>
Co-authored-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/uvrtrknj4kdytuboidbhwclo4gxhswwcpgadptsjvjqcluzmah%40brqs62irg4dt
Discussion: https://postgr.es/m/20210223100344.llw5an2aklengrmn@alap3.anarazel.de
Discussion: https://postgr.es/m/stj36ea6yyhoxtqkhpieia2z4krnam7qyetc57rfezgk4zgapf@gcnactj4z56m
2025-03-18 11:54:01 -04:00
..
images Fix commit 641a5b7a14 for "nbsp" output in SVG files 2024-11-26 13:08:13 -05:00
keywords doc: Update SQL keywords list to SQL:2023 2023-04-05 07:55:28 +02:00
ref psql: Add \sendpipeline to send query buffers while in a pipeline 2025-03-18 09:41:21 +09:00
.gitignore Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
acronyms.sgml Doc: update some HTTP links to point to canonical URLs. 2024-07-25 16:38:28 -04:00
advanced.sgml Doc: simplify the tutorial's window-function examples. 2025-01-21 14:43:21 -05:00
amcheck.sgml doc: clarify default checksum behavior in non-master branches 2025-02-21 13:03:29 -05:00
appendix-obsolete-default-roles.sgml Fix file references inside some SGML comments 2022-06-20 14:33:41 +02:00
appendix-obsolete-pgreceivexlog.sgml Fix file references inside some SGML comments 2022-06-20 14:33:41 +02:00
appendix-obsolete-pgresetxlog.sgml Fix file references inside some SGML comments 2022-06-20 14:33:41 +02:00
appendix-obsolete-pgxlogdump.sgml Fix file references inside some SGML comments 2022-06-20 14:33:41 +02:00
appendix-obsolete-recovery-config.sgml Remove promote_trigger_file. 2022-11-29 12:08:38 +13:00
appendix-obsolete.sgml Revert "Rename contrib module basic_archive to basic_wal_module" 2023-01-26 09:13:39 +09:00
arch-dev.sgml Doc: Miscellaneous doc updates for MERGE. 2023-02-26 09:06:04 +00:00
archive-modules.sgml Add built-in ERROR handling for archive callbacks. 2024-04-02 22:28:11 -05:00
array.sgml Improve readability and error detection of array_in(). 2023-11-13 13:01:51 -05:00
auth-delay.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
auto-explain.sgml EXPLAIN: Always use two fractional digits for row counts. 2025-02-27 11:27:16 -05:00
backup-manifest.sgml doc: Standardize use of dashes in references to CRC and SHA. 2024-08-09 13:16:33 -05:00
backup.sgml Doc: recommend "psql -X" for restoring pg_dump scripts. 2025-01-25 12:42:22 -05:00
basebackup-to-shell.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
basic-archive.sgml Revert "Rename contrib module basic_archive to basic_wal_module" 2023-01-26 09:13:39 +09:00
bgworker.sgml Add option to bgworkers to allow the bypass of role login check 2023-10-12 09:24:17 +09:00
biblio.sgml doc: Add links to olsen93 and ong90 in bibliography 2025-02-21 11:28:42 +01:00
bki.sgml Catalog changes preparing for builtin collation provider. 2024-03-09 14:48:18 -08:00
bloom.sgml Show index search count in EXPLAIN ANALYZE, take 2. 2025-03-11 09:20:50 -04:00
brin.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
btree-gin.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
btree-gist.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
btree.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
catalogs.sgml Trigger more frequent autovacuums with relallfrozen 2025-03-03 14:42:00 -05:00
charset.sgml docs: EUC_TW can be up to four bytes wide, not three 2025-02-10 10:03:37 -05:00
citext.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
client-auth.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
color.sgml Add color support for new frontend detail/hint messages 2022-04-11 17:36:44 +02:00
config.sgml aio: Add io_method=worker 2025-03-18 11:54:01 -04:00
contrib-spi.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
contrib.sgml Add contrib/pg_logicalinspect. 2024-10-14 17:22:02 -07:00
cube.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
custom-rmgr.sgml docs: Consolidate into new "WAL for Extensions" chapter. 2024-04-15 15:57:13 -04:00
custom-scan.sgml Doc: Improve documentation for creating custom scan paths. 2023-08-30 17:45:00 +09:00
datatype.sgml doc: Convert UUID functions list to table format. 2025-03-03 15:44:01 -08:00
datetime.sgml Seek zone abbreviations in the IANA data before timezone_abbreviations. 2025-01-16 14:11:19 -05:00
dblink.sgml Make dblink interruptible, via new libpqsrv APIs. 2024-01-08 11:39:56 -08:00
ddl.sgml doc: Explain more thoroughly when a table rewrite is needed 2025-03-14 20:44:59 +01:00
dfunc.sgml Remove AIX support 2024-02-28 15:17:23 +04:00
dict-int.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
dict-xsyn.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
dml.sgml Add OLD/NEW support to RETURNING in DML queries. 2025-01-16 14:57:35 +00:00
docguide.sgml Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
earthdistance.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
ecpg.sgml Fix assorted bugs in ecpg's macro mechanism. 2024-04-16 12:31:42 -04:00
errcodes.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
event-trigger.sgml doc: Remove event trigger firing matrix 2024-11-06 13:43:17 +01:00
extend.sgml Use @extschema:name@ notation in contrib transform modules. 2025-01-09 15:16:56 -05:00
external-projects.sgml doc: Replace list of drivers and PLs with wiki link 2023-08-23 14:13:07 +02:00
fdwhandler.sgml doc: Mention AttributeRelationId in FDW validator function description 2023-12-28 20:09:12 +09:00
features.sgml Add XMLText function (SQL/XML X038) 2023-11-06 09:38:29 +01:00
file-fdw.sgml file_fdw: Add REJECT_LIMIT option to file_fdw. 2024-11-20 23:53:19 +09:00
filelist.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
func.sgml Add reverse(bytea). 2025-03-13 11:20:53 -05:00
fuzzystrmatch.sgml Add support for Daitch-Mokotoff Soundex in contrib/fuzzystrmatch. 2023-04-07 17:32:26 -04:00
generate-errcodes-table.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
generate-keywords-table.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
generate-targets-meson.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
generic-wal.sgml docs: Consolidate into new "WAL for Extensions" chapter. 2024-04-15 15:57:13 -04:00
geqo.sgml Doc: add XML ID attributes to <sectN> and <varlistentry> tags. 2023-01-09 15:08:24 -05:00
gin.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
gist.sgml Drop opcintype from index AM strategy translation API 2025-02-21 09:07:16 +01:00
glossary.sgml Doc: clarify behavior of timestamptz input some more. 2025-02-07 12:40:41 -05:00
hash.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
high-availability.sgml Doc: Add the new section "Logical Replication Failover". 2024-06-07 11:59:27 +05:30
history.sgml doc: Update links which returned 404 2025-02-05 13:58:40 +01:00
hstore.sgml Use @extschema:name@ notation in contrib transform modules. 2025-01-09 15:16:56 -05:00
indexam.sgml Rename amcancrosscompare 2025-03-07 11:46:33 +01:00
indextypes.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
indices.sgml Doc: add a bit to indices.sgml about what is an indexable clause. 2023-12-17 16:49:44 -05:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Add support for NOT ENFORCED in CHECK constraints 2025-01-11 10:52:30 +01:00
install-binaries.sgml Expand installation documentation to cover binary installations 2020-10-06 14:15:32 +02:00
installation.sgml doc: remove non-breaking space in SGML files, causes make error 2025-02-21 12:15:53 -05:00
intagg.sgml doc, intagg: fix one-to-many mention to many-to-many 2023-12-07 19:36:52 -05:00
intarray.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
intro.sgml doc: add links to Postgres features intro 2023-10-28 14:02:46 -04:00
isn.sgml contrib/isn: Make weak mode a GUC setting, and fix related functions. 2025-03-16 13:45:48 -04:00
jit.sgml EXPLAIN: Always use two fractional digits for row counts. 2025-02-27 11:27:16 -05:00
json.sgml Document strange jsonb sort order for empty top level arrays 2025-01-03 10:36:30 -05:00
keywords.sgml Allow most keywords to be used as column labels without requiring AS. 2020-09-18 16:46:36 -04:00
legal.sgml Update copyright for 2025 2025-01-01 11:21:55 -05:00
libpq.sgml oauth: Fix incorrect const markers in struct 2025-02-24 22:20:29 +01:00
limits.sgml Document limit on the number of out-of-line values per table 2024-08-20 13:36:33 +07:00
lo.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
lobj.sgml Update copyright for 2025 2025-01-01 11:21:55 -05:00
logical-replication.sgml Invalidate inactive replication slots. 2025-02-19 09:29:50 +05:30
logicaldecoding.sgml Rename standby_slot_names to synchronized_standby_slots. 2024-07-01 11:36:56 +05:30
ltree.sgml Use @extschema:name@ notation in contrib transform modules. 2025-01-09 15:16:56 -05:00
maintenance.sgml Doc: correct aggressive vacuum threshold for multixact members storage 2025-03-07 10:22:56 +07:00
Makefile PDF docs build: avoid spurious "warn" in build logs. 2025-02-07 22:12:38 -05:00
manage-ag.sgml doc: improve tablespace example query and link to helper funcs. 2024-11-01 15:54:16 -04:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05:00
mk_feature_tables.pl Make all Perl warnings fatal 2023-12-29 18:20:00 +01:00
monitoring.sgml Show index search count in EXPLAIN ANALYZE, take 2. 2025-03-11 09:20:50 -04:00
mvcc.sgml doc: fix typo in mvcc clarification in commit 2fa255ce9b 2024-11-04 09:24:58 -05:00
nls.sgml doc: Fix some typos and grammar 2023-10-25 09:40:55 +09:00
notation.sgml doc: clarify syntax notation, particularly parentheses 2022-02-02 21:53:52 -05:00
oauth-validators.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
oid2name.sgml |--- gitweb subject length limit ----------------|-email limit-| 2023-10-27 11:06:10 -04:00
pageinspect.sgml doc: clarify default checksum behavior in non-master branches 2025-02-21 13:03:29 -05:00
parallel.sgml Doc: InitPlans aren't parallel-restricted any more. 2024-09-26 10:37:51 -04:00
passwordcheck.sgml Add passwordcheck.min_password_length. 2025-01-07 15:06:40 -06:00
perform.sgml Doc: silence A4 PDF build warnings. 2025-03-11 23:35:39 -04:00
pgbuffercache.sgml doc: Fix pg_buffercache_evict() title 2025-01-31 10:44:21 +01:00
pgcrypto.sgml pgcrypto: Add support for CFB mode in AES encryption 2025-02-14 21:18:37 +01:00
pgfreespacemap.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pglogicalinspect.sgml Add contrib/pg_logicalinspect. 2024-10-14 17:22:02 -07:00
pgprewarm.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pgrowlocks.sgml pgrowlocks: change lock mode output labels for consistency 2023-09-26 17:41:48 -04:00
pgstatstatements.sgml pg_stat_statements: Add wal_buffers_full 2025-02-17 13:55:17 +09:00
pgstattuple.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pgsurgery.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pgtrgm.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pgvisibility.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
pgwalinspect.sgml doc: Fix some typos and grammar 2023-10-25 09:40:55 +09:00
planstats.sgml EXPLAIN: Always use two fractional digits for row counts. 2025-02-27 11:27:16 -05:00
plhandler.sgml doc: use wording "restore" instead of "reload" of dumps 2022-07-21 14:55:23 -04:00
plperl.sgml Block environment variable mutations from trusted PL/Perl. 2024-11-11 06:23:43 -08:00
plpgsql.sgml Allow => syntax for named cursor arguments in plpgsql. 2025-03-03 18:00:13 -05:00
plpython.sgml doc: Fix example with __next__() in PL/Python function 2024-11-25 09:15:25 +09:00
pltcl.sgml Improve PL/Tcl's method for choosing Tcl names of procedures. 2024-07-05 14:14:42 -04:00
postgres-fdw.sgml postgres_fdw: Extend postgres_fdw_get_connections to return remote backend PID. 2025-03-03 08:51:30 +09:00
postgres.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
problems.sgml doc: use more accurate URL for bug reporting 2024-11-04 15:08:01 -05:00
protocol.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
queries.sgml Doc: improve description of window function processing. 2025-03-10 10:22:08 -04:00
query.sgml Doc: improve tutorial section about grouped aggregates. 2022-11-08 18:25:03 -05:00
rangetypes.sgml Revert 29854ee8d1 due to buildfarm failures 2021-06-15 21:44:40 +03:00
README.links doc: mention <link> can be inside of <command>, but not <xref> 2021-04-22 16:01:17 -04:00
README.non-ASCII doc: improve build for non-Latin1 characters 2024-11-01 12:46:51 -04:00
reference.sgml pg_createsubscriber: creates a new logical replica from a standby server 2024-03-25 12:42:47 +01:00
regress.sgml Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
release-18.sgml Stamp HEAD as 18devel. 2024-07-01 07:56:10 +09:00
release.sgml doc: improve build for non-Latin1 characters 2024-11-01 12:46:51 -04:00
replication-origins.sgml Refer to replication origin roident as "ID" in user facing messages and docs 2022-08-18 08:57:13 +07:00
rowtypes.sgml Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
rules.sgml Show index search count in EXPLAIN ANALYZE, take 2. 2025-03-11 09:20:50 -04:00
runtime.sgml Allow changing autovacuum_max_workers without restarting. 2025-01-06 15:01:22 -06:00
seg.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
sepgsql.sgml Convert sepgsql tests to TAP 2025-01-24 12:39:47 +01:00
sourcerepo.sgml Remove distprep 2023-11-06 15:18:04 +01:00
sources.sgml Revise GUC names quoting in messages again 2024-05-17 11:44:26 +02:00
spgist.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
spi.sgml Don't bother checking the result of SPI_connect[_ext] anymore. 2024-09-09 12:18:34 -04:00
sslinfo.sgml Revert "Add notBefore and notAfter to SSL cert info display" 2024-03-22 22:58:41 +01:00
start.sgml doc: clarify create database in start docs uses command line 2024-08-19 19:22:10 -04:00
storage.sgml docs: Make claims about the benefits of HOT updates more precise. 2024-03-21 12:54:58 -04:00
stylesheet-common.xsl Fix documentation build with older docbook-xsl 2024-02-08 11:38:46 +01:00
stylesheet-fo.xsl doc PG relnotes: remove warning about commit links in PDF build 2024-09-19 18:05:22 -04:00
stylesheet-html-common.xsl Fix documentation build with older docbook-xsl 2024-02-08 11:38:46 +01:00
stylesheet-html-nochunk.xsl docs: html: load stylesheet via custom.css.source 2023-04-04 21:29:45 -07:00
stylesheet-man.xsl Now that we have non-Latin1 SGML detection, restore Latin1 chars 2024-12-03 17:09:49 -05:00
stylesheet-speedup-common.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-speedup-xhtml.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-text.xsl Fix XML namespace declarations 2022-02-15 11:13:49 +01:00
stylesheet.css doc: Make HTML ids discoverable 2023-04-13 10:16:33 +02:00
stylesheet.css.xml docs: html: load stylesheet via custom.css.source 2023-04-04 21:29:45 -07:00
stylesheet.xsl docs: html: load stylesheet via custom.css.source 2023-04-04 21:29:45 -07:00
syntax.sgml doc: Missing markup, punctuation and wordsmithing 2024-10-02 14:50:56 +02:00
system-views.sgml Invalidate inactive replication slots. 2025-02-19 09:29:50 +05:30
tableam.sgml doc: Add minimal C and SQL example to add a custom table AM handler 2024-10-07 15:47:40 +09:00
tablefunc.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
tablesample-method.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
targets-meson.txt Update copyright for 2025 2025-01-01 11:21:55 -05:00
tcn.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
test-decoding.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
textsearch.sgml Update to latest Snowball sources. 2025-02-18 21:13:54 -05:00
trigger.sgml Virtual generated columns 2025-02-07 09:46:59 +01:00
tsm-system-rows.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
tsm-system-time.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
typeconv.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
unaccent.sgml unaccent: Add support for quoted translated characters 2023-09-20 12:29:36 +09:00
user-manag.sgml doc: Missing markup, punctuation and wordsmithing 2024-10-02 14:50:56 +02:00
uuid-ossp.sgml Doc: Update ulinks to RFC documents to avoid redirect 2024-04-10 13:53:25 +02:00
vacuumlo.sgml doc: remove xreflabels from commits 75fcdd2ae2 and 85af628da5 2020-06-11 18:19:25 -04:00
version.sgml.in meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
wal-for-extensions.sgml docs: Consolidate into new "WAL for Extensions" chapter. 2024-04-15 15:57:13 -04:00
wal.sgml Re-add GUC track_wal_io_timing 2025-02-26 09:49:59 +09:00
xact.sgml Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
xaggr.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
xfunc.sgml Add documentation about calling version-1 C functions from C. 2025-01-17 14:37:38 -05:00
xindex.sgml Change gist stratnum function to use CompareType 2025-01-15 11:34:04 +01:00
xml2.sgml Describe each contrib module in its SGML section title 2023-01-20 20:01:59 +01:00
xmltools_dep_wrapper meson: docs: Add xml{lint,proc} wrapper to collect dependencies 2022-10-05 09:56:05 -07:00
xoper.sgml Extend ALTER OPERATOR to allow setting more optimization attributes. 2023-10-20 12:28:46 -04:00
xplang.sgml Improve <xref> vs. <command> formatting in the documentation 2020-10-03 16:40:02 +02:00
xtypes.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00

<!-- doc/src/sgml/README.non-ASCII -->

Representation of non-ASCII characters
--------------------------------------

Find non-ASCII characters using:

        grep --recursive --color='auto' -P '[\x80-\xFF]' .

Convert to HTML4 named entity (&) escapes
-----------------------------------------

We support several output formats:

*  html (supports all Unicode characters)
*  man (supports all Unicode characters)
*  pdf (supports only Latin-1 characters)
*  info

While some output formatting tools support all Unicode characters,
others only support Latin-1 characters.  Specifically, the PDF rendering
engine can only display Latin-1 characters;  non-Latin-1 Unicode
characters are displayed as "###".

Therefore, in the SGML files, we only use Latin-1 characters.  We
typically encode these characters as HTML entities, e.g., &Aacute;lvaro.
It is also possible to safely represent Latin-1 characters in UTF8
encoding for all output formats.

Do not use UTF numeric character escapes (&#nnn;).

HTML entities
        official:      http://www.w3.org/TR/html4/sgml/entities.html
        one page:      http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
        other lists:   http://www.zipcon.net/~swhite/docs/computers/browsers/entities.html
                       http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
                       https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references