在PostgreSql中加载LinkedGeoData非常慢

时间:2014-08-29 06:45:01

标签: postgresql openstreetmap osmosis

我已安装并调整了PostgreSql数据库,并从here下载了 LinkedGeoData 文件,然后执行了lgd-createdb -h localhost -d databasename -U user -W password -f bremen-latest.osm.pbf行(12MB)和{{{{ 1}}(21.6 MB)并且运行良好且不到15分钟,但我试图加载一个较重的文件,如saarland-latest.osm.pbf(54MB),它没有反应非常好,系统执行该行,但我等待结果,因为昨天。

我的PostgreSql配置文件Mecklenburg-Vorpommern-latest.osm.pbf的值是

postgresql.conf

我的PostgreSql版本在Debian Machine下是9.1。

我该如何解决这个问题?

我提前感谢你。

1 个答案:

答案 0 :(得分:1)

我是lgd-createdb脚本的开发者,我只是尝试使用postgresql 9.3(通过ubuntu 14.04)在具有四核I7,SSD和8GB RAM的笔记本上重现问题 - 对我而言Mecklenburg-Vorpommern -latest.osm.pbf文件在不到10分钟的时间内加载。

我的设置是:

shared_buffers = 2GB
temp_buffers = 64MB
work_mem = 64MB
maintenance_work_mem = 256MB
checkpoint_segments = 64
checkpoint_completion_target = 0.9
checkpoint_warning = 30s
effective_cache_size = 2GB

与你的非常相似。

我甚至创建了一个新版本的LGD脚本(尚未在repo中),其中osmosis被配置为首先将数据加载到"快照"架构,然后将其转换为"简单"架构。渗透针对前一个模式进行了优化,实际上在一次运行中(使用CompactTempFile选项)它稍微快一些(8分钟快照与8:30分钟简单)。

你有SSD吗?后者的加载策略在非SSD上可能会明显加快(尽管50MB文件不应该是几小时)。 也许系统负载指示器(如htop或indicator-multiload)可以帮助您揭示资源问题(例如,另一个进程耗尽RAM或高磁盘I / O)。