postgresql+postgis+pgrouting安装(windows10)

Posted ejqiu-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql+postgis+pgrouting安装(windows10)相关的知识,希望对你有一定的参考价值。

 

注:a.以下安装皆指windows系统  b.只要安装了postgis,pgrouting自带就安装上了

一。postgresql版本10.9,posttgis版本2.5,pgrouting版本2.6(三者版本必须对应!!!)


--查看postgresql版本
show server_version;

--查看postgis版本
SELECT PostGIS_full_version();

--查看pgrouting版本
select pgr_version();

 

二。安装文件下载地址(点我下载),提取码:j2f8,下载文件名称:postgresql-10.9-2-windows-x64.exe,postgis-bundle-pg10x64-setup-2.5.2-1.exe

 

三。windows7,windows8安装参考  https://blog.csdn.net/antma/article/details/83579920

 

四。windows10安装步骤如下

  4-1.postgresql安装:按照  上述所说的windows7,windows8安装方式正常安装  https://blog.csdn.net/antma/article/details/83579920
 

注:很大概率会报错:

Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.
原因:由于权限等问题,在初始化数据库的时候,报错,进而使数据进入不了data目录下

网上看了好多文章,尝试了好多次,各种卸载,各种重装都不行,最后一个不小心,搞定了!!!

核心:其实最主要的还是因为windows10权限控制的问题,导致写入data目录的时候,写入不了,所以解决思路肯定要围绕权限做文章

 

下面是笔者安装的过程和心得,供大家参考:

a.新增postgres用户,并设置密码(一定要设置,不然切换用户执行cmd的时候会报错),注意:这点很重要!!!

b.在上面第四大点,4-1安装失败的基础上,给文件赋值权限,注意:上述postgresql安装报错的不用管,不要卸载,赋值权限完再次安装!!!

先看下我之前安装失败的postgresql的目录

根目录:PostgreSQL

技术图片

 

 

 技术图片

 

 

 技术图片

 

 注:综上所述,必须要给PostgreSQL,10,data三个目录赋值所有用户所有权限(为了保险起见,就这么做,多花个几分钟而已!!!我之前只给根目录PostgreSQL赋值权限,来来回回失败了好多次)

赋值权限过程:

技术图片

 

技术图片

 

 

 

 

 技术图片技术图片

 

 注:1.必须添加postgres用户 2.必须所有用户都取得完全权限 3.必须是PostgreSQL,10,data三个目录都这样操作(麻烦就麻烦点吧,能解决问题这点麻烦算啥)

 

 给文件赋值完权限之后,必须重启电脑才能生效!!!

 

c.重装 这次是以postgres用户重装,之前说了postgres用户要设置密码,在这边就能体现

  one.用postgres用户运行cmd  runas /user:postgres cmd.exe

  two.在新打开的cmd命令中运行安装文件:postgresql-10.9-2-windows-x64.exe

  技术图片

 

   three.因为之前已经安装过,这次安装只要选择存放数据库data路径即可。注:必须选择之前存放数据库的目录!!!(权限已经赋值过了)

   four.然后,然后,终于成功了!!!哭~

 

4-2.安装postgis(postgis安装完,自动pgrouting)

 

在上述所说的用postgres用户运行的窗口中,运行postgis-bundle-pg10x64-setup-2.5.2-1.exe,安装还是参考上述所说的windows7,windows8安装方式正常安装  https://blog.csdn.net/antma/article/details/83579920

 

技术图片

 

4-3.校验

create DATABASE djys_test;


--添加支持
CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;

 


--查看postgresql版本
show server_version;

--查看postgis版本
SELECT PostGIS_full_version();

--查看pgrouting版本
select pgr_version();

 

--postgis 空间数据创建和查询(线)
create table EDGES (ID SERIAL not null,geometry geography(LINESTRINGZ, 4326) null);

insert into edges(geometry) values(ST_GeographyFromText(‘SRID=4326; LINESTRING(-110 30 40,11 22 33)‘));

select ST_AsText(geometry) from edges;

 

以上是关于postgresql+postgis+pgrouting安装(windows10)的主要内容,如果未能解决你的问题,请参考以下文章

整理一下postgresql的扩展功能postgis和pgrouting的使用

postgresql+postgis+pgrouting实现最短路径查询---线数据的处理和建立拓扑

POSTGIS拓扑:pgRouting最短路径分析

ubuntu 安装postgist,pgrouting

使用 Postgis 和 pgRouting 的行车路线 [关闭]

pgrouting源码安装说明