{"id":18792190,"url":"https://github.com/johto/pg_pb3_ld","last_synced_at":"2026-05-20T07:31:16.372Z","repository":{"id":47655945,"uuid":"67551424","full_name":"johto/pg_pb3_ld","owner":"johto","description":"PostgreSQL protobuf3 logical decoding","archived":false,"fork":false,"pushed_at":"2023-03-06T23:30:23.000Z","size":244,"stargazers_count":0,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-21T15:14:22.659Z","etag":null,"topics":["decoding","logical","logical-decoding","pg","postgresql","protobuf","protobuf3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-06T22:28:42.000Z","updated_at":"2022-03-17T01:59:28.000Z","dependencies_parsed_at":"2024-11-07T21:19:12.633Z","dependency_job_id":null,"html_url":"https://github.com/johto/pg_pb3_ld","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johto/pg_pb3_ld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johto%2Fpg_pb3_ld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johto%2Fpg_pb3_ld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johto%2Fpg_pb3_ld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johto%2Fpg_pb3_ld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johto","download_url":"https://codeload.github.com/johto/pg_pb3_ld/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johto%2Fpg_pb3_ld/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267198680,"owners_count":24051559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["decoding","logical","logical-decoding","pg","postgresql","protobuf","protobuf3"],"created_at":"2024-11-07T21:18:46.283Z","updated_at":"2026-05-20T07:31:11.346Z","avatar_url":"https://github.com/johto.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"pg\\_pb3\\_ld\n===========\n\nIntroduction\n------------\n\nThis project is still a work in progress -- use at your own risk!\n\nHow to build\n------------\n\nThe decoder plugin resides under the *decoder* subdirectory.  In order to build\nit first make sure PGXS is installed, then enter the subdirectory and run\n`make` followed by `make install`.\n\nSetting up\n----------\n\nBefore you can use logical decoding, you must set\n[wal\\_level](https://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-WAL-LEVEL)\nto logical and\n[max\\_replication\\_slots](https://www.postgresql.org/docs/current/static/runtime-config-replication.html#GUC-MAX-REPLICATION-SLOTS)\nto at least 1.  Now you can create a replication slot:\n\n```\nSELECT * FROM pg_create_logical_replication_slot('my_application', 'pg_pb3_ld');\n```\n\nand connect to it.  The replication level `START_REPLICATION` command can\nspecify a list of options which control various details of the decoding output.\nFor detailed descriptions of the available options, see the \"Options\" section\nbelow.\n\nOptions\n-------\n\n##### enable\\_begin\\_messages (*bool*)\n\nIf enabled, a *BeginTransaction* message is sent at the beginning of each\ndecoded transaction.\n\nThe default is *false*.\n\n##### enable\\_commit\\_messages (*bool*)\n\nIf enabled, a *CommitTransaction* message is sent at the end of each decoded\ntransaction.\n\nThe default is *true*.\n\n##### type\\_oids\\_mode (*enum*)\n\nControls how the `type_oids` field in *FieldSetDescription* messages is written.\n\nThere are three supported modes:\n\n  1. In `disabled` mode the `type_oids` protocol fields are never present.\n  2. In `omit_nulls` mode, the `type_oids` protocol fields contain only the\n  type oids of non-NULL fields.\n  3. In `full` mode the full list of type oids is always provided.\n\nThe default is *disabled*.\n\n##### binary\\_oid\\_ranges (*oid range list*)\n\nA comma-separated list of oid ranges to decode as binary values.  The minimum\nand the maximum of a range should be separated by HYPHEN-MINUS (-).  Both the\nminimum and the maximum of a range are inclusive, i.e. all ranges are closed.\nA single value can be specified by omitting the maximum value and the\nHYPHEN-MINUS character.  The ranges should appear in the list ordered by their\nminimum value, and no two ranges should overlap.\n\nThe default is the empty list, meaning that all values are sent to the client\nin text format.\n\nExamples:\n\n  1. `1-9999` sends all values of built-in types over in binary\n  2. `17,20-21,23` sends bytea, int2, int4 and int8 values over in binary\n\n##### formats\\_mode (*enum*)\n\nControls how the `formats` field in *FieldSetDescription* messages is written.\n\nThere are four supported modes:\n\n  1. In `disabled` mode the `formats` protocol fields are never present.\n  2. In `omit_nulls` mode the `formats` protocol fields only contain entries\n  for non-NULL values.\n  3. The `full` mode works exactly the same way as the `omit_nulls` mode,\n  except the field is never omitted.\n\nThe default is *disabled*.\n\n##### enable\\_table\\_oids (*bool*)\n\nIf enabled, each *TableDescription* message includes the oid of the target\ntable in the *table_oid* field.\n\nThe default is *false*.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohto%2Fpg_pb3_ld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohto%2Fpg_pb3_ld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohto%2Fpg_pb3_ld/lists"}