一个**转换
** 是一个指定如何将本地 SQL 数据类型转换为过程语言
的本地变量类型的函数。
默认情况下,传递给过程语言的任何 SQL 数据类型都会转换为该语言的文本表示形式,但是特别是对于hstore
或JSON
等更复杂的数据类型,通常希望将其转换为更合适的表示形式,例如关联数组、哈希、字典、列表等。
转换
功能是在PostgreSQL 9.5 中添加的。
实现
转换
是使用CREATE TRANSFORM
创建的,它会在pg_transform
系统目录 表中创建一个相应的条目。并且通常转换创建将由为特定
过程语言
提供转换的扩展
处理。
转换
是使用DROP TRANSFORM
删除的,尽管这通常会在DROP EXTENSION
操作的一部分中透明地执行。
提供转换的扩展
截至PostgreSQL 14,以下contrib 模块 提供转换
bool_plperl
(PostgreSQL 14 及更高版本)hstore_plperl
(PostgreSQL 9.5 及更高版本)hstore_plpython
(PostgreSQL 9.5 及更高版本)jsonb_plperl
(PostgreSQL 11 及更高版本)jsonb_plpython
(PostgreSQL 11 及更高版本)ltree_plpython
(PostgreSQL 9.5 及更高版本)
更改历史记录
- PostgreSQL 9.5
- 添加 (提交 cac76582)