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, plpython3u

Usage

ltree_plpython3u: Transform between ltree and PL/Python3

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
Last updated on