0

我有 3 个 pgRouting sql 文件,

  • 路由核心
  • routing_core_wrappers
  • 路由拓扑

我在 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 扩展已经存在,但是如果我直接使用原始帖子中的代码,则会得到与我发布的相同的错误。

4

1 回答 1

0

您必须在 pgrouting 之前安装 postgis。

create extension postgis;

create extension pgrouting;

那么你应该可以使用它了。

于 2014-04-18T00:37:07.993 回答