postgres会限制我的查询吗?

时间:2015-03-18 00:07:29

标签: postgresql npgsql

我正在尝试使用npgsql对postgresql运行以下查询:

SELECT product_id, product_id_type, asin
FROM products 
WHERE invalid_id = FALSE and last_update is null or last_update < (CURRENT_DATE - 1) AND product_id_type IN ('EAN', 'UPC');

当我从0xDBE运行它时,我得到500的结果集。如果我将查询更改为SELECT COUNT(*)...那么它告诉我有&gt; 6000行。

当我从Ngpgsql运行它时,我得到0结果。我的IDataReader为HasRows返回“false”,而Read()也返回false。但是,如果我通过附加“LIMIT 1000”将我的查询限制为1000个结果,那么我会得到结果。

在Postgres的某个地方是否有一个“资源调控器”设置控制它?

是的,我意识到我不应该那么多,我很懒。我已经纠正了这个问题,但是因为我想了解更多关于postgres的信息,我想知道这个设置的管理位置以及我可能会阅读哪些主题以了解更多信息。

由于

更新 @ Peter-Headland回答说PostgreSQL不是这个问题的根源,它在技术上回答了我的问题。但是,问题的根源在于实际原因。我没有在Npgsql文档中看到任何内容来解释这种行为。为什么我需要在我的查询中添加LIMIT才能获得任何结果?

1 个答案:

答案 0 :(得分:2)

PostgreSQL数据库将返回查询选择的所有行;没有秘密限制器(&#34;资源调控器&#34;)。您观察到的任何差异都是您正在使用的工具的工件或未提交事务的结果(这会导致不同的行集在不同的上下文中可见)。工具可能会限制它们获取的结果集的大小;这些限制可以在工具中配置,但不会影响数据库的核心行为。