为什么在PGAdmin中,两个语句仅显示一个结果

时间:2020-09-19 13:33:30

标签: postgresql pgadmin-4

例如,

select 1;
select 2;

这只会显示一个结果为2。但是在Microsoft数据库中,您可以显示两个结果。

1 个答案:

答案 0 :(得分:0)

您也可以在Postgres中显示两个结果。使用psql客户端:

 select 1; select 2;
 ?column? 
----------
        1
(1 row)

 ?column? 
----------
        2

因此,请在pgAdmin中尝试一行。一些测试表明pgAdmin实际上确实将以上内容转换为一行。事实证明,这个问题在更上游。在Query Editor and SELECT output in transaction中(您需要使用Postgres社区帐户才能查看):

psycopg2不提供多个语句的输出。这些语句将被执行,但仅返回最后一条语句的输出。

指向此Supporting multistatement and UNION fetching #942的地方。的解释是:

虽然有线协议允许,但psycopg用于与PostgreSQL通信的libpq却不允许。

因此堆栈不会返回所有语句输出,仅返回最后一个。