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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM