postgresql/doc/src/sgml
Amit Kapila 85ddcc2f4c Support existing publications in pg_createsubscriber.
Allow pg_createsubscriber to reuse existing publications instead of
failing when they already exist on the publisher.

Previously, pg_createsubscriber would fail if any specified publication
already existed. Now, existing publications are reused as-is with their
current configuration, and non-existing publications are created
automatically with FOR ALL TABLES.

This change provides flexibility when working with mixed scenarios of
existing and new publications. Users should verify that existing
publications have the desired configuration before reusing them, and can
use --dry-run with verbose mode to see which publications will be reused
and which will be created.

Only publications created by pg_createsubscriber are cleaned up during
error cleanup operations. Pre-existing publications are preserved unless
'--clean=publications' is explicitly specified, which drops all
publications.

This feature would be helpful for pub-sub configurations where users want
to subscribe to a subset of tables from the publisher.

Author: Shubham Khanna <khannashubham1197@gmail.com>
Reviewed-by: Euler Taveira <euler@eulerto.com>
Reviewed-by: Peter Smith <smithpb2250@gmail.com>
Reviewed-by: Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: vignesh C <vignesh21@gmail.com>
Reviewed-by: tianbing <tian_bing_0531@163.com>
Discussion: https://postgr.es/m/CAHv8Rj%2BsxWutv10WiDEAPZnygaCbuY2RqiLMj2aRMH-H3iZwyA%40mail.gmail.com
2025-12-17 09:43:53 +00:00
..
func Add retry logic to pg_sync_replication_slots(). 2025-12-15 02:50:21 +00:00
images doc: Add section for temporal tables 2025-11-05 16:38:04 +01:00
keywords
ref Support existing publications in pg_createsubscriber. 2025-12-17 09:43:53 +00:00
.gitignore Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
acronyms.sgml docs: Add acronym and glossary entries for I/O and AIO 2025-04-01 13:30:33 -04:00
advanced.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
amcheck.sgml amcheck: Fix snapshot usage in bt_index_parent_check 2025-12-04 18:12:08 +01:00
appendix-obsolete-default-roles.sgml
appendix-obsolete-pgreceivexlog.sgml
appendix-obsolete-pgresetxlog.sgml
appendix-obsolete-pgxlogdump.sgml
appendix-obsolete-recovery-config.sgml
appendix-obsolete.sgml
arch-dev.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13: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
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: double-quote use of %f, %p, and %r in literal commands. 2025-11-14 09:08:53 -05:00
basebackup-to-shell.sgml
basic-archive.sgml
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 doc: TOAST not toast 2025-07-01 10:19:52 +02:00
bloom.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13: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
btree-gist.sgml Add support for sorted gist index builds to btree_gist 2025-04-03 13:46:35 +03:00
btree.sgml Add nbtree skip scan optimization. 2025-04-04 12:27:04 -04:00
catalogs.sgml Doc: Add documentation for sequence synchronization. 2025-11-12 08:49:01 +00:00
charset.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
citext.sgml
client-auth.sgml docs: fix text by adding/removing parentheses 2025-11-07 22:19:09 -05:00
color.sgml
config.sgml doc: Consistently use restartpoint in the documentation 2025-12-03 15:22:38 +01:00
contrib-spi.sgml Move contrib/spi testing from core regression tests to contrib/spi. 2025-04-08 19:12:03 -04:00
contrib.sgml pg_overexplain: Additional EXPLAIN options for debugging. 2025-03-26 13:52:21 -04:00
cube.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13: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: include JSON in the list of SQL-standard types. 2025-12-06 13:34:48 -05:00
datetime.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
dblink.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
ddl.sgml Implement ALTER TABLE ... SPLIT PARTITION ... command 2025-12-14 13:29:38 +02:00
dfunc.sgml Remove traces of support for Sun Studio compiler 2025-09-12 07:39:05 +02:00
dict-int.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
dict-xsyn.sgml
dml.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
docguide.sgml doc: Remove dead link to NewbieDoc Docbook Guide 2025-06-24 11:49:37 +02:00
earthdistance.sgml
ecpg.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
errcodes.sgml
event-trigger.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
extend.sgml Make "directory" setting work with extension_control_path 2025-05-02 16:35:48 +02:00
external-projects.sgml doc: Replace list of drivers and PLs with wiki link 2023-08-23 14:13:07 +02:00
fdwhandler.sgml Improve ExplainState type handling in header files 2025-09-15 11:04:10 +02: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 Split func.sgml into more manageable pieces 2025-08-04 09:04:56 -04:00
fuzzystrmatch.sgml
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
gin.sgml Add cross-type comparisons to contrib/btree_gin. 2025-07-03 16:24:31 -04:00
gist.sgml doc: Update header file mention for CompareType 2025-12-16 09:46:53 +01:00
glossary.sgml doc: Add section for temporal tables 2025-11-05 16:38:04 +01:00
hash.sgml Doc: fix typo in hash index documentation 2025-12-09 14:41:30 +13:00
high-availability.sgml doc: double-quote use of %f, %p, and %r in literal commands. 2025-11-14 09:08:53 -05:00
history.sgml doc: Clarify project naming 2025-04-07 00:03:18 +02:00
hstore.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
indexam.sgml doc: Inform about aminsertcleanup optional NULLness 2025-07-22 14:34:15 +09: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: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
info.sgml
information_schema.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
install-binaries.sgml
installation.sgml doc: Assorted documentation improvements 2025-11-20 15:04:41 +01:00
intagg.sgml doc, intagg: fix one-to-many mention to many-to-many 2023-12-07 19:36:52 -05:00
intarray.sgml
intro.sgml doc: add links to Postgres features intro 2023-10-28 14:02:46 -04:00
isn.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13: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
legal.sgml Align organization wording in copyright statement 2025-05-16 11:20:07 -04:00
libpq.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05: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
lobj.sgml libpq: Deprecate pg_int64. 2025-03-25 21:40:00 +13:00
logical-replication.sgml doc: clarify that logical slots track transaction activity 2025-11-14 10:45:59 -05:00
logicaldecoding.sgml Add retry logic to pg_sync_replication_slots(). 2025-12-15 02:50:21 +00:00
ltree.sgml docs: fix text by adding/removing parentheses 2025-11-07 22:19:09 -05:00
maintenance.sgml Add mode and started_by columns to pg_stat_progress_vacuum view. 2025-12-09 10:51:14 -08:00
Makefile Revert "Improve docs syntax checking" 2025-10-06 07:53:31 -04:00
manage-ag.sgml doc: improve tablespace example query and link to helper funcs. 2024-11-01 15:54:16 -04:00
meson.build Revert "Improve docs syntax checking" 2025-10-06 07:53:31 -04:00
mk_feature_tables.pl Make all Perl warnings fatal 2023-12-29 18:20:00 +01:00
monitoring.sgml Add started_by column to pg_stat_progress_analyze view. 2025-12-09 11:23:45 -08: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
oauth-validators.sgml oauth: Improve validator docs on interruptibility 2025-03-19 16:58:06 +13:00
oid2name.sgml |--- gitweb subject length limit ----------------|-email limit-| 2023-10-27 11:06:10 -04:00
pageinspect.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
parallel.sgml Add parallelism support for TID Range Scans 2025-11-27 14:05:04 +13:00
passwordcheck.sgml Add passwordcheck.min_password_length. 2025-01-07 15:06:40 -06:00
perform.sgml Rework output format of pg_dependencies 2025-11-17 10:44:26 +09:00
pgbuffercache.sgml doc: Fix titles of some pg_buffercache functions. 2025-12-09 11:01:38 -06:00
pgcrypto.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
pgfreespacemap.sgml doc: Correct description of values used in FSM for indexes 2025-03-27 10:20:41 +09:00
pglogicalinspect.sgml Standardize LSN formatting by zero padding 2025-07-07 13:57:43 +02:00
pgoverexplain.sgml doc: Add note about how to use pg_overexplain. 2025-07-17 10:25:59 -05:00
pgprewarm.sgml
pgrowlocks.sgml pgrowlocks: change lock mode output labels for consistency 2023-09-26 17:41:48 -04:00
pgstatstatements.sgml pg_stat_statements: Add counters for generic and custom plans 2025-07-31 11:37:37 +09:00
pgstattuple.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
pgsurgery.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
pgtrgm.sgml
pgvisibility.sgml
pgwalinspect.sgml Standardize LSN formatting by zero padding 2025-07-07 13:57:43 +02:00
planstats.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
plhandler.sgml
plperl.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
plpgsql.sgml Doc: include MERGE in variable substitution command list 2025-11-17 10:51:26 +13:00
plpython.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
pltcl.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
postgres-fdw.sgml doc: Assorted documentation improvements 2025-11-20 15:04:41 +01:00
postgres.sgml doc: Assorted documentation improvements 2025-11-20 15:04:41 +01:00
problems.sgml doc: use more accurate URL for bug reporting 2024-11-04 15:08:01 -05:00
protocol.sgml doc: Assorted documentation improvements 2025-11-20 15:04:41 +01:00
queries.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
query.sgml doc: Add example file for COPY 2025-07-17 00:21:18 +02:00
rangetypes.sgml
README.links
README.non-ASCII doc: update guidelines on non-ASCII characters in docs 2025-05-03 14:45:26 -04:00
reference.sgml Implement WAIT FOR command 2025-11-05 11:44:13 +02:00
regress.sgml Add PostgreSQL::Test::Cluster::read_head_tail() helper to PostgreSQL/Utils.pm 2025-12-06 14:27:53 +09:00
release-19.sgml Stamp HEAD as 19devel. 2025-06-29 22:28:10 -04:00
release.sgml Stamp HEAD as 19devel. 2025-06-29 22:28:10 -04:00
replication-origins.sgml
rowtypes.sgml Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
rules.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
runtime.sgml Give up on running with NetBSD/OpenBSD's default semaphore settings. 2025-04-29 17:27:52 -04:00
seg.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
sepgsql.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
sourcerepo.sgml doc: Remove mention of Git protocol support 2025-10-23 21:26:15 +02:00
sources.sgml Provide more-specific error details/hints for function lookup failures. 2025-09-16 12:17:02 -04:00
spgist.sgml docs: Merge separate chapters on built-in index AMs into one. 2024-04-05 10:34:04 -04:00
spi.sgml Mark function arguments of type "Datum *" as "const Datum *" where possible 2025-10-31 10:47:25 +01: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 Adjust some table column widths in PDF 2025-08-13 17:40:13 +02:00
stylesheet-common.xsl Fix documentation build with older docbook-xsl 2024-02-08 11:38:46 +01:00
stylesheet-fo.xsl Improve PDF documentation margins 2025-08-13 15:50:14 +02:00
stylesheet-html-common.xsl Fix documentation build with older docbook-xsl 2024-02-08 11:38:46 +01:00
stylesheet-html-nochunk.xsl
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
stylesheet-speedup-xhtml.xsl
stylesheet-text.xsl
stylesheet.css
stylesheet.css.xml
stylesheet.xsl
syntax.sgml doc: consistently use "structname" and "structfield" markup 2025-11-08 09:49:43 -05:00
system-views.sgml Show size of DSAs and dshashes in pg_dsm_registry_allocations. 2025-12-02 10:29:45 -06:00
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 Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
tablesample-method.sgml
targets-meson.txt Update copyright for 2025 2025-01-01 11:21:55 -05:00
tcn.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
test-decoding.sgml Standardize LSN formatting by zero padding 2025-07-07 13:57:43 +02:00
textsearch.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
trigger.sgml docs: fix text by adding/removing parentheses 2025-11-07 22:19:09 -05:00
tsm-system-rows.sgml
tsm-system-time.sgml
typeconv.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13:00
unaccent.sgml Doc: use uppercase keywords in SQLs 2025-11-06 16:03:02 +13: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
version.sgml.in
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
xfunc.sgml Allow passing a pointer to GetNamedDSMSegment()'s init callback. 2025-12-15 14:27:16 -06:00
xindex.sgml Rename gist stratnum support function 2025-06-02 08:41:27 +02:00
xml2.sgml
xmltools_dep_wrapper
xoper.sgml doc: Some copy-editing around prefix operators 2025-06-30 10:38:43 +02:00
xplang.sgml
xtypes.sgml Use palloc_object() and palloc_array() in more areas of the tree 2025-12-09 14:53:17 +09: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 can only use Latin-1 characters.  We
can use UTF8 representations of Latin-1 characters, or HTML entities of
Latin-1 characters, e.g., &Aacute;lvaro.

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

When building the PDF docs, problem characters will appear as warnings.

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