【发布时间】:2014-03-14 17:51:01
【问题描述】:
我想获取代码来作为查询的结果来编辑函数,并且有一个 psql 命令可以为您提供已经生成的代码:\ef
是否可以从查询中获取 psql 命令的结果?
【问题讨论】:
标签: entity-framework function postgresql command psql
我想获取代码来作为查询的结果来编辑函数,并且有一个 psql 命令可以为您提供已经生成的代码:\ef
是否可以从查询中获取 psql 命令的结果?
【问题讨论】:
标签: entity-framework function postgresql command psql
您可以使用参数 -E - 几乎适用于所有 \commands
bash-4.1$ psql -E postgres
psql (9.4devel)
Type "help" for help.
postgres=# \l
********* QUERY **********
SELECT d.datname as "Name",
pg_catalog.pg_get_userbyid(d.datdba) as "Owner",
pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding",
d.datcollate as "Collate",
d.datctype as "Ctype",
pg_catalog.array_to_string(d.datacl, E'\n') AS "Access privileges"
FROM pg_catalog.pg_database d
ORDER BY 1;
**************************
....
但这不适用于 \sf 或 \ef 语句 - 这些语句使用函数 pg_get_functiondef()
postgres=# SELECT pg_get_functiondef('pg_catalog.sin'::regproc);
pg_get_functiondef
─────────────────────────────────────────────────────────────
CREATE OR REPLACE FUNCTION pg_catalog.sin(double precision)↵
RETURNS double precision ↵
LANGUAGE internal ↵
IMMUTABLE STRICT ↵
AS $function$dsin$function$ ↵
(1 row)
postgres=# SELECT pg_get_functiondef('pg_catalog.sin(double precision)'::regprocedure);
pg_get_functiondef
─────────────────────────────────────────────────────────────
CREATE OR REPLACE FUNCTION pg_catalog.sin(double precision)↵
RETURNS double precision ↵
LANGUAGE internal ↵
IMMUTABLE STRICT ↵
AS $function$dsin$function$ ↵
【讨论】: