postgresql – osm2pgsql:函数AddGeometryColumn不存在

  

我想使用工具 Osm2pgsql将 OSM file导入PostgreSQL数据库(Windows,Postgres版本9.2).

 

当我运行以下命令

 

osm2pgsql.exe --create -d mydb artyom.xml -U myuser -W --style default.style

我得到错误

 

SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2 );
 failed: FEHLER:  Funktion addgeometrycolumn(unknown, unknown, integer, unknown,
 integer) existiert nicht
LINE 1: SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, ...
               ^
HINT:  Keine Funktion stimmt mit dem angegebenen Namen und den Argumenttypen ├╝b
erein. Sie m├╝ssen m├Âglicherweise ausdr├╝ckliche Typumwandlungen hinzuf├╝gen.

Error occurred, cleaning up

德文翻译:

 

SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2 );
 failed: ERROR:  Function addgeometrycolumn(unknown, unknown, integer, unknown,
 integer) doesn't exist
LINE 1: SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, ...
               ^
HINT: No function matches the specified name and argument types. Maybe you need
to make explicit casts.

Error occurred, cleaning up

如何解决这个问题?

看起来您尚未将PostGIS支持添加到您尝试使用osm2pgsql.exe的数据库中.见 the PostGIS installation documentation (2.0).

 

由于您使用的是PostGIS 2.0,所以您应该只能创建EXTENSION postgis;加载PostGIS.此命令必须作为超级用户运行 – 通常是用户postgres.使用:

 

psql -U postgres mydbname

以用户postgres连接.

看来,至少osm2pgsql的Windows版本不支持PostGIS 2.0 – 或者大约六个月前还没有支持.请参阅OSG GitHub上的this issue report和instructions on how to set a PostGIS 2 database to be compatible with an osm2pgsql that expects PostGIS 1.x.未来的读者应该检查在继续操作之前仍然需要执行这些步骤; Windows的osm2pgsql可能会在某些时候被更新,以支持PostGIS 2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值