PostgreSQL最初是由美國加州大學伯克利分校電腦科學系開發的一種資料庫管理系統,它提出的許多個物件-關係型資料庫的概念甚至比當今許多商用資料庫還要早。它支援SQL92/SQL3語言、事務完整性、可擴充類型等特性。PostgreSQL則是根據早先伯克利代碼而開發的一個開放原始碼的繼承者。 PostgreSQL是一個在Unix世界被廣泛應用的免費資料庫管理系統(DBMS),無論是它支援的特性,還是它的效能都可以和其它的商務資料庫一比高低。由於它採用C語言編寫,在不同的Unix之間互相移植非常方便,於是PostgreSQL能夠在眾多的平台上運行,包括:Solaris、AIX、SCO Unix、HP Unix、Linux、FreeBSD等。 PostgreSQL作為世界上應用最廣泛的資料庫系統,越來越多的人開始接受PostgreSQL。現在,筆者就介紹一下在RedHat Linux 7.0上如何應用 PostgreSQL。筆者曾經看了很多有關安裝和配置PostgreSQL的書,注意代有些術存在很多問題。現在,筆者就介紹一下在RedHat Linux 7.0上如何應用PostgreSQL。 在安裝和配置PostgreSQL之前,你的電腦必須滿足以下條件:
- 已經安裝紅帽子 7.0。
- 當前沒有安裝PostgreSQL。
- 已經安裝Gnome(我喜歡Gnome)。
- 已經安裝linuxconf 。
- 有root許可權。
筆者以下涉及的內容包括:
- 安裝PostgreSQL伺服器和用戶端。
- Postmaster配置和選項描述。
- 創造使用者和資料庫。
- 從其它電腦訪問資料庫。
1:獲得PostgreSQL 1)必需的檔案:
A postgresql-server-7.0.2-17.i386.rpm
B postgresql-7.0.2-17.i386.rpm
C php-pgsql-4.0.1pl2-9.i386.rpm
2)可選的檔案:
A postgresql-devel-7.0.2-17.i386.rpm
B postgresql-jdbc-7.0.2-17.i386.rpm
C postgresql-odbc-7.0.2-17.i386.rpm
D postgresql-perl-7.0.2-17.i386.rpm
E postgresql-python-7.0.2-17.i386.rpm
F postgresql-tcl-7.0.2-17.i386.rpm (推薦安裝)
G postgresql-tk-7.0.2-17.i386.rpm (這是postgresql-tcl-7.0.2-17.i386.rpm的一部分)
H phpPgAdmin_2-2-1-pl1.tar.gz (:http://www.greatbridge.org/project/phppgadmin/projdisplay.php)
2:安裝PostgreSQL
1)使用GNOME案頭環境中的GnoRPM 或命令列 rpm - ivh 安裝所有的.rpm 檔案。
2)根據你自己的情況,移動phpPgAmin檔案到某個目錄下。
3)在phpPgAmin檔案的目錄下用命令解壓:tar - xzf phpPgAdmin_2-2-1-pl1.tar.gz。
步驟3:Postmaster的配置和選項描述 Postmaster有很多配置選項,筆者將對主要的配置選項作簡短的描述。
1) -B = 設定共用記憶體磁碟緩衝區的數值(必須至少是伺服器處理序的2倍)。
2) -D = 指定資料庫目錄。
3) -N = 設定Postgres 伺服器處理序的最大數值。
4) -S = 以靜止模式啟動postmaster(沒有調試資訊)。
5) -d = 調試等級。
6) -i = 開啟遠端連線的TCP/IP連接埠。
7) -l = 啟用SSL安全連線。
8) -o = 傳遞給伺服器處理序的選項。
9) -p = 通過選項-i,指定開啟的TCP/IP連接埠。
3:啟動PostgreSQL
1) 在命令列上鍵入:linuxconf。
2) 點擊control(控制)選項。
3) 展開控制台,點擊control service activity(控制服務行為)。
4) 選擇服務列表裡的postgresql。
5) 點擊start(啟動)。
6) 如果所有進展順利了的話,它應該能夠正常啟動了。
7) 關閉linuxconf。
如果你想設定當系統啟動時,預設啟動PostgreSQL,最簡單的方法就是通過setup工具來設定。 PostgreSQL啟動之後,進入/var/lib/pgsql/data,你將發現一個名為postmaster.opts的檔案。該檔案簡要地說明了Postmaster當前使用的選項,具體顯示如下: /usr/bin/postmaster-p 5432-D /var/lib/pgsql/data-B 64-b /usr/bin/postgres-i-N 32 筆者在使用的過程中發現32個伺服器處理序還遠遠不夠,於是筆者把伺服器處理序增加到128個。同時,也把緩衝區改為512,提供4M的緩衝區空間。這需要編輯postmaster.opts.default這個檔案,所在目錄為/var/lib/pgsql/data。改變後的設定檔應該有這樣一段: -B 512 -i -N 128 回到步驟4重新重啟postgres,再查看 postmaster.opts檔案,它應該如下: /usr/bin/postmaster-p 5432-D /var/lib/pgsql/data-B 512-b /usr/bin/postgres-I-N 128如果出現其它問題,筆者建議不要改變另外的任何選項。 4:允許遠端電腦串連
1) 在下面這個例子中,筆者將允許所有來自192.168.0.1的電腦使用者能夠訪問所有的資料庫。
2) 為了實現這些,我們只需要編輯 pg_hba.conf這個檔案。
3) pg_hba.conf在目錄 /var/lib/pgsql/data下。
4) 開啟並編輯該檔案,在檔案最後增加如下這一行:
host all 192.168.0.1 255.255.255.0 trust 出於安全性考慮,筆者強烈建議為所有的資料庫設定許可權,設定使用者是否修改資料庫的許可權,最重要的是你一定要清楚是否存在擁有最大許可權的使用者,有權建立能夠訪問整個postgres系統的其它使用者。 總而言之,PostgreSQL的安裝和配置並不是很難,主要是看使用者是如何去應用PostgreSQL資料庫。至於PostgreSQL資料庫的應用,請各位讀者參考其它專業書籍。 |