hstore_plpython3u

在 hstore 和 plpython3u 之间转换

概览

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

版本

PG18PG17PG16PG15PG14
1.01.01.01.01.0

安装

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

CREATE EXTENSION hstore_plpython3u;

用法

hstore_plpython3u: hstore 与 PL/Python3 之间的类型转换

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

CREATE EXTENSION hstore_plpython3u;

CREATE FUNCTION hstore_to_pairs(val hstore) RETURNS text
LANGUAGE plpython3u TRANSFORM FOR TYPE hstore AS $$
  # val 现在是一个 Python 字典
  return ', '.join(f'{k}={v}' for k, v in sorted(val.items()))
$$;

CREATE FUNCTION make_hstore(key text, value text) RETURNS hstore
LANGUAGE plpython3u TRANSFORM FOR TYPE hstore AS $$
  return {key: value}
$$;

SELECT hstore_to_pairs('a=>1, b=>2'::hstore);
SELECT make_hstore('color', 'blue');

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