Windows PostgreSQL中的权限被拒绝异常

Windows PostgreSQL中的权限被拒绝异常,windows,postgresql,postgresql-9.1,Windows,Postgresql,Postgresql 9.1,运行应用程序时,有时会出现以下错误。应用程序将在此异常情况下停止执行 org.postgresql.util.PSQLException:错误:无法打开文件 base/1459687/1472150:拒绝许可;状态=42501;错误代码=0 DB.saveError:DBExecuteError-错误:无法打开文件 base/1459687/1472150:权限被拒绝 重新启动应用程序后,同一进程将成功执行,并且控制台中没有错误 我正在通过局域网使用java客户机-服务器应用程序。 我正在使用W

运行应用程序时,有时会出现以下错误。应用程序将在此异常情况下停止执行

org.postgresql.util.PSQLException:错误:无法打开文件 base/1459687/1472150:拒绝许可;状态=42501;错误代码=0

DB.saveError:DBExecuteError-错误:无法打开文件 base/1459687/1472150:权限被拒绝

重新启动应用程序后,同一进程将成功执行,并且控制台中没有错误

我正在通过局域网使用java客户机-服务器应用程序。 我正在使用Windows serer 2008。[编者按]摘自评论,因为OP没有


为什么在特定的时间对某些特定表的权限被拒绝?

我怀疑您的问题如下所述:

他们说原始文件和临时文件之间的同步不一致。这发生在文件系统级别,对此有一个热修复程序


我怀疑当每秒事务数或数据库负载通常增加时会发生这种情况。您的数据库有多少保留在内存中?您是否使用可序列化快照隔离级别?我建议这样做?当出现错误时,我会尝试在DB度量中找到一些模式。

对数据库的权限不够。 您还至少需要相关架构的使用权限和表的选择权限

在这一密切相关的回答中有更多细节:
如何将视图上的所有权限授予任意用户

操作系统是服务器中的Windows Server 2008 R2 Standardpg_log文件夹日志,其中列出了有关此错误的以下语句。2014-08-27 01:12:39 GST日志:无法打开文件库/1459687/1461015:共享冲突2014-08-27 01:12:39 GST详细信息:继续重试30秒。2014-08-27 01:12:39 GST提示:您可能有防病毒、备份或类似软件干扰数据库系统。2014-08-27 01:12:39 GST上下文:关系基/1459687/1461015的写入块32962当时没有备份过程;因此,错误的原因可以归结为防病毒/类似软件的参与。这里有什么线索或需要更多信息吗?@Saj我在windows 2008上是你在原始问题中提到的那种细节,特别是在处理权限错误等问题时。我将答案的相关部分复制到下面:这不是PostgreSQL级别的权限。它是底层表的文件系统级权限。在数据库服务器的正常正确操作中不应发生这种情况。有人直接破坏了PostgreSQL数据目录,或者文件系统中出现了问题。最近有过fsck跑步吗?硬崩溃/关机?磁盘故障?@willl这是java问题我没有任何证据。我重新安装了javait,它是V.1.6,然后错误消失了。Java证书在我的情况下已过期;您可以从java控制面板跟踪它。数据库大小约为4GB。postgresql.config中的最大连接数设置为300。权限被拒绝/无法打开文件/共享冲突错误,连接数少于128。如何确认此错误与原始文件和临时文件的sysc不一致?上述链接中是否提供了修补程序建议Microsoft更新的链接只是补救措施?不确定这是唯一的;然而,这是操作系统中的一个问题,微软也承认了这一点。由于您正在使用Win Server 2008,我将尝试查看您的系统上是否存在该更新并安装它。这种多线程同步问题很难重现,因此您需要在所有软件堆栈中找到可能的源代码。这绝对不是一个应用程序问题,而是一个操作系统文件系统或数据库管理系统,或者两者兼而有之。在此之前,没有发生过这个问题!该应用程序在过去18个月内一直有效!客户端和服务器应用程序正在访问数据库。此错误权限被拒绝/仅几次无法打开文件。没有特定的用户或表。