{"id":19458528,"url":"https://github.com/postgrespro/jsonb_schema","last_synced_at":"2025-04-15T00:46:11.232Z","repository":{"id":149601003,"uuid":"289667459","full_name":"postgrespro/jsonb_schema","owner":"postgrespro","description":"Store jsonb schema separately from data","archived":false,"fork":false,"pushed_at":"2020-08-24T09:54:47.000Z","size":15,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-15T00:45:53.308Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postgrespro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-08-23T10:55:14.000Z","updated_at":"2024-09-12T17:23:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"c68a8c3f-c369-4984-be7d-88e3ebf7aa0a","html_url":"https://github.com/postgrespro/jsonb_schema","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fjsonb_schema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fjsonb_schema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fjsonb_schema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fjsonb_schema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postgrespro","download_url":"https://codeload.github.com/postgrespro/jsonb_schema/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248986274,"owners_count":21194024,"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","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":[],"created_at":"2024-11-10T17:27:26.982Z","updated_at":"2025-04-15T00:46:11.206Z","avatar_url":"https://github.com/postgrespro.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"This extension allows to reduce size of jsonb objects by storing it's schema separately from data.\nIt is assumed that there are not so much different schema used by applications.\nSo storing schema separately in `jsonb_schemes` table and keeping only it's ID in JSONB object\nallows to significantly reduce space used by JSONB objects.\n\nThere are just two functions provided by this extension:\n`jsonb_pack` and `jsonb_unpack`. Both take JSONB objects and return JSONB object.\n\n`jsonb_pack` separates schema from data and stores schema in `jsonb_schemes` table (if not present yet).\nThen it constructs JSONB array [schema_id,obj_data]\n\n`jsonb_pack` takes JSONB array [schema_id,obj_data], retrieve schema from `jsonb_schemes` table\nand merge it with object data, restoring original JSONB object.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostgrespro%2Fjsonb_schema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostgrespro%2Fjsonb_schema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostgrespro%2Fjsonb_schema/lists"}