ltree_plpython3u

在 ltree 和 plpython3u 之间转换

概览

扩展包名版本分类许可证语言
plpython3u1.0LANGPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
3290plpython3upg_catalog
3291jsonb_plpython3u-
3292ltree_plpython3u-
3293hstore_plpython3u-
相关扩展ltree plpython3u faker plperl plpgsql pg_tle

版本

PG18PG17PG16PG15PG14
1.01.01.01.01.0

安装

提示:这是 PostgreSQL 内核自带的 contrib 扩展

CREATE EXTENSION ltree_plpython3u;

用法

ltree_plpython3u: ltree 与 PL/Python3 之间的类型转换

为 PL/Python3U 提供 ltree 类型的转换支持。加载后,ltree 值会自动转换为 Python 字符串,反之亦然。

CREATE EXTENSION ltree_plpython3u;

CREATE FUNCTION ltree_depth(val ltree) RETURNS integer
LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$
  # val 现在是一个 Python 字符串,如 "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

最后修改 2026-03-12: update extension pages (f579993)