我有3个pgRouting sql文件,
我在PostgreSQL 9.2的第一个中运行代码,我收到了这个错误,
PS。虽然在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文件。
但我可以在PostgreSQL 8.4中运行所有3个sql文件
我正在使用Windows 8.1 x64下的PostgreSQL 9.2,PostgreSQL 8.4。
更新#1
我运行下面的代码,但显示错误消息,
create extension pgrouting;
錯誤: 擴充功能 "pgrouting" 已存在
********** 錯誤 **********
錯誤: 擴充功能 "pgrouting" 已存在
SQL 狀態: 42710
错误消息表示pgRouting扩展已存在,但如果我直接使用原始帖子中的代码,则会收到与我发布的相同的错误。
答案 0 :(得分:0)
你必须在pgrouting之前安装postgis。
create extension postgis;
create extension pgrouting;
然后你应该可以使用它。