У меня эти две таблицы в postgresql, PATHWAY и таблица вершин, которую я создал с помощью pgr_createTopology, называемой PATHWAY_VERTICES_PGR. Все было здорово, пока я не решил создать резервную копию базы данных, чтобы восстановить ее позже, теперь, когда я ее восстановил, с теми же версиями postgres 9.3.4 x64, postgis 2.1.3 и pgrouting 2.0, ничего не изменилось, но тот факт, что я восстановил это, и теперь pgr_dijkstra перестал работать, им получать эту ошибку каждый раз, когда я запрашиваю для pgr_dijkstra:pgRouting перестает работать после резервного копирования базы данных
ERRO: Error computing path: Unknown exception caught!
********** Error **********
ERRO: Error computing path: Unknown exception caught!
SQL state: 38001
но когда я искать код ошибки:
38001 containing_sql_not_permitted
пример запроса, который был полностью до момента восстановления:
SELECT seq, id1 AS node, id2 AS edge, cost, geom FROM pgr_dijkstra(' SELECT r.gid as id, r.source, r.target, st_length(r.geom) as cost,r.geom FROM PATHWAY r' ,956358,734134, false, false) as di JOIN PATHWAY pt ON di.id2 = pt.gid
Я уже пробовал переустанавливать Postgres, удаляя и добавляя расширения postgis и pgrouting, но ошибка сохраняется. Если у вас есть какие-либо идеи, дайте мне знать, эти коды ошибок postgresql трудно расшифровать.
Сообщение: «ERRO: Путь вычисления ошибок: обнаружено исключение!» означает, что что-то в коде C++ взорвалось. Является ли это тем же оборудованием, что и раньше? Более или менее память? был ли изменен файл postgresql.conf? Выполняет ли ANY pgr_dijkstra() запрос? У вас огромные идентификаторы узлов, это может быть проблемой, потому что для этого нужен ОГРОМНЫЙ объем памяти.Вы можете попробовать перенумеровать свои узлы и посмотреть, работает ли это. –
такое же аппаратное обеспечение, как и раньше, то же ОС, 32 ГБ или бара, у меня также была вся резервная копия папки данных на всякий случай, поэтому все файлы conf одинаковы, самые кратчайшие запросы к пути я ставил другие фильтры, чтобы уменьшить использование памяти. Я сделаю новую пару таблиц (edge + vertices_pgr) с 100k записями, чтобы проверить, является ли это проблемой памяти. Кроме того, тестирование с другими методами кратчайших путей, доступных, bdDijkstra и A * – catacavaco
см http://gis.stackexchange.com/questions/112739/pgrouting-pgr-dijkstra-function-error для подробного технического ответа на это ... – ricquochet