次の機能を使用しようとしています。
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署名と関係がありますか? もしそうなら、どうすれば修正できますか?
ありがとう