将本地 Geoserver 的数据目录移动到生产服务器无法创建新商店

Moving local Geoserver's data directory to production server unable to create new store

我在 tomcat 上有一个本地 GeoServer 运行,它使用 PostGIS 存储从 PostgreSQL 数据库中获取图层。有一个生产服务器运行与我的本地 GeoServer 和 PostgreSQL 数据库相同的版本。为了应用本地 GeoServer 的图层和图层组的更改,我将数据目录复制并替换为生产 GeoServer。在生产服务器上重新启动 tomcat 后,Geoserver 无法在 Web 界面上加载图层和图层预览页面。尝试更改商店的主机地址或创建一个新的,它给我这个错误:

Error creating data store with the provided parameters: Failed to upgrade lock from read to write state, please re-try the configuration operation

您没有说明您正在使用哪个 OS 或者您是如何制作副本的,但最有可能的错误是权限或所有权错误。

确保 运行 GeoServer 用户有权读取、写入和执行数据目录。在 linux 机器上,我发现 uidgid 机器之间的差异取决于复制 ID 的执行方式。在 Windows 我看到问题只是因为 windows 和病毒扫描器喜欢它。

使用社区功能jdbcconfig时,同样的问题。

好像是因为执行目录的文件锁定而发生错误。

由于使用 JDBCconfig 不使用数据目录,因此 file lock 已通过将其设置为 Lock Disable 进行了改进。

https://docs.geoserver.org/stable/en/user/configuration/globalsettings.html#file-locking