gpt4 book ai didi

postgresql - Osmosis 抛出奇怪的 Java 错误

转载 作者:行者123 更新时间:2023-11-29 13:43:55 25 4
gpt4 key购买 nike

一段时间以来,我一直在尝试将 north-america-latest.osm.pbf(来自 Geofabrik)导入 Postgres 数据库。在彻底查看 wiki 详细用法页面后,我通过包含的 sql 脚本将数据库设置为包含所有必要的表 (pgSnapshot)。我还通过运行一个较小的文件 (Antarctica) 来确保渗透按预期运行,并且我得到了预期的结果。但是,当我尝试对北美文件执行相同的过程时,我收到一个与网络上报告的其他错误不同的错误。我正在尝试将这些数据放到服务器上,上传到我的本地似乎没问题。

这是我的代码(通过命令提示符):

C:\Users\eddie\Desktop>osmosis --read-pbf-fast north-america-latest.osm.pbf --log-progress interval=3000 --write-pgsql nodeLocationStoreType="TempFile" host=1*.8*.*.*0* database=osm postgresSchema=osm_updates user=eddie password=***

这是我收到的错误信息:

SEVERE: Thread for task 1-read-pbf-fast failed
org.springframework.dao.EmptyResultDataAccessException: Incorrect result
size: expected 1, actual 0
at org.springframework.dao.support.DataAccessUtils.requiredSingleResult(DataAccessUtils.java:71)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:495)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:500)
at org.openstreetmap.osmosis.pgsnapshot.common.SchemaVersionValidator.validateDBVersion(SchemaVersionValidator.java:64)
at org.openstreetmap.osmosis.pgsnapshot.common.SchemaVersionValidator.validateVersion(SchemaVersionValidator.java:47)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.CopyFilesetLoader.run(CopyFilesetLoader.java:77)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.PostgreSqlCopyWriter.complete(PostgreSqlCopyWriter.java:117)
at org.openstreetmap.osmosis.core.progress.v0_6.EntityProgressLogger.complete(EntityProgressLogger.java:82)
at org.openstreetmap.osmosis.pbf2.v0_6.PbfReader.run(PbfReader.java:96)
at java.lang.Thread.run(Unknown Source)

Jul 19, 2018 8:28:24 AM org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

我在 Windows 10 上运行 osmosis .46、Postgres/PostGis 10/2.4,配备 12GB RAM 和 2 个 Intel 2.4GHz 处理器。

更新:即使我运行较小的文件,现在也会出现错误。此外,从进度记录器消息中可以看出,渗透的行为就好像它正在处理一个更大的文件(到达南极洲的节点 4614331685)。将加拿大的 OSM 数据上传到我的本地没有任何问题,因此问题可能与我尝试连接的服务器有关。不过,如果有人对如何破译错误消息有任何线索,我想听听他们的意见!

最佳答案

我采纳了@mmd 关闭架构验证的建议,让渗透得以发挥作用。尽管我运行了 pgsnapshot 脚本并且之前已经成功地将数据放在那里,但关于做整个北美的一些事情似乎把它扔掉了。我将在后续数据库更新后更新此答案。

关于postgresql - Osmosis 抛出奇怪的 Java 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51427296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com