ltree_plpython3u
ltree_plpython3u
plpython3u : transform between ltree and plpython3u
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 3292 | ltree_plpython3u
|
plpython3u
|
1.0 |
LANG
|
PostgreSQL
|
C
|
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-d-r
|
No
|
Yes
|
No
|
Yes
|
yes
|
no
|
| Relationships | |
|---|---|
| Requires | ltree
plpython3u
|
| See Also | faker
plperl
plpgsql
pg_tle
|
| Siblings | plpython3u
jsonb_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 ltree_plpython3u CASCADE; -- requires ltree, plpython3uUsage
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); -- astronomyLast updated on