ArcGIS平台中PostgreSQL數據連接配置總結


     通常用戶在使用要素服務時,要求數據必須是存放在空間數據庫中的。同時,需要將數據庫注冊到ArcGIS for Server,這樣在發布服務時就不需要進行數據拷貝,從而可以節省磁盤空間及服務發布時間。以下就ArcGIS平台的Desktop和Server產品中如何使用PostgreSQL數據庫進行總結,包括Linux版的ArcGIS for Server和PostgreSQL以及Windows版的ArcGIS for Server和PostgreSQL。

1 前提條件

1.1 ArcGIS平台軟件支持操作系統要求

     在ArcGIS10.1以后版本,ArcGIS for Server產品的操作系統要求必須是64位。不管是Windows還是Linux,這一點都需要注意。建議大家安裝軟件之前一定核查當前操作系統是否滿足當前版本軟件的安裝要求。 如ArcGIS for Server10.2安裝系統要求列表: htp://resources.arcgis.com/zh-cn/help/system-requirements/10.2/index.html#/na/015100000072000000/

1.2 ArcGIS平台支持數據庫系統版本要求

    同樣,ArcGIS平台軟件對於不同版本的數據庫產品支持情況也是不大一樣的。在軟件安裝之前需要核查當前版本軟件與客戶安裝數據庫軟件產品的版本是否匹配和兼容。 如ArcGIS10.2平台對PostgreSQL數據的支持情況如下: http://resources.arcgis.com/zh-cn/help/system-requirements/10.2/index.html#/na/015100000075000000/

PostgreSQL 9.0.5(64 位)、PostgreSQL 9.1.3(64 位)、PostgreSQL 9.2.2(64 位)

1.3 軟件安裝和數據庫連接配置的文件權限

      在進行軟件安裝或者數據庫連接配置時,通常需要對相關文件或者目錄有相應的操作權限,尤其是Linux環境。在PostgreSQL軟件和ArcGIS for Server軟件進行安裝時都要有安裝目錄及其子目錄的讀寫權限。 一般通過Chmod –R 777 /home/arcgis/ArcGISServer來設置即可。 在軟件安裝或者配置出錯時,請檢查相關權限問題。

1.4 ArcGIS平台連接數據庫軟件的常識

      一般來說,數據庫軟件分為服務器端和客戶端。對於ArcGIS的工程師來說,配置數據庫連接其實就是要配置不同操作系統環境不同數據庫平台的客戶端連接信息。 對於ArcGIS for Desktop的數據庫連接配置來說,需要在安裝Desktop的這台機器上安裝或者配置免安裝的數據庫客戶端,同時需要在數據庫軟件安裝的機器設置環境變量和數據庫監聽信息。需要注意的是Desktop連接數據庫需要32位的客戶端或者相關庫文件。 對於ArcGIS for Server的數據庫連接配置來說,就是進行數據庫注冊之前,需要在安裝Server的機器上來安裝或者配置64位數據庫客戶端或者相關庫文件。

2 ArcGIS平台連接PostgreSQL數據庫Windows版

2.1 Windows版PostgreSQL數據庫配置

     對於Windows版的PostgreSQL數據庫,在安裝完成后需要配置數據庫的連接設置。需要配置文件的默認路徑:C:\Program Files\PostgreSQL\9.2\data。配置文件為pg_hba.conf和postgresql.conf。

2.1.1 pg_hba.conf配置

     可以連接到該數據庫的機器信息 默認配置只允許本機連接。 # IPv4 local connections: host all all 127.0.0.1/32 md5 添加其他連接 允許10.1.1.0~10.1.1.255網段登錄數據庫: host all all 10.1.1.0/24 md5 添加信任192.168.1.10登錄數據庫: host all all 192.168.1.10/32 trust 允許所有機器訪問 host all all 0.0.0.0/0 trust 具體可參考該連接:http://www.cnblogs.com/hiloves/archive/2011/08/20/2147043.html

2.1.2 postgresql.conf配置

      數據庫的監聽信息 listen_address=*,監聽所有端口,這樣遠程客戶端才能夠訪問該數據庫。

2.1.3 st_geometry.dll配置

     拷貝當前對應版本的st_geometry.dll的連接庫到PostgreSQL數據庫的lib目錄。 如: \ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\9.2\Windows64\st_geometry.dll 目標目錄:C:\Program Files\PostgreSQL\9.2\lib

2.2 ArcGIS for Desktop連接Windows版PostgreSQL

     完成數據庫配置后,在Desktop中連接數據庫相對比較簡單。通過ArcGIS for Desktop的幫助可以看到Desktop連接PostgreSQL數據庫需要用到的客戶端連接庫為:libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。 pg_client_windows86: 包含了用於從 Windows 操縱系統上的 32 位客戶端連接到 PostgreSQL 數據庫所需的客戶端文件。文件包括 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。 需要找到所安裝版本數據庫的這些庫文件,然后拷貝到Desktop的bin目錄下。 找到PostgreSQL數據庫9.2版本的相關庫文件拷貝到: 目標目錄:C:\Program Files (x86)\ArcGIS\Desktop10.2\bin 完成以上配置就可以在ArcGIS for Desktop中來連接PostgreSQL數據庫了,但是通常需要使用Desktop自帶的工具先創建空間庫。

 

     

需要指出的是,這個工具默認創建的表空間會在Oracle的環境變量的制定目錄,假如你是rac或者表空間存放位置不在默認目錄時,請先在Oracle中創建sde用戶及表空間,並將表空間分配給指定sde用戶,然后,在創建空間庫時使用已有的sde用戶和表空間。否則會出現錯誤。

      創建完成后就可以通過Desktop來連接空間庫sde

2.3 AGS(Windows版)連接Windows版PostgreSQL

      ArcGIS for Server連接PostgreSQL數據庫又分為是Windows版的Server還是Linux版的Server。具體配置也稍有不同。 Windows版Server配置需要拷貝PostgreSQL數據庫對應版本的庫文件到Server的bin目錄。

      pg_client_windows64: 包括用於從 Windows 操縱系統上運行的 64 位客戶端連接到 PostgreSQL 數據庫所需的客戶端文件。文件包括 libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll。 找到PostgreSQL數據庫9.2版本的相關庫文件拷貝到: 目標目錄:C:\Program Files \ArcGIS\Server10.2\bin ArcGIS for Server數據庫注冊,通過桌面連接到Server,通過服務器屬性——數據存儲選項卡來添加數據庫。

     填寫數據庫連接信息或者選擇通過Desktop創建的數據庫連接文件導入數據庫連接信息。

 

2.4 AGS(Linux版)連接Windows版PostgreSQL
      Linux版的ArcGIS for Server連接PostgreSQL數據庫與Windows基本類似,不同的是Server需要的連接庫文件不同。 pg_client_linux64: 包含了用於從 Red Hat Linux 操縱系統上運行的 64 位客戶端連接到 PostgreSQL 數據庫所需的 RPM 客戶端文件。庫包括 libpq.so、libpq.so.5 和 libpq.so.5.3。

      注:在PostgreSQL9.2的版本對應的庫為:libpq.so、libpq.so.5 和 libpq.so.5.5。 在Linux版PostgreSQL數據庫的安裝目錄或者有現有對應版本數據庫的Linux客戶端找到以上文件拷貝到Linux版Server的lib目錄下。

然后,同樣通過Desktop連接到Linux的Server,重復Windows版Server數據庫注冊的步驟。

 

3 ArcGIS平台連接PostgreSQL數據庫Linux版

3.1 Linux版PostgreSQL數據庫配置

     對於Linux版的PostgreSQL數據庫,首先,安裝時注意安裝目錄的讀寫權限,否則會提示安裝不成功。在安裝完成后需要配置數據庫的連接設置。需要配置文件的默認路徑:/opt/PostgreSQL/9.2/data。配置文件為pg_hba.conf和postgresql.conf。

3.1.1 配置系統環境變量

    通過直接編輯文件或者在命令行工具vi修改etc下的profile文件。 vi /etc/profile 添加一下配置: export LD_LIBRARY_PATH=/opt/PostgreSQL/9.2/lib;$LD_LIBRARY_PATH export PATH=/opt/PostgreSQL/9.2/bin:$PATH export PGDATA=/opt/PostgreSQL/9.2/data

3.1.2 pg_hba.conf配置

      可以連接到該數據庫的機器信息 配置內容與Windows版相同。 如果條件具備的話,可以直接修改文件。 終端修改命令:vi /opt/PostgreSQL/9.2/data/pg_hba.conf

3.1.3 postgresql.conf配置

      可以連接到該數據庫的機器信息 配置內容與Windows版相同。 終端修改命令:vi /opt/PostgreSQL/9.2/data/postgresql.conf

3.1.4 st_geometry.so配置

      拷貝當前ArcGIS產品對應版本的Linux版st_geometry庫到PostgreSQL數據庫的lib/postgresql目錄下,可不是lib目錄哦。

如: \ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\9.2\ Linux64\st_geometry.so 目標目錄://opt/PostgreSQL/9.2/lib/postgresql

 

3.2 ArcGIS for Desktop連接Linux版PostgreSQL

      其實完成Linux版PostgreSQL的以上配置后,Desktop連接Linux版本的PostgreSQL與Windows版沒有任何區別,同樣需要32位的PostgreSQL數據庫連接庫文件,然后創建企業級地理數據庫,連接即可。 pg_client_windows86: 包含了用於從 Windows 操縱系統上的 32 位客戶端連接到 PostgreSQL 數據庫所需的客戶端文件。文件包括 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll。

3.3 AGS(Windows版)連接Linux版PostgreSQL

      ArcGIS for Server的Windows版連接PostgreSQL數據庫的Linux版與Windows版基本沒有區別。同樣需要Windows版的PostgreSQL數據庫連接庫文件。通過Desktop連接Server,然后服務器屬性注冊數據庫。 pg_client_windows64: 包括用於從 Windows 操縱系統上運行的 64 位客戶端連接到 PostgreSQL 數據庫所需的客戶端文件。文件包括 libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll。

3.4 AGS(Linux版)連接Linux版PostgreSQL

      ArcGIS for Server的Linux版連接PostgreSQL數據庫的Linux版與Server的Linux版連接Windows版PostgreSQL數據庫基本沒有區別。 需要拷貝ArcGIS產品對應Linux版的庫文件到Server的lib目錄。 pg_client_linux64: 包含了用於從 Red Hat Linux 操縱系統上運行的 64 位客戶端連接到 PostgreSQL 數據庫所需的 RPM 客戶端文件。庫包括 libpq.so、libpq.so.5 和 libpq.so.5.3。 注:在PostgreSQL9.2的版本對應的庫為:libpq.so、libpq.so.5 和 libpq.so.5.5。 然后,同樣通過Desktop連接到Linux的Server,重復Server數據庫注冊的步驟。


免責聲明!

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



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