如何在SQL中打印到控制台?

如何在SQL中打印到控制台?,sql,postgresql,plpgsql,Sql,Postgresql,Plpgsql,我正在使用PostgreSQL,我想在控制台上打印一条消息 如果我使用plpythonu我使用plpy。注意 如果我使用plpgsql我使用raisenotice 但是,当函数是纯SQL时,如何打印? 使用选择“String”不会帮助我在列中打印字符串,如果消息位于代码中间,则不会显示它。 我想要一些类似于raisenotice/plpy.notice的东西,用于SQL CREATE OR REPLACE FUNCTION A() RETURNS VOID AS $BODY$

我正在使用
PostgreSQL
,我想在控制台上打印一条消息

如果我使用
plpythonu
我使用
plpy。注意
如果我使用
plpgsql
我使用
raisenotice

但是,当函数是纯
SQL
时,如何打印? 使用<代码>选择“String”不会帮助我在列中打印字符串,如果消息位于代码中间,则不会显示它。 我想要一些类似于
raisenotice
/
plpy.notice
的东西,用于
SQL

CREATE OR REPLACE FUNCTION A()
  RETURNS VOID AS
$BODY$ 
                how do i print 'hello world' here?
 $BODY$
  LANGUAGE sql VOLATILE
如果它是一个
plpgsql
,我会:

CREATE OR REPLACE FUNCTION A()
  RETURNS VOID AS
$BODY$ 
        Raise Notice 'hello world'
 $BODY$
  LANGUAGE plpgsql VOLATILE

我正在寻找SQL语言中的等价物,您只能在SQL中选择它

db=# CREATE FUNCTION b() RETURNS text AS                                                                                                                                         
$BODY$                                                                                                                                                                            
select 'Hello there'::text;                                                                                                                                                     
$BODY$                                                                                                                                                                          
 LANGUAGE sql VOLATILE;
CREATE FUNCTION
db=# select b()::text;                                                                                                                                                                
b
-------------
 Hello there
(1 row)
在普通SQL中,有一个命令。该命令将有效载荷发送到通道。信道和有效负载可以是任何字符串

CREATE OR REPLACE FUNCTION A() RETURNS void AS $BODY$ 
  NOTIFY msg, 'hello world';
$BODY$ LANGUAGE sql;
然后:

LISTEN msg;
SELECT A();

Asynchronous notification "msg" with payload "hello world" received from server process with PID 3275.

UNLISTEN msg;

该消息还将包含一些有关其来源的信息。如果你真的只想要字符串(有效载荷),那么你必须从完整的字符串中解析出来。

请参见编辑我的问题要简单得多,它与python无关,我只是举了一个例子,一个返回简单字符串
VOLATILE
的函数是什么?sql没有这个。您只能在PL/pgSQL中使用
raisenotice
X-post执行此操作