pg_get_expr()

反编译 pg_node_tree 值的函数

pg_get_expr() 是一个系统函数,它将存储为 pg_node_tree 值的表达式反编译成适合包含在 SQL 语句中的文本。

pg_get_expr() 添加于 PostgreSQL 7.2

用法

pg_get_expr ( expr pg_node_tree, relation oid [, pretty boolean ] ) → text

如果 pg_node_tree 表达式引用了另一个关系,则必须指定其 OID,否则应提供 0

变更历史

示例

用于 pg_get_expr() 的基本用法示例,以检索 生成列 的定义

postgres=# CREATE TABLE temperature (
               celsius SMALLINT NOT NULL,
               fahrenheit SMALLINT NOT NULL GENERATED ALWAYS AS ((celsius * 9/5) + 32) STORED
           );
CREATE TABLE

postgres=# SELECT pg_get_expr(adbin, adrelid, true)
             FROM pg_attrdef
            WHERE adrelid = 'temperature'::regclass;
      pg_get_expr
------------------------
 (celsius * 9 / 5 + 32)
(1 row)

分类

系统函数

参见

pg_node_treeformat_type()

反馈

提交任何关于 "pg_get_expr()" 的评论、建议或更正 此处