{"kind": "decode", "major": "18", "rows": [{"slug": "pgoutput", "name": "pgoutput", "name_zh": "Core replication", "category": "Core replication", "summary": "The built-in output plugin used by PostgreSQL logical replication.", "aliases": [], "content_hash": "1988aae57b9e4ed3ba61ac20f8b6bffbdb067f30880742d4e9b4ecb4d3d667cc", "versions": {"10": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "6"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "0aedb7aff9c6ae921c284af0b0cb8efe1460933e81b0608192b68ca8be9c1ab3"}, "11": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "7"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "d5b89f0ab347e450fe25944edd36f88a3ed8974573075374de94ee865149c73d"}, "12": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "7"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "e720ae3ea46eba4407a3ce10d76e43106f01751c003969f51e58093113752821"}, "13": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "7"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "e720ae3ea46eba4407a3ce10d76e43106f01751c003969f51e58093113752821"}, "14": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "15"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "fb770dffbee4b87a47f7d20428fcdc6e8a74308fa91944bba5d25080a20d9a1a"}, "15": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "9ff9b317d99bdc01268d07f723dd427172fb3d7e326a4d6eb063af749c003085"}, "16": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}, {"label": "LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM", "value": "4"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "caca53c5d8da82cd5b929b0a2d57664baf3fe51f1d73bbfb2de9184b7a206d84"}, "17": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}, {"label": "LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM", "value": "4"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "caca53c5d8da82cd5b929b0a2d57664baf3fe51f1d73bbfb2de9184b7a206d84"}, "18": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}, {"label": "LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM", "value": "4"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "825d73cfabb72ac9c0d2de837bc79ea972bb82f3c010a3833852f3f7e9e3935a"}, "19": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}, {"label": "LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM", "value": "4"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "761842f39eae1d9c23b64afdacc7bf910f49481118b5b15614b4b560b5e39432"}, "20": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "20"}, {"label": "LOGICALREP_PROTO_MIN_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_VERSION_NUM", "value": "1"}, {"label": "LOGICALREP_PROTO_STREAM_VERSION_NUM", "value": "2"}, {"label": "LOGICALREP_PROTO_TWOPHASE_VERSION_NUM", "value": "3"}, {"label": "LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM", "value": "4"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["The built-in output plugin used by PostgreSQL logical replication."], "comparison_hash": "761842f39eae1d9c23b64afdacc7bf910f49481118b5b15614b4b560b5e39432"}}, "url": "/wiki/decode/pgoutput/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/decode/pgoutput/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=11"}, {"major": "12", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 12.22 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/decode/pgoutput/?v=13"}, {"major": "14", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 14.24 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=14"}, {"major": "15", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 15.19 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=15"}, {"major": "16", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 16.15 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/decode/pgoutput/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/decode/pgoutput/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/decode/pgoutput/?v=20"}], "present": true}, {"slug": "test_decoding", "name": "test_decoding", "name_zh": "Testing and examples", "category": "Testing and examples", "summary": "A test and example output plugin that renders logical changes in a textual format.", "aliases": [], "content_hash": "a1b90f20b336448cd0dab98bbbc209fb456cb9f0e72d650ae2b75691f17ee413", "versions": {"10": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "7"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "bcccdd6dcf62a1e1dc0e1e7c1ae3ad087f88d5bd0e2940ce85a291271f7a9a16"}, "11": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "8"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "738ac0f40cbeb95cf50bf83c7406775489147586500a397873551a69cd860c02"}, "12": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "8"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "738ac0f40cbeb95cf50bf83c7406775489147586500a397873551a69cd860c02"}, "13": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "8"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "738ac0f40cbeb95cf50bf83c7406775489147586500a397873551a69cd860c02"}, "14": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "15": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "16": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "17": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "18": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "19": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}, "20": {"facts": [{"label": "Interface family", "value": "Logical-decoding output plugin"}, {"label": "Handler or routine", "value": "_PG_output_plugin_init"}, {"label": "Recorded callbacks", "value": "21"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["A test and example output plugin that renders logical changes in a textual format."], "comparison_hash": "465d2c6d5759db47dd963a4b8f5bcb847943413cfd5afb7eb4fd0bd7b894b83e"}}, "url": "/wiki/decode/test_decoding/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/decode/test_decoding/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=13"}, {"major": "14", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 14.24 \u00b7 Interface or attribute change", "url": "/wiki/decode/test_decoding/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/decode/test_decoding/?v=20"}], "present": true}], "total": 2, "present": 2, "collection_tables": [{"key": "decode-catalogue", "rows": [{"scope": "Primary documentation reviewed separately below", "checked": "2026-08-30", "version": "2.6", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "description": "Changing data capture in JSON format"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0.7", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/wal2mongo/", "text": "wal2mongo"}, "description": "PostgreSQL logical decoding output plugin for MongoDB"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "3.6.0", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/decoderbufs/", "text": "decoderbufs"}, "description": "Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/decoder_raw/", "text": "decoder_raw"}, "description": "Output plugin for logical replication in Raw SQL format"}, {"scope": "Core interface; see versioned entry", "checked": "Not recorded", "version": "-", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/test_decoding/", "text": "test_decoding"}, "description": "SQL-based test/example module for WAL logical decoding"}, {"scope": "Core interface; see versioned entry", "checked": "Not recorded", "version": "-", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/pgoutput/", "text": "pgoutput"}, "description": "Logical Replication output plugin"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1.0", "postgres": "Unknown", "extension": {"url": "/e/jsoncdc/", "text": "jsoncdc"}, "description": "JSON logical decoding output plugin"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1", "postgres": "Unknown", "extension": {"url": "/e/replisome/", "text": "replisome"}, "description": "Logical-decoding output plugin and Python consumer framework for streaming PostgreSQL row changes as JSON."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1.0", "postgres": "Unknown", "extension": {"url": "/e/putpostlogic/", "text": "putpostlogic"}, "description": "Unreleased logical decoding output-plugin prototype that emits JSON changes through PostgreSQL, Kafka, or Nanomsg."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.0", "postgres": "Unknown", "extension": {"url": "/e/pboutput/", "text": "pboutput"}, "description": "Binary logical-decoding output plugin that encodes PostgreSQL changes as Protocol Buffers."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0", "postgres": "Unknown", "extension": {"url": "/e/pg_turso/", "text": "pg_turso"}, "description": "Postgres output plugin for replicating data to Turso."}], "title": "Logical-decoding plugin candidates", "caption": "Current catalogue observation 2026-09-29 from pgext.universe. Extension versions, source metadata dates and declared PostgreSQL compatibility are independent of the selected core version. Catalogue classification does not establish capabilities or maintenance support.", "columns": [{"key": "extension", "label": "Existing extension"}, {"key": "version", "label": "Catalogued version"}, {"key": "postgres", "label": "Declared PG majors"}, {"key": "checked", "label": "Metadata checked"}, {"key": "scope", "label": "Evidence scope"}, {"key": "description", "label": "Catalogued purpose"}]}, {"key": "decode-reviewed-capabilities", "rows": [{"state": "Verified in documentation", "detail": "Format 1 emits one JSON object per transaction; format 2 emits one per tuple with optional transaction boundaries.", "version": "2.6", "evidence": {"url": "https://github.com/eulerto/wal2json/blob/75629c2e1e81a12350cc9d63782fc53252185d8d/README.md", "text": "2026-09-29 \u00b7 75629c2e1e81 \u00b7 README.md"}, "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "capability": "Output granularity"}, {"state": "Conditional", "detail": "UPDATE and DELETE old-row availability depends on replica identity.", "version": "2.6", "evidence": {"url": "https://github.com/eulerto/wal2json/blob/75629c2e1e81a12350cc9d63782fc53252185d8d/README.md", "text": "2026-09-29 \u00b7 75629c2e1e81 \u00b7 README.md"}, "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "capability": "Old row values"}, {"state": "Conditional", "detail": "The actions option controls changes; format 1 excludes TRUNCATE for compatibility.", "version": "2.6", "evidence": {"url": "https://github.com/eulerto/wal2json/blob/75629c2e1e81a12350cc9d63782fc53252185d8d/README.md", "text": "2026-09-29 \u00b7 75629c2e1e81 \u00b7 README.md"}, "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "capability": "TRUNCATE"}, {"state": "Verified in documentation", "detail": "Options select or exclude tables, origins and logical-message prefixes.", "version": "2.6", "evidence": {"url": "https://github.com/eulerto/wal2json/blob/75629c2e1e81a12350cc9d63782fc53252185d8d/README.md", "text": "2026-09-29 \u00b7 75629c2e1e81 \u00b7 README.md"}, "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "capability": "Table and message filters"}, {"state": "Unknown", "detail": "A streaming-protocol connection does not itself establish these capabilities; this documentation review does not verify them.", "version": "2.6", "evidence": {"url": "https://github.com/eulerto/wal2json/blob/75629c2e1e81a12350cc9d63782fc53252185d8d/README.md", "text": "2026-09-29 \u00b7 75629c2e1e81 \u00b7 README.md"}, "extension": {"url": "/e/wal2json/", "text": "wal2json"}, "capability": "In-progress transaction streaming / two-phase decoding"}], "title": "Primary-source capability observations", "caption": "Each statement applies to its named extension version and immutable source revision. Unlisted capabilities remain unknown. These are documentation observations, not runtime tests or current maintenance guarantees.", "columns": [{"key": "extension", "label": "Extension"}, {"key": "version", "label": "Reviewed version"}, {"key": "capability", "label": "Capability"}, {"key": "state", "label": "Evidence state"}, {"key": "detail", "label": "Conditions"}, {"key": "evidence", "label": "Evidence date and source"}]}]}