CREATE EXTENSION ltree_plpython3u CASCADE; NOTICE: installing required extension "plpython3u" CREATE FUNCTION test1(val ltree) RETURNS int LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT test1('aa.bb.cc'::ltree); INFO: ['aa', 'bb', 'cc'] test1 ------- 3 (1 row) CREATE FUNCTION test1n(val ltree) RETURNS int LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT test1n('aa.bb.cc'::ltree); INFO: ['aa', 'bb', 'cc'] test1n -------- 3 (1 row) CREATE FUNCTION test2() RETURNS ltree LANGUAGE plpython3u TRANSFORM FOR TYPE ltree AS $$ return ['foo', 'bar', 'baz'] $$; -- plpython to ltree is not yet implemented, so this will fail, -- because it will try to parse the Python list as an ltree input -- string. SELECT test2(); ERROR: ltree syntax error at character 1 CONTEXT: while creating return value PL/Python function "test2"