1

我已经安装并调整了我的 PostgreSql 数据库,并从这里下载了 LinkedGeoData文件,然后我执行了(12MB) 行和(21.6 MB) 行,并且在 15 分钟内运行良好,但我尝试加载更重的文件,例如( 54MB)并且它的反应不是很好,系统执行该行但我从昨天开始等待结果。lgd-createdb -h localhost -d databasename -U user -W password -f bremen-latest.osm.pbfsaarland-latest.osm.pbfMecklenburg-Vorpommern-latest.osm.pbf

我的 PostgreSql 的 conf 文件的值postgresql.conf

shared_buffers               = 2GB 
effective_cache_size         = 4GB
checkpoint_segments          = 256
checkpoint_completion_target = 0.9
autovacuum                   = off 
work_mem                     = 256MB
maintainance_work_mem        = 256MB

我的 PostgreSql 版本在 Debian 机器下是 9.1。

我该如何解决这个问题?

我提前谢谢你。

4

1 回答 1

0

我是 lgd-createdb 脚本的开发人员,我只是尝试在具有四核 I7、SSD 和 8GB RAM 的笔记本电脑上使用 postgresql 9.3(通过 ubuntu 14.04)重现该问题——对我来说是最新的 Mecklenburg-Vorpommern。 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 被配置为首先将数据加载到“快照”模式中,然后将其转换为“简单”模式。Osmosis 针对前一种模式进行了优化,并且确实在单次运行中(使用CompactTempFile选项)稍微快一些(8 分钟快照 vs 8:30 分钟简单)。

你有固态硬盘吗?后一种加载策略在非 SSD 上可能要快得多(尽管 50MB 文件不应该是几个小时)。也许诸如 htop 或 indicator-multiload 之类的系统负载指示器可以帮助您发现资源问题(例如内存不足或另一个进程的磁盘 I/O 高)。

于 2014-09-19T01:55:24.127 回答