postgresql多模式下创建postgis扩展,提示已存在,但导入空间数据失败

项目场景

postgresql数据库下为某个模式导入shp数据,
使用postgis 2.0 shapefile and DBF Loader Exporter工具导入。


问题描述

postgresql数据库下为某个模式导入shp数据,已经创建postgis扩展,但是仍然导入失败,已排除中文路径问题

原因分析

项目现场实际使用的是一个数据库下的多个模式来充当各个模块的数据库,postgis其实只用创建一次,但是在其他模式下查找postgis的版本却找不到,也无法为各个模式导入shp数据。
排查出来,项目现场虽然存在多个模式,但是却没有public模式,我猜这就是postgis创建后却找不到的问题所在。
o(╥﹏╥)o亏我找了那么长时间。。。。。。


解决方案

(1)为项目现场新创建一个public模式
(2)删除之前创建的postgis扩展,新建查询执行如下语句:

drop extension postgis cascade;

(3)在public模式下新建postgis扩展;

create extension postgis;

(4)在postgis 2.0 shapefile and DBF Loader Exporter工具下重新导入数据,模式选择需要导入数据的模式即可导入成功。
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要搭建PostgreSQL PostGIS空间数据引擎,需按照以下步骤进行操作。 首先,确保已经安装了PostgreSQL数据库服务器。可以从官方网站上下载并安装最新版本的PostgreSQL。 完成安装后,打开命令行终端并切换到PostgreSQL的安装目录下的bin文件夹。在命令行中输入以下命令来启动PostgreSQL: ``` pg_ctl -D 数据库存储路径 start ``` 数据库存储路径是指定数据库文件将保存的目录路径。将其替换为你想要使用的路径。 启动后,会在命令行中显示一些数据库连接信息,包括端口号和数据库用户名等。 接下来,需要创建一个新的数据库。在命令行中输入以下命令: ``` createdb -U 数据库用户名 -h localhost -p 端口号 新数据库名称 ``` 将数据库用户名、端口号和新数据库名称替换为真实值。 创建数据库后,需要在其中安装PostGIS扩展。在命令行中输入以下命令来连接到新数据库: ``` psql -U 数据库用户名 -h localhost -p 端口号 新数据库名称 ``` 进入数据库后,运行以下命令来创建PostGIS扩展: ``` CREATE EXTENSION postgis; ``` 该命令将在数据库中创建PostGIS所需的表和函数。安装完成后,就可以在数据库中存储和查询空间数据了。 最后,可以使用数据库管理工具,如pgAdmin等,连接到数据库进行操作和管理。可以使用这些工具来创建数据表、导入和导出空间数据,以及执行空间查询等操作。 总结一下,搭建PostgreSQL PostGIS空间数据引擎的主要步骤是:安装PostgreSQL,启动数据库服务器,创建数据库,安装PostGIS扩展,然后使用数据库管理工具进行操作和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值