ltree_plpython3u

transform between ltree and plpython3u

Overview

PackageVersionCategoryLicenseLanguage
plpython3u1.0LANGPostgreSQLC
IDExtensionBinLibLoadCreateTrustRelocSchema
3290plpython3uNoYesNoYesNoNopg_catalog
3291jsonb_plpython3uNoNoNoYesNoYes-
3292ltree_plpython3uNoYesNoYesNoYes-
3293hstore_plpython3uNoNoNoYesNoYes-
Relatedltree plpython3u faker plperl plpgsql pg_tle

Version

PG18PG17PG16PG15PG14
1.01.01.01.01.0

Install

Note: This is a built-in contrib extension of PostgreSQL

CREATE EXTENSION 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 Modified 2026-03-12: add pg extension catalog (95749bf)