• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            postgresql源碼安裝

            http://cuojuan.com/
            http://cuojuan.com/review/26


            使用的Linux發行版是ubuntu server 6.06,ubuntu 自帶版本最高只有8.1,為了嘗鮮,同時8.2.0已經對基于windows平臺的兼容性進行了改進,便于平臺的轉換。同時源碼安裝可以自己制定一些參數 和設置,ubuntu雖然有很好的易用性和兼容性,并且部分特性也較新,但是同window有些相像,減少也封閉了很多細節問題,讓開發人員沒有機會也不 用嘗試去理解一些程序的安裝過程和參數,對于程序開發來說,并不一定是件好事。

            一 安裝Postgresql8.2.0

            1. 下載源碼。
            到postgresq.org下載最新的源碼。

            2 解壓。
            tar -vxf postgresql*.tar.gz
            3 配置,進入解壓目錄后可以用./configure –help來查看可用的參數。我使用的是:

            # ./configure –prefix=/home/shaken/postgresql –without-readline –without-zlib

            前一個參數是把循照慣例把自己的軟件安裝到/opt目錄下,后面兩個參數是因為我的系統里沒有安裝readline和zlib,其實安裝一下就可以了。

            在ubuntu中這樣可以去掉后面的兩個–without參數:
            # apt-get install libreadline5-dev zlib1g-dev
            解決在ubuntu安裝postgresql時,configure出現的問題。

            4 編譯后并安裝:

            # make

            # make install

            5 增加Postgresql數據庫的最高用戶postgres并設置密碼:

            # adduser postgres
            # mkdir /home/shaken/postgresql/data
            # chown postgres /home/shaken/postgresql/data

            最好再這樣:
            # chown -R postgres /home/shaken/postgresql

            6 以用戶postgres登陸:

            # su – postgres

            7 初始化數據庫:
            $ /home/shaken/postgresql/bin/initdb -D /home/shaken/postgresql/data

            8 運行數據庫服務器:

            $ /home/shaken/postgresql/bin/postmaster -D /home/shaken/postgresql/data>logfile 2>&1 &

            9 創建一個數據庫:

            $ /home/shaken/postgresql/bin/createdb test

            10 在本機上運行客戶端進行管理:

            $ /home/shaken/postgresql/bin/psql test

            這就要求你對基礎的sql語法要熟悉了。

            到這里Postgresql就算安裝完成了。但是為了能遠程使用該數據庫—比如說我要在網絡上另外一臺Windows電腦上使用pgAdmin來管 理 使用該Postgresql服務器—則還需要進行一些修改,這些修改主要包括兩方面的修改,一是修改Postgresql的兩個配置文件,二是修改數 據庫的一些用戶權限:

            11 修改Postgresql的配置文件Postgresql.conf,該文件在數據目錄/home/shaken/postgresql/data下,將其中的一句:

            listen_address=’localhost’

            前面的注釋去掉,并把’localhost’該為’*’。

            12修改Postgresql的配置文件pg_hba.conf,該文件在數據目錄/home/shaken/postgresql/data下,在文件后面加一句:

            host   all all 192.168.0.0/24   password

            這句的意思是:同網絡中192.168.0.*的機器可以以密碼的形式使用所有的數據庫。更具體的參數意義直接看該配置文件中的注釋就可以了。

            這里一定要配置正確,否則無法在遠程連接postgresql數據庫。

            13 重新啟動postgresql服務器:

            $ /home/shaken/postgresql/bin/pg_ctl stop -D /home/shaken/postgresql/data

            停止原來的服務器

            $ $ /home/shaken/postgresql/bin/postmaster -i -D /home/shaken/postgresql/data >logfile 2>&1 &

            再次啟動,加一個-I參數

            14 一些數據庫用戶權限的簡單配置,以下是在psql中使用

            # create userwen1 password ‘123456’;

            創建一個用戶并設置密碼

            # createdatabase data1 owner wen1;

            創建一個數據庫

            # create tablewen11(name varcha(10))

            創建一個數據表

            # alter table wen11 owner to wen1;

            修改數據表的屬主。

            現在可以在局域網內的其他電腦使用其他postgresql客戶端工具,以用戶名wen1打開data1數據庫了。

            還需要改進的一些問題:

            1 中文支持的問題:使用encoding=’UTF-8’創建數據庫好不好?

            2 系統啟動時自動啟動postgresql的問題:完全可以參考Debian的相應啟動腳本。

            二 phppgadmin的安裝配置(可選的過程)

            為了管理配置我的數據庫服務器,對于我這樣的postgresql生手,需要一個方便的管理程序。這樣的管理工具很多,考慮自己以前使用mysql 有一個 便利的phpmyadmin,我選擇了phppgadmin。   phpPgAdmin是一個充分地功能基于互聯網的postgresql管理實用程序。它處理所有基本的功能并且某個先進的功能譬如觸發器, 視圖等,是一個基于B/S模式的管理軟件,必須安裝在服務器端。

            具體的安裝過程為:
            1 下載源碼,現在的最新版本為4.0.1
            # cd
            # wget http://……./phpPgAdmin-4.0.1.tar.gz
            2 解壓:
            # tar zxvf phpPgAdmin-4.0.1.tar.gz
            3 檢查系統是否已經安裝好apache+php以及php對postgresql的支持,如果沒有,以下為安裝:
            # apt-get install apache php4 php4-pgsql
            注意修改apache的配置文件以使apache支持php。
            4 使phpPgAdmin在客戶端可用,我一般是在apapche目錄下建立符號連接:
            # ln -s /root/phpPgAdmin-4.0.1 /var/www/pgadmin
            5 修改phpPgAdmin的配置文件 config/config.inc.php,其中必須要修改的參數有:
            $conf['servers'][0]['host']=’localhost’;
            標明數據庫服務器在本機
            $conf ['extra_security'] = false;
            允許使用postgres帳號登陸。
            6 在客戶端使用瀏覽器,輸入地址:
            http://……/pgadmin
            就可以進行postgresql數據庫的管理了。

            三 安裝postgis

            1 最好先安裝proj4和OGR,我偷懶沒有安裝,應該只是性能上打折扣吧,并不影響安裝使用。
            Debian下可以這樣:安裝postgis的時候,先:
            #apt-get install proj libgeos libgeos-dev

            2 下載源碼。

            3 解壓進入目錄。

            4 配置:

            # ./configure –prefix=/opt/postgis –with-pgsql=/home/shaken/postgresql/bin/pg_config

            意思很明顯

            5 編譯、安裝:

            # make

            # make install

            6 之后的一些工作:

            $ /home/shaken/postgresql/bin/createdb data1

            $ /home/shaken/postgresql/bin/createlang plpgsql data1

            $ /home/shaken/postgresql/bin/psql-d data1 -f lwpostgis.sql

            $ /home/shaken/postgresql/bin/psql-d data1 -f spatial_ref_sys.sql

            注意找到并進入包含后面那兩個sql文件的目錄再進去執行。

            下面可以使用postgis了,先試試Postgis提供那兩個轉換shape文件和postgis數據的小程序吧。

            四 PostGIS的初步使用

            網絡上關于PostGIS的使用的文章不多,而且說得不夠詳細,今天經過一番摸索,得到一些基本應用的經驗,希望能減少一些大家入門的周折。

            以下假設我要把一個test.shp文件(實際上完整的應包含三個文件)的數據導入到Postgresql數據庫data1中的test數據表,為 了安全 起見,數據庫Data1及相關的數據表的屬主都設置為wen1,然后在GIS客戶端如QGIS uDig等使用這個PostGIS數據。詳細的過程為;

            1 假設PostGreSQL數據庫服務器和PostGIS都安裝好。(見另文”源碼安裝Postgresql8.1.3+PostGIS1.1.2″)
            2 以數據庫的超級用戶postgres進入psql:
            # /home/shaken/postgresql/bin/psql         (注意路徑)
            以下的操作都是在psql控制臺。
            3 基本設置:
            # create user wen1 password ‘123456’;        創建一個用戶并設置密碼
            # create database data1 owner wen1;            創建一個數據庫
            # alter table spatial_ref_sys owner to wen1;
            # alter table geometry_columns owner to wen1 ; 這兩句修改兩個postgis相關的表的屬主為wen1,很重要,一般文章中似乎沒提到這兩點。
            4 數據轉換,以下工作退出psql,在shell界面進行。
            先把三個test.shp文件復制到/opt/postgis/bin目錄下并轉到該目錄下,注意路徑,注意目錄和文件的權限—也許退出postgres用戶到root用戶簡單一些。
            # /opt/postgis/bin/shp2pgsql test test data1 > test.sql
            # /home/shaken/postgresql/bin/psql -d data1 -f test.sql
            注意參數都要寫對,不明白的話一定要用–help參數查看。
            5 在客戶機器上打開QGIS,依次選擇”圖層”–>”添加PostGIS圖層”–>”新建”,然后設置好正確的服務器IP,數據庫名data1,用戶wen1及密碼,再點擊”連接”,然后下方會出現test圖層的名字,選擇就可以了。
            uDig的使用也大同小異。

            一點體會:
            1 要先弄懂PostgreSQL的使用,尤其是各種權限的概念和關系,這是一般從Windows下轉移來的人很缺乏的。
            2 最好選擇一個好的PostgreSQL客戶端工具來幫助調試,推薦使用PgAdmin。

            posted on 2012-05-26 15:13 多彩人生 閱讀(1874) 評論(0)  編輯 收藏 引用 所屬分類: postgresql

            導航

            統計

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久久极精品久久久| 亚洲一级Av无码毛片久久精品| 久久久久亚洲AV无码专区首JN| 久久亚洲精品无码aⅴ大香| 久久精品国产99久久无毒不卡| 久久电影网2021| 亚洲国产精品无码久久SM| 久久精品成人免费观看97| 亚洲人AV永久一区二区三区久久| 久久AV无码精品人妻糸列| 亚洲午夜久久久精品影院| 无码精品久久久天天影视| 国産精品久久久久久久| 精品国产一区二区三区久久| 久久精品无码一区二区日韩AV| 天天爽天天狠久久久综合麻豆| 久久精品无码一区二区日韩AV| 69久久精品无码一区二区| 精品无码久久久久久尤物| 一本一道久久综合狠狠老| 精品久久久无码人妻中文字幕| 一本大道加勒比久久综合| 久久人人妻人人爽人人爽| 久久久久久综合网天天| 久久久久国产视频电影| 久久国产精品77777| 青草国产精品久久久久久| 久久综合色老色| 99久久国产综合精品女同图片| 青青青青久久精品国产h久久精品五福影院1421 | 久久这里只有精品视频99| 久久精品国产一区二区三区不卡 | 69久久精品无码一区二区| 亚洲国产精品一区二区久久hs| 亚洲精品乱码久久久久久不卡| 久久五月精品中文字幕| 久久精品国产亚洲av瑜伽| 一本久道久久综合狠狠躁AV| 亚洲国产成人久久精品99| 亚洲精品NV久久久久久久久久| 热久久最新网站获取|