jsonb_plpython3u
jsonb_plpython3u
plpython3u : transform between jsonb and plpython3u
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 3291 | jsonb_plpython3u
|
plpython3u
|
1.0 |
LANG
|
PostgreSQL
|
C
|
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
----d-r
|
No
|
No
|
No
|
Yes
|
yes
|
no
|
| Relationships | |
|---|---|
| Requires | plpython3u
|
| See Also | faker
jsonb_plperl
jsonb_plperlu
pg_jsonschema
jsquery
plpgsql
|
| Siblings | plpython3u
ltree_plpython3u
hstore_plpython3u
|
Packages
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
1.0
|
1.0
|
1.0
|
1.0
|
1.0
|
This is a built-in contrib extension ship with the PostgreSQL kernel
Install
Create this extension with:
CREATE EXTENSION jsonb_plpython3u CASCADE; -- requires plpython3uUsage
Provides a transform for the jsonb type for PL/Python3U. When loaded, jsonb values are automatically converted to Python dicts, lists, and scalars, and vice versa.
CREATE EXTENSION jsonb_plpython3u;
CREATE FUNCTION jsonb_keys_sorted(val jsonb) RETURNS text[]
LANGUAGE plpython3u TRANSFORM FOR TYPE jsonb AS $$
# val is now a Python dict
return sorted(val.keys())
$$;
CREATE FUNCTION build_jsonb(name text, age integer) RETURNS jsonb
LANGUAGE plpython3u TRANSFORM FOR TYPE jsonb AS $$
return {"name": name, "age": age}
$$;
SELECT jsonb_keys_sorted('{"b": 2, "a": 1, "c": 3}'::jsonb);
SELECT build_jsonb('Alice', 30);Last updated on