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()"的任何评论、建议或更正 此处