2022年4月30日 星期六

postgresql與postgis入門-啟動空間資料庫環境與postgresSQL兩種操作界面(2)

    有關於安裝的部分可以參考上一篇文章 postgresql+postgis入門-介紹與安裝(1)

    這次要談的是在postgresql環境中啟動空間資料庫的功能,以及如何使用postgresql的兩種操作界面(pgAdim4與SQL shell(psql))。

    當初我做為初學者學習postgresql時,便是在這兩個地方栽了大跟斗,還鬧了不少笑話(像是把psql的介面與cmd的介面搞混......)

    以下將慢慢解釋。


    

第一部份:postgresql操作界面-pgAdim4

    postgresql有提供兩種操作界面,但實際上來說有時我們會用到三種,分別為pgAdim4、psql與cmd。psql與cmd的操作視窗看起來很像,但兩者是全然不同的東西,有時候我們會需要進入到cmd介面去修改一下postgresql的環境,但這些語法在psql是無法被執行的!




    1.點開postgresql的安裝目錄,便會看到一個大象的圖案(pgAdim4)與最下面的黑色圖案SQL Shell(psql)。


    2.開啟pgAdim4後,系統會要求你輸入登入密碼。


    3.輸入登入密碼後,進入postgresql就會看到一堆琳瑯滿目的視窗,一開始我被這個頁面嚇到,全都是我沒有看過的東西,但其實只要知道幾個比較核心的功能就可以輕鬆使用了~


    4.    下圖中我列舉了幾個比較常用到的核心架構,像是「databases」、「Schemas」、「Tables」,上述提到的三個東西是很常會運用到的東西,其他的東西可以先不用去理會。我們會看到一個資料庫名稱為「postgres」的資料,這個資料庫無法在postgres中被修改、刪除,而當我們建立一個薪資料庫時,系統也會以「postgres」資料庫為範本進行建立。

    



第二部份:啟動空間資料庫

    在postgresql中有兩種方式可以建立與啟動空間資料庫,第一種方式為在進行安裝時,系統會問你要不要安裝預設的空間資料庫,只要你跟著步驟作就會建立一個預設的空間資料庫,詳細的操作流程請見我寫的前一篇文章


        另一種啟動方式則需要開啟pgAdim4或psql,透過sql語法來啟動空間資料庫的功能。

    1.先建立一個新資料庫,這裡我建立新料庫「test1」,可以看到資料「test1」成功被建立。

        

    

    2.在「test1」資料庫中,開啟「Query_Tool」,Query_Tool是在pgAdmin 4 中,執行sql語法的介面。

    

    

    3.在「Query_Tool」中輸入以下程式碼並執行,執行後會跳出成功的畫面。

    -- Enable PostGIS (as of 3.0 contains just geometry/geography) CREATE EXTENSION postgis; -- enable raster support (for 3+) CREATE EXTENSION postgis_raster; -- Enable Topology CREATE EXTENSION postgis_topology; -- Enable PostGIS Advanced 3D -- and other geoprocessing algorithms -- sfcgal not available with all distributions CREATE EXTENSION postgis_sfcgal; -- fuzzy matching needed for Tiger CREATE EXTENSION fuzzystrmatch; -- rule based standardizer CREATE EXTENSION address_standardizer; -- example rule data set CREATE EXTENSION address_standardizer_data_us; -- Enable US Tiger Geocoder CREATE EXTENSION postgis_tiger_geocoder;

    


    4.進入到「test1」的「Extensions」中,檢查看看空間資料庫功能是否有成功被開啟。可以看到預設的核心資料庫「postgres」只有兩個物件,而「test1」裡面有9個物件,那就代表空間資料庫的功能被成功開啟。



第三部分:postgresql操作界面-SQL shell(psql)

    對於程式語言比較熟悉的人,psql的操作界面會比較熟悉,以下說明如何透過psql登入資料庫。

    1.Server [localhost]:輸入「localhost」。

    2.Database [postgres]:輸入你想要進入的資料庫名稱,這裡我輸入「test1」。

    3.Port[5432]:輸入「5432」。

    4.Username [postgres]: 輸入「postgres」,請不要輸入其他的名稱。

    5.Password for user postgres:輸入你制訂的密碼。

    6.接著就會成功進入到psql裡面了~





    下此我會介紹如何在qgis中把shp圖層丟入到postgresql裡面,以及從postgresql中匯出shp到qgis裡面。

沒有留言:

張貼留言