Не могу использовать функции pgRouting в PostgreSQL 9.2

У меня есть 3 файла pgRouting sql,

  • routing_core
  • routing_core_wrappers
  • маршрутизация_топология

И я запускаю код в первом в PostgreSQL 9.2, я получаю эту ошибку,

введите здесь описание изображения

ПС. хотя в расширениях 9.2 уже есть функции pgRouting, я все еще не могу запустить следующий код,

ALTER TABLE tc_2000_w_area ADD COLUMN source integer;
ALTER TABLE tc_2000_w_area ADD COLUMN target integer;
SELECT assign_vertex_id('tc_2000_w_area', 0.0001, 'the_geom', 'gid')

получил ошибку,

>>> 

Traceback (most recent call last):
  File "C:/Users/Heinz/Desktop/python_test/any_test.py", line 12, in <module>
    cur.execute(query)
ProgrammingError: 錯誤:  函式 assign_vertex_id(unknown, numeric, unknown, unknown) 不存在
LINE 4:     SELECT assign_vertex_id('tc_2000_w_area', 0.0001, 'the_g...
                   ^
HINT:  沒有符合指定之名稱和參數型別的函式。您可能需要加入明確型別轉換。

Поэтому я думаю сначала запустить указанные выше 3 файла sql.

Но я могу запустить все 3 файла sql в PostgreSQL 8.4.

Я работаю с PostgreSQL 9.2, PostgreSQL 8.4 под Windows 8.1 x64.


ОБНОВЛЕНИЕ №1

Я запускаю код ниже, но показывает сообщение об ошибке,

create extension pgrouting;

錯誤:  擴充功能 "pgrouting" 已存在

********** 錯誤 **********

錯誤: 擴充功能 "pgrouting" 已存在
SQL 狀態: 42710

сообщение об ошибке означает, что расширение pgRouting уже существует, но если я напрямую использую код в своем исходном сообщении, я получу ту же ошибку, что и я.


person Heinz    schedule 17.04.2014    source источник
comment
Вы CREATE EXTENSION pgrouting; в базе данных?   -  person Craig Ringer    schedule 17.04.2014
comment
Я отредактировал свой пост.   -  person Heinz    schedule 17.04.2014


Ответы (1)


Вы должны установить postgis перед pgrouting.

create extension postgis;

create extension pgrouting;

Тогда вы должны быть в состоянии использовать его.

person Stephen Woodbridge    schedule 18.04.2014