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_tree, format_type()

反馈

请在此处提交任何有关“pg_get_expr()”的评论、建议或更正 这里