添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1.shp2pgsql-gui.exe由于找不到 libintl-9.dll,无法继续执行代码

以前使用gdb转换到postgis中,使用了osgeo4w这个工具,现在要直接将shp文件转入到postgis中,这里用到了shp2pgsql这一个安装postgis后自带的小工具,在开始菜单中找到shp2pgsql-gui.exe,打开出现错误。

这里只要找到postgis安装目录:C:\Program Files\PostgreSQL\11\bin\postgisgui,然后复制一份libintl-8.dll副本,改名为libintl-9.dll即可。

参考文章:
1.
解决PostGIS打开shp文件输入输出模块出现”找不到文件libintl-9.dll”的问题

2.shp2pgsql-gui.exe出现无法打开dbf文件

解决上面的问题后,打开shp2pgsql-gui:

选择增加文件,然后选择Import按钮,出现无法打开dbf的错误:

这里是因为shp文件的路径中含有中文名。

参考文章:
1.
postgresql+postGis 的爬坑之旅 –dbf file (.dbf) can not be opened
2. PostGIS中dbf file (.dbf) can not be opened.shapefile import failed

3.导入shp文件失败

文件名改了,找不到dll也改了,就是导入不进来。

遥想公瑾当年说,是因为没有create extension postgis;我在pgAdmin 4中扩展一栏中创建创建要给扩展:

结果报错无法加载rtpostgis.dll,模块未定义,“错误: 无法加载库 “C:/Program Files/PostgreSQL/10/闪电b/rtpostgis-2.5.dll”: The specified module could not be found.”,但是实际上,我查找了,这个文件所在地,C:\Program Files\PostgreSQL\10\lib\rtpostgis-2.5.dll,文件确实存在,问题会出在哪里呢?翻遍了网上,问遍了群友,就是没有遇到这个问题的人。

(简直要疯了,一个问题接一个问题)。
(1) 然后我尝试了对postgresql进行降级,安装了pg10,尝试一下(失败了)还是同样的问题。
(2) 然后我尝试对postgresql再进行降级,安装pg9.6.1,尝试一下(失败了)。
(3) 谷歌上找了两篇说到这个问题的文章,(参见参考文章2和3),这里说的是缺少什么东西,不明所以。
(4) 按这个
要求 ,说zip包可以直接放到postgresql安装目录中,我尝试直接下载相关的zip安装包,放入到postgresql安装目录中, 下载地址 这个比较快。”The .zip files are just the binaries you can copy into your PostgreSQL installation and then enable in each database as usual. The exe are standard windows setup for both 32-bit and 64-bit PostgreSQL.” 我覆盖了以前的安装,结果,还是无法加载库。

最后的最后,最后的最后,最后的最后,竟然是因为postgre和postgis版本不一致导致的问题
我用了postgresql-10.5-2-windows-x64 + postgis-bundle-pg10x64-setup-2.4.4-1搞定了安装问题,贴一张成功的图:

这是导入成功的标志:

这是在数据库中的样子:

我也不禁反思了,这到底是因为什么呢?为啥版本不一致,为啥会出现一直选不到正确的版本呢?实际上,我使用的postgis版本,在载页面中根本就没有这一个版本。什么样的版本才合适呢?

参考文章:
1. POSTGIS导入shp失败,求各位大神支招
2. POSTGIS 2.2 WINDOWS USERS HOLD OFF ON INSTALLING LATEST POSTGRESQL PATCH RELEASE
3.[Could not load library “C:\…\ rtpostgis-2.2.dll”]( https://gis.stackexchange.com/questions/187581/could-not-load-library-c-rtpostgis-2-2-dll/187790
4.PostGIS安装教程及遇到的问题总结: https://www.giserdqy.com/postgresql/23817/postgis%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B%E5%8F%8A%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93/ )

4.使用自带的命令行工具shp2pgsql,出现编码错误

上一个问题解决了,使用自带的gui面板就可以导入shp文件到数据库里面了,不用命令行也可以了。

参考文章:
1.
PostGIS安装与SHP数据入库(两种方法)
2. gis导入shp编码问题
3. Postgis导入shp文件报错

5.启动时报错,无法启动。

在虚拟机里面安装成功之后,我在主机上安装完postgre,启动时,出现启动失败的问题。确定后,会弹出一个面板,里面的命令行,我是卸载前填的,最后,重新安装的时候还是被带进来了,最大的可能就是卸载不干净。

这个问题只是pgAdmin4无法启动,数据库已经可以使用了。

6.ubuntu安装postgresql

1
2
3
4
5
6
7
8
9
10
11
## 安装
sudo apt-get install postgresql

## 切换用户
sudo su postgres

## 登录
psql postgres

## 设置用户postgres登录密码为:postgres
ALTER USER postgres with PASSWORD 'postgres'

参考文章:
1.
Ubuntu 安装和配置postgresql
2. 如何在Ubuntu 18.04上安装和使用PostgreSQL
3. Linux downloads (Ubuntu)

7.ubuntu下安装postgis

在Ubuntu或者debian下安装postgis还是很简单的。 相关地址
我是用了xshell登录linux主机。
有几个小命令可以在这里记录下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1.查看系统版本:uname -a
2.查看安装了那些包:dpkg --get-selections

````
安装步骤:
``` sh
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt xenial-pgdg main" >> /etc/apt/sources.list'
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

sudo apt install postgresql-10
sudo apt install postgresql-10-postgis-2.4
sudo apt install postgresql-10-postgis-scripts

#to get the commandline tools shp2pgsql, raster2pgsql you need to do this
sudo apt install postgis

# Install pgRouting 2.6 package
sudo apt install postgresql-10-pgrouting

根据上面的网站一步步的操作,最后会安装成功的,但是安装成功后,无法登录数据库,默认的postgres会创建一个用户名为postgres的用户,但是没有密码,需要手动设置。

主要执行以下几个命令:

1
2
3
4
5
6
7
8
$ sudo su postgres    #切换至postgres 
$ psql postgres #登入默认数据库

postgres=#\password postgres #给postgres用户设置密码
Enter new password:
Enter it again:
postgres=#

参考文章:
1. Xshell如何远程连接Linux服务器
2. Linux系统入门学习:如何在Ubuntu上检查一个软件包是否安装
3. Postgresql默认用户名与密码

(2019年9月25日更新重要问题)
简直哭晕在厕所,我费了九牛二虎之力才在windows上找到安装postgres和postgis的方法,可是新来的一个同事,以前也没接触过postgis,一天就装好了。而且安装过程中没有报任何错误。就是在管网上下载了postgres 11 和 最新版的 postgis 2.5,然后就安装成功了,惭愧啊,惭愧啊。

我确信了,在我创建这篇文章的时候,下载的postgis和postgres确实有bug,怎么装都装不上,今天我重新下载了最新版本的postgresql-11.5-2-windows-x64和postgis-bundle-pg11x64-setup-2.5.3-1,将原先已经安装好的pg10和postgis10卸载,然后重新安装了今天下载的postgres和postgis,同样也没有遇到原先的错误,顺利的安装成功了。注意,是在同一台以前有问题的机器上重新安装的。简直丧心病狂啊,那时候我足足花了两天的时间来验证这个安装啊。

根据显示,这个版本是在2019年8月24日更新的,创建这篇文章的时候是2019年8月14日,那个时候,我已经遇见了安装的问题了,应该是更新之前的事了。

有人说,在安装完postgres之后,要启动下,才能安装postgis,这个没有详细的实验过,看大家的情况吧。

参考文章:
1. PostgreSQL安装PostGIS插件
2. PostGIS安装教程及遇到的问题总结
3. PostgreSQL(PostGIS)安装和入门的若干问题
4. Windows上PostGIS(压缩版)安装