我在Windows Server 2012 64位上运行osm2pgsql时遇到错误。 命令是:
osm2pgsql -U postgres -m -d osm -p osm -E 3857 -s -C 25000 -S C:\OSM\osm2pgsql\default.style C:\OSM\Data\europe-latest.osm.pbf
错误是:
Processing: Node(1827650k 125.4k/s) Way(0k 0.00k/s) Relation(0 0.00/s)COPY_END for COPY osm_nodes FROM STDIN;
failed: ERROR: duplicate key value violates unique constraint "osm_nodes_pkey"
DETAIL: Key (id)=(100) already exists.
CONTEXT: COPY osm_nodes, line 1728899719
在此失败后,当我使用pgAdmin III查看数据库时,没有创建新表,只有'spacial_ref_sys'表。基本上,我遵循这个指南进行了一些额外的研究,因为我还有许多其他困难: http://openstreetmapserverwindows.blogspot.ie/2015/11/osmopenstreetmap-tile-server.html
如何成功将此Europe文件导入Postgres数据库? 它从这里下载: http://download.geofabrik.de/
以前我尝试过相同的命令,但是没有-s和没有-C(缓存),但是它说缓冲区太小了,所以首先我添加了-C30000,但是这个进程占用了大量的内存,它只是停止了(我们的服务器已经停止了) “仅”32 GB RAM),接下来我添加-s(超薄模式)并将缓存减少到-C 25000(在超薄模式下真的很重要吗?)。现在有什么不对,有人知道吗?
感谢。