这是使用stats()或仅在计算数据库大小时的问题。在windows 7中使用postgresql,localhost。
执行此操作后的问题是:
"could not stat file "base/17436/119145": Permission denied"
我花了很多时间来解决这个问题,直到我意识到真正的问题是什么。
所以我要回答自己。
答案 0 :(得分:4)
这可能有两个原因:
- 没有足够权限的数据库(登录角色)用户。
在这种情况下,请检查用户(例如" postgres")是否已激活所有控件和权限。
- 如果是localhost,请检查您的防病毒软件,两次。
postgresql制作的统计数据可能被许多反病毒(在我的情况下是ESET)视为病毒运动,是误报,唯一的解决方案是找到数据库的目录(如\ PostgreSQL \ 9.3 \ data)和在防病毒软件中为该目录创建例外。
如您所见,第二个选项与它自己的数据库代码无关。
希望这对你有所帮助。
答案 1 :(得分:3)
在我的情况下(正如@JB建议的那样)重新启动PostgreSQL服务在某些情况下会起作用。
答案 2 :(得分:0)
在我的情况下,我在打破" reindexdb.exe数据库后出现此错误"使用Ctrl-C命令。我在Windows 7命令提示符下运行它。 PostgreSQL服务的Stop-Start解决了这个问题。