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數據庫的應用,請各位讀者參考其它專業書籍。