diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/contrib.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/filelist.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/test-decoding.sgml | 42 |
3 files changed, 44 insertions, 0 deletions
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index 336ba0c5643..ec68f10b65c 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -140,6 +140,7 @@ CREATE EXTENSION <replaceable>module_name</> FROM unpackaged; &sslinfo; &tablefunc; &tcn; + &test-decoding; &test-parser; &test-shm-mq; &tsearch2; diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 09de4bd0518..0e863ee064e 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -143,6 +143,7 @@ <!ENTITY sslinfo SYSTEM "sslinfo.sgml"> <!ENTITY tablefunc SYSTEM "tablefunc.sgml"> <!ENTITY tcn SYSTEM "tcn.sgml"> +<!ENTITY test-decoding SYSTEM "test-decoding.sgml"> <!ENTITY test-parser SYSTEM "test-parser.sgml"> <!ENTITY test-shm-mq SYSTEM "test-shm-mq.sgml"> <!ENTITY tsearch2 SYSTEM "tsearch2.sgml"> diff --git a/doc/src/sgml/test-decoding.sgml b/doc/src/sgml/test-decoding.sgml new file mode 100644 index 00000000000..0fe3d0a45a4 --- /dev/null +++ b/doc/src/sgml/test-decoding.sgml @@ -0,0 +1,42 @@ +<!-- doc/src/sgml/test-decoding.sgml --> + +<sect1 id="test-decoding" xreflabel="test_decoding"> + <title>test_decoding</title> + + <indexterm zone="test-decoding"> + <primary>test_decoding</primary> + </indexterm> + + <para> + <filename>test_decoding</> is an example of a logical decoding + output plugin. It doesn't do anything especially useful, but can serve as + a starting point for developing your own decoder. + </para> + + <para> + <filename>test_decoding</> receives WAL through the logical decoding + mechanism and decodes it into text representations of the operations + performed. + </para> + + <para> + Typical output from this plugin, used over the SQL logical decoding + interface, might be: + + <programlisting> +postgres=# SELECT * FROM pg_logical_slot_get_changes('test_slot', 'now', 'include-xids', '0'); + location | xid | data +-----------+-----+-------------------------------------------------- + 0/16D30F8 | 691 | BEGIN + 0/16D32A0 | 691 | table public.data: INSERT: id[int4]:2 data[text]:'arg' + 0/16D32A0 | 691 | table public.data: INSERT: id[int4]:3 data[text]:'demo' + 0/16D32A0 | 691 | COMMIT + 0/16D32D8 | 692 | BEGIN + 0/16D3398 | 692 | table public.data: DELETE: id[int4]:2 + 0/16D3398 | 692 | table public.data: DELETE: id[int4]:3 + 0/16D3398 | 692 | COMMIT +(8 rows) + </programlisting> + </para> + +</sect1> |