- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用以下功能;
SELECT Assign_vertex_id('ways', 0.00001, 'the_geom', 'gid')
但由于某种原因,它给了我以下错误;
NOTICE: CREATE TABLE will create implicit sequence "vertices_tmp_id_seq" for serial column "vertices_tmp.id"
CONTEXT: SQL statement "CREATE TABLE vertices_tmp (id serial)"
PL/pgSQL function "assign_vertex_id" line 15 at EXECUTE statement
ERROR: function addgeometrycolumn(unknown, unknown, integer, unknown, integer) is not unique
LINE 1: SELECT addGeometryColumn('vertices_tmp', 'the_geom', 4326, '...
^
HINT: Could not choose a best candidate function. You might need to add explicit type casts.
QUERY: SELECT addGeometryColumn('vertices_tmp', 'the_geom', 4326, 'POINT', 2)
CONTEXT: PL/pgSQL function "assign_vertex_id" line 24 at EXECUTE statement
********** Error **********
ERROR: function addgeometrycolumn(unknown, unknown, integer, unknown, integer) is not unique
SQL state: 42725
Hint: Could not choose a best candidate function. You might need to add explicit type casts.
Context: PL/pgSQL function "assign_vertex_id" line 24 at EXECUTE statement
现在,根据我的发现,它必须带有旧的 PostGIS 签名。当我运行以下命令时感染;
select proname, proargnames from pg_proc where proname = 'addgeometrycolumn';
结果是这样的;
pg_proc returns 6 rows.
Three rows with column proargnames returning a blank or (null) value
有人可以帮助我吗?这与旧的 postgis 签名有关吗?如果是这样,我该如何解决?
谢谢
最佳答案
我也遇到过这个问题,我觉得楼主可能解决的不对。首先,AddGeometryColumn 确实重载了。三个原型(prototype)是:
AddGeometryColumn(table_name, column_name, srid, type, dimension,
use_typmod=true)
AddGeometryColumn(schema_name, table_name, column_name, srid, type, dimension, use_typmod=true)
AddGeometryColumn(catalog_name, schema_name, table_name, column_name, srid, type, dimension, use_typmod=true)
在我的例子中,更改以下查询:
SELECT AddGeometryColumn('public', 'facilities', 'walk_area', 4326, 'POLYGON', 2);
(使用第二种形式)对此:
SELECT AddGeometryColumn('public', 'facilities', 'walk_area', 4326, 'POLYGON', 2, true);
解决了问题。
关于database - 错误 : function addgeometrycolumn is not unique,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331981/
我要导入OSM file使用工具 Osm2pgsql 进入我的 PostgreSQL 数据库(Windows,Postgres 版本 9.2) . 当我运行以下命令时 osm2pgsql.exe --
我正在尝试使用以下功能; SELECT Assign_vertex_id('ways', 0.00001, 'the_geom', 'gid') 但由于某种原因,它给了我以下错误; NOTICE:
创建几何列的常用方法是 AddGeometryColumn,但是我必须使用预先存在的列,所以我不能使用该函数(据我所知)。 感谢 PostGIS docs ,我已经可以在“geometry_colum
我正在使用 PADUS OBI shape file ,这可能并不重要。 我正在使用默认选项通过 shp2pgsql 运行形状文件,如下所示: shp2pgsql PADUS_1_1_CBI_Edit
我正尝试通过 QGIS 中的数据库管理器将 shapefile 导入我的 POSTGIS 数据库,但出现错误,我不知道如何解决: ERROR: function addgeometrycolumn(
我是一名优秀的程序员,十分优秀!