最近些许繁忙,没有时间系统整理PostgreSQL和PostGIS的安装和使用方法。所以就简单记录一下遇到的坑。

1、找不到 libintl-9.dll

我安装的PostgreSQL版本是11.7,PostGIS是3.0.1 (利用Stack Builder安装的PostGIS 3.0 bundle)。

安装完成,打算导入shp数据的时候发现PostGIS Shapefile Import/Export Manager无法打开,并提示“找不到libintl-9.dll”,如下:

这可咋办呢?只需要找到PostgreSQL安装目录的bin目录下的libintl-9.dll,将它复制到postgisgui目录下即可。

2、导入shp数据时提示“无法打开shp/dbf(shp/dbf file can not be opened)”

通过PostGIS Shapefile Import/Export Manager导入数据时惨遭拒绝,提示“shp/dbf file can not be opened”,如图。那可咋办呢?首先检查你的数据的路径中是否带有中文,postgis导入shp数据不支持中文路径。

3、导入shp数据时提示“Unable to convert data value to UTF-8”

通过PostGIS Shapefile Import/Export Manager导入数据时,提示“Unable to convert data value to UTF-8”。说明你数据中的编码格式与shp导入工具的设置的编码不一致。这个错误,一般主要是在shp数据有中文属性时出现(dbf中含有中文)

如果确实是由于你的数据中存在中文编码(有中文属性)导致的问题,那咋办呢?只需要在这里的Options中将编码改成GBK即可。

4、导入shp数据时二话不说,直接失败

通过PostGIS Shapefile Import/Export Manager导入数据时,没有任何其他提示,只显示”Shapefile import failed“,如图。

如果你连接的这个数据库是你自己创建的(不是名叫"postgis_30_sample"那个官方的空间数据库的例子),那么就有可能是空间数据库没有成功创建,什么意思呢?就是说你只创建了一个普通数据库(没有空间字段,自然就不支持shp数据导入)。

如何判断自己是否成功创建了空间数据库呢?检查,数据库(Databases)——你的数据库名称——架构(Schemas)——public——表(Tables),这个目录下是否存在一个名叫spatial_ref_sys的表,如果不存在,就说明你的数据库不具备存储空间数据的能力。

那咋办呢?首先让我们打开postgreSQL的查询工具,在菜单栏的工具选项里

在查询工具中输入如下SQL语句,添加空间数据库管理插件Postgis,运行。然后,刷新页面

CREATE EXTENSION PostGIS

现在数据表中就会出现名为spatial_ref_sys的表了,说明可以导入空间数据了。

关于postgis的具体使用可以参考下面这篇博客,虽然postgis版本不同但操作都是类似的。

搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3

PostgreSQL与PostGIS安装使用时需要注意的坑的更多相关文章

  1. 与你相遇好幸运,Postgresql和postgis安装

    笔者开发环境: windows 7 x86_64 一开始安装的是官网最新版 PostgreSQL 9.6 ,安装成功 之后安装PostGIS Bundle 2.2 for PostgreSQL x64 ...

  2. 当我们安装使用时,会出现eclipse启动不了,出现“Java was started but returned exit code=13......”的问题

    安装win8.1后,启动eclipse,也会提示 "java was started but returned exit code=13" 可能是eclipse.ini配置文件错误 ...

  3. CentOS7使用yum安装PostgreSQL和PostGIS

    更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Cent ...

  4. PostgreSQL及PostGIS使用

    基础知识 参考文档:http://www.postgis.net/docs/ PostGIS支持的GIS对象是OpenGIS Consortium(OGC)定义的“简单特征”的超集.OpenGIS规范 ...

  5. MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”

    MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...

  6. ubuntu安装postgresql与postgis

    版本信息 ubuntu    14.04.1LTS postgresql   9.3.5 postgis       2.1.2 今天尝试着安装了postgis 2.1.2,(较简便的包安装,不是源码 ...

  7. PostgreSQL 之 yum安装 postgis 插件

    版本说明: CentOS7.5 + PostgreSQL 10.5 参考资源: https://www.postgresql.org/download/linux/redhat/ http://dow ...

  8. CentOS 6.9/7通过yum安装指定版本的PostgreSQL扩展PostGIS

    一.安装PostGIS扩展插件(24_10) // 安装EPEL源 # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-rele ...

  9. Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip

    Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip 今天的任务就是找到解决办法 另外就是用布置好python3的路径

随机推荐

  1. Flink不止于计算,存算一体才是未来

    ​ "伴随着实时化浪潮的发展和深化,Flink 已逐步演进为实时流处理的领军技术和事实标准.Flink 一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着流批一体 ...

  2. 论文翻译:2021_Joint Online Multichannel Acoustic Echo Cancellation, Speech Dereverberation and Source Separation

    论文地址:https://arxiv.53yu.com/abs/2104.04325 联合在线多通道声学回声消除.语音去混响和声源分离 摘要: 本文提出了一种联合声源分离算法,可同时减少声学回声.混响 ...

  3. JVM内存模型——堆(heap)、栈(stack)和方法区(method)

      JAVA的JVM的内存可分为3个区:堆(heap).栈(stack)和方法区(method) 堆区:堆内存用于存放由new创建的对象和数组.堆是JVM管理的内存中最大的一块,堆被所有线程共享,目的 ...

  4. List和 Map区别?

    一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复:Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的.

  5. kafka consumer代码梳理

    kafka consumer是一个单纯的单线程程序,因此相对于producer会更好理解些.阅读consumer代码的关键是理解回调,因为consumer中使用了大量的回调函数.参看kafka中的回调 ...

  6. 提高scrapy爬取效率配置

    提高scrapy爬取效率配置 #增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发 ...

  7. 二十三、原理图和PCB交互式布局

    上图 在原理图里面直接选择在PCB里面就可以移动了,大功告成

  8. 前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...

    前端开发需要了解的工具集合:webpack, eslint, prettier, ... 前端开发需要了解的一些工具,这些工具能够帮助你在项目开发中事半功倍. 1. nrm: npm registry ...

  9. java中为什么把Checked Exception翻译成受检的异常?

    6.Checked Exception(受检的异常) 马克-to-win:为什么我大胆的把Checked Exception翻译成受检的异常?因为这类异常,编译器检查发现到它后会强令你catch它或t ...

  10. springMVC中获取request和response对象的几种方式(RequestContextHolder)

    springMVC中获取request和response对象的几种方式 1.最简单方式:参数 2.加入监听器,然后在代码里面获取 原文链接:https://blog.csdn.net/weixin_4 ...