Postgresql osm2pgsql已停止工作
我想用osm2pgsql导入osm planet-131113.osm.pbf。 但当它处理关系时,窗口抛出并说osm2pgsql已停止工作,然后进程被终止。问题是什么 我的硬件是: Cpu:英特尔至强E5-2620 内存:24GB 维修:supermico x9dr3-f-o 硬盘:希捷2tb梭鱼 我的操作系统: windows server 2008 R2 以及带有postgis2.1捆绑包的Postgresql9.3 Postgresql配置:Postgresql osm2pgsql已停止工作,postgresql,openstreetmap,postgis,Postgresql,Openstreetmap,Postgis,我想用osm2pgsql导入osm planet-131113.osm.pbf。 但当它处理关系时,窗口抛出并说osm2pgsql已停止工作,然后进程被终止。问题是什么 我的硬件是: Cpu:英特尔至强E5-2620 内存:24GB 维修:supermico x9dr3-f-o 硬盘:希捷2tb梭鱼 我的操作系统: windows server 2008 R2 以及带有postgis2.1捆绑包的Postgresql9.3 Postgresql配置: effective-chache-size
effective-chache-size=28GB
shared_buffers 2GB
maintenance_work_mem = 2GB
work-mem=512MB
checkpoint_segments = 100
chekpoint_completion-target=0.9
autovacuum = off
fsync=off
synchronous-commit=off
full-page-writes=off
和osm2pgsql命令:
F:\OSM\x64>osm2pgsql-d OSMPlanet-s-s default.style-C 16000-U postgres-r pbf-k-v-number进程12 planet-131113.OSM.pbf
osm2pgsql SVN版本af61cae663 64位id空间
发行说明:“Dominik Perpeet构建的Windows版本
.com/osm2pgsql/index.html'
警告:osm2pgsql编译时未使用fork,仅使用一个进程
使用投影SRS 900913球形墨卡托
设置表:planet_osm_point
注意:表planet_osm_point不存在,正在跳过
注意:表planet_osm_point_tmp不存在,正在跳过
设置表:planet_osm_线
注意:表planet_osm_行不存在,正在跳过
注意:表格planet_osm_line_tmp不存在,正在跳过
设置表:planet_osm_多边形
注意:表格planet_osm_多边形不存在,正在跳过
注意:表planet\u osm\u polygon\u tmp不存在,正在跳过
设置表:planet_osm_道路
注意:表planet_osm_roads不存在,正在跳过
注意:表planet_osm_roads_tmp不存在,正在跳过
为稀疏节点缓存分配内存
节点缓存:缓存=16000MB,最大块=2048001*zd,分配方式=8192
Mid:pgsql,规模=100缓存=16000
设置表:planet_osm_节点
注意:表planet_osm_节点不存在,正在跳过
设置表:planet_osm_方式
注意:表planet_osm_ways不存在,正在跳过
设置表:planet_osm_rels
注意:表planet_osm_rels不存在,正在跳过
正在读取文件:planet-131113.osm.pbf
处理:节点208451K 142.6k/s路径204149K 0.84k/s关系95360 5.64/s
postgresql日志:
2013-12-09 00:46:19 PST错误:与打开的事务进行客户端连接时出现意外EOF
2013-12-09 00:46:19太平洋标准时间上下文:复制行星节点,第1行
2013-12-09 00:46:19太平洋标准时间声明:从STDIN复制planet_osm_节点
2013-12-09 00:46:19 PST错误:与打开的事务进行客户端连接时出现意外EOF
2013-12-09 00:46:19太平洋标准时间上下文:复制planet_osm_rels,第1行
2013-12-09 00:46:19太平洋标准时间声明:从STDIN复制行星轨道
2013-12-09 00:46:19 PST日志:无法向客户端发送数据:无法建立连接,因为目标计算机主动拒绝连接
2013-12-09 00:46:19太平洋标准时间声明:从STDIN复制行星轨道
2013-12-09 00:46:19 PST日志:无法向客户端发送数据:无法建立连接,因为目标计算机主动拒绝连接
2013-12-09 00:46:19太平洋标准时间声明:从STDIN复制planet_osm_节点
2013-12-09 00:46:19 PST日志:无法向客户端发送数据:无法建立连接,因为目标计算机主动拒绝连接
2013-12-09 00:46:19太平洋标准时间声明:从STDIN复制行星轨道
2013-12-09 00:46:19太平洋标准时间致命:与客户端的连接丢失
2013-12-09 00:46:19太平洋标准时间致命:与客户端的连接丢失
2013-12-09 00:46:19太平洋标准时间致命:与客户端的连接丢失
2013-12-09 00:46:19太平洋标准时间致命:与客户端的连接丢失
2013-12-09 00:48:53 PST日志:收到快速关机请求
2013-12-09 00:48:53 PST日志:中止任何活动事务
2013-12-09 00:48:53太平洋标准时间日志:关闭
2013-12-09 00:48:53 PST日志:数据库系统已关闭请检查您的PostgreSQL日志,查看它是否在客户端死亡之前报告任何错误。然后检查osm2pgsql在运行时的内存使用情况。如果1和2中没有任何东西可以控制,那么它可能是一个bug,但是首先检查错误和内存不足问题。谢谢你的回答。。我查了一下Postgresql日志,发现了这个。2013-12-09 00:46:19太平洋标准时间致命:与客户端的连接丢失。问题是什么?客户端osm2pgsql在未关闭连接的情况下死亡。好的-如果没有其他问题,那么我们知道问题出在osm2pgsql中。对此我应该怎么做?好的,按照我的建议,首先检查内存使用情况。然后,查看是否有可以使用osm2pgsql设置的详细或调试选项。我知道有一种方法可以减少内存的使用。