ltree_plpython3u
transform between ltree and plpython3u
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
plpython3u | 1.0 | LANG | PostgreSQL | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3290 | plpython3u | No | Yes | No | Yes | No | No | pg_catalog |
| 3291 | jsonb_plpython3u | No | No | No | Yes | No | Yes | - |
| 3292 | ltree_plpython3u | No | Yes | No | Yes | No | Yes | - |
| 3293 | hstore_plpython3u | No | No | No | Yes | No | Yes | - |
| Related | ltree plpython3u faker plperl plpgsql pg_tle |
|---|
Version
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
| 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Install
Note: This is a built-in contrib extension of PostgreSQL
CREATE EXTENSION ltree_plpython3u;
Usage
Provides a transform for the ltree type for PL/Python3U. When loaded, ltree values are automatically converted to Python strings and vice versa.
CREATE EXTENSION ltree_plpython3u;
CREATE FUNCTION ltree_depth(val ltree) RETURNS integer
LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$
# val is now a Python string like "a.b.c"
return len(val.split('.'))
$$;
CREATE FUNCTION ltree_leaf(val ltree) RETURNS text
LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$
return val.split('.')[-1]
$$;
SELECT ltree_depth('top.science.astronomy'::ltree); -- 3
SELECT ltree_leaf('top.science.astronomy'::ltree); -- astronomy
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.