Очень медленная загрузка LinkedGeoData в PostgreSql

Я установил и настроил свою базу данных PostgreSql и скачал отсюда файлы LinkedGeoData, а затем выполнил строку lgd-createdb -h localhost -d databasename -U user -W password -f bremen-latest.osm.pbf (12MB) и то же самое для saarland-latest.osm.pbf (21,6 МБ) и работал нормально и менее 15 минут, но я попытался загрузить более тяжелый файл, например Mecklenburg-Vorpommern-latest.osm.pbf (54MB) и это не очень хорошо отреагировало, система выполняет эту строку, но я жду результата со вчерашнего дня.

Значения моего файла conf в PostgreSql 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 - 9.1 под Debian Machine.

Как я могу решить эту проблему?

Я благодарю вас заранее.

1 ответ

Я являюсь разработчиком сценария lgd-createb, и я только что попытался воспроизвести проблему с помощью postgresql 9.3 (через ubuntu 14.04) на ноутбуке с четырехъядерным процессором I7, SSD и 8 ГБ оперативной памяти - и для меня 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 (еще не в репо), где осмос настроен так, чтобы сначала загружать данные в схему "снимка", а затем преобразовывать их в "простую" схему. Осмос оптимизирован для прежней схемы, и действительно, за один прогон (с использованием опции CompactTempFile) он был немного быстрее (снимок 8 минут против простого 8:30 минут).

У вас есть SSD? Последняя стратегия загрузки может быть значительно быстрее на не-SSD (хотя для файла размером 50 МБ не должно быть часов). Возможно, индикатор загрузки системы, такой как htop или display-multiload, мог бы помочь вам выявить проблемы с ресурсами (например, нехватка ОЗУ или высокая скорость дискового ввода-вывода другим процессом).

Другие вопросы по тегам