我在数据库中有一个表,它应该有超过1k行。 DB是Postgress。我使用以下命令:
select count(*) from icdten;
它返回1000,这是错误的
以及
select * from icdten;
返回前1000行,这是错误的我希望拥有所有这些行。谷歌搜索没有找到,或者我正在搜索错误的东西。
EDIT1:我使用PgAdmin,也许是PgAdmin问题..我只是没有通过界面找到该选项。它应该有14k行。
答案 0 :(得分:0)
在PgAdmin中设置了可能的限制。请查看PgAdmin的“选项/查询”标签,如http://www.pgadmin.org/docs/1.4/options-tab3.html中所述(http://www.pgadmin.org/docs/1.16/options-tab4.html对于您提到的版本1.16):
要检索的最大行数可以设置为1000(默认值为100,人们通常会更改此值),并且“如果估计小于”则计算行数可能会影响到COUNT函数(它可以使用表统计中的计数而不是实数表计数,所以尽量将临时值设置为一个大数字)
答案 1 :(得分:0)
以下是解决此问题的方法:
首先尝试使用psql。虽然select count(*)应该在两者上给你相同,但也许会有一些事情发生。那里也没有限制,所以你可以:
\o testfile
\i select * from icdten
\q (exits psql)
wc -l testfile
如果仍然显示1000行,那么你可能在该表中有1000行,开始确保你连接到正确的数据库,查询你认为你的表等等。
EXPLAIN ANALYSE
在这种情况下可能会有所帮助。
答案 2 :(得分:0)
这不是错误。它只是某些PostgreSQL版本中的默认参数集。
您可以通过转到PostgreSQL的安装目录并导航到def swap_case(s):
l = list(s)
for i in range(len(s)):
if l[i].islower():
l[i] = l[i].upper()
else:
l[i] = l[i].lower()
k = "".join(map(str,l))
return k
来更改参数。版本12的目录如下所示:
pgAdmin 4\web
使用文本编辑器打开C:\Program Files\PostgreSQL\12\pgAdmin 4\web
,然后搜索config.py
。最初设置为ON_DEMAND_RECORD_COUNT
。
1000
您可以注释掉该行,但可能导致其他错误。我建议将其更改为较大的值,例如10,000,000。如果修改后无法保存文件,则需要将文件复制到其他位置,进行更改并保存,然后复制回原始文件夹并替换为原始文件。