現在談起免費資料庫,大多數人首先想到的可能是MySQL,的確MySQL目前已經應用在國內很多領域,尤其是網站架設方面。但是,實際上功能最強大、特性最豐富和最複雜的免費資料庫應該是PostgreSQL。它的很多特性正是當今許多商務資料庫例如Oracle、DB2等的前身。
其實筆者最近也是因為項目需要,接觸了一點PostgreSQL的皮毛,最近PostgreSQL又剛發布了8.1版本,筆者結合網上各位高手的經驗談一點自己的安裝心得,和才開始接觸PostgreSQL的新手朋友共同學習。
從PostgreSQL 8.0開始,就已經正式支援Windows了,在這之前,如果你想在Windows上安裝PostgreSQL,要藉助於Cygwin等類比Unix環境的工具來實現,因此在穩定性和效能上都要低於Linux上安裝版本。廢話少說,讓我們轉入正題。
下載PostgreSQL for Windows
登入http://www.postgresql.org/ftp/,下載最新版,支援多語言安裝。
開始安裝
下載安裝檔案到本地後,先用解壓縮工具把壓縮包解開,然後像安裝其他Windows應用程式一樣,雙擊postgresql-8.1.msi就可以開始安裝嚮導了。
首先是選擇安裝過程中使用的語言,筆者找了一邊沒有找到中文,只好選擇還能看得懂得英文^_^。另外,你可以選擇最下面得選項以把詳細的安裝日誌寫到當前安裝目錄,以備排查安裝故障,也可以閱讀一下瞭解它的安裝過程。
點下一步就是選擇安裝內容的選項了,其中分四大部分,分別是資料庫伺服器端、使用者介面、資料庫驅動和開發模組。你可以根據需要選擇安裝。筆者為了瞭解更多的東西,就把四部分全部裝全了。另外此處要注意的是資料目錄選項只能安裝在NTFS格式的分區,如果你要安裝在其他格式的分區的話,需要在安裝完後,手動運行Initdb.exe。
小提示:如果你喜歡用圖形介面來管理操作資料庫得話,在使用者介面裡可以選擇安裝pgAdminIII。
接下來是服務配置,你可以把該資料庫伺服器作為Windows的一個系統服務運行,這也是Postgresql開始真正支援Windows安裝的一個體現(如)。
在此設定服務名,還有運行該服務的Windows帳號。你可以輸入一個已有帳號,也可以輸入一個目前並不存在的帳號,讓安裝程式自動建立這個帳號。Account domain項代表你電腦上的完整電腦名稱,這可以到“我的電腦”——>右擊屬性——>電腦名稱,在裡面內容中有個完整電腦的名稱(如我機器上的:cao-393d0fd737d),將它複製,名稱最後的那一點不要也複製上了,粘貼到Account domain項中(注意只能用快截鍵Ctrl+V粘貼)。
建立帳號完畢後,就是要設定資料庫的監聽連接埠、串連許可,及本地地區和超級使用者的設定了。其中要注意的是Port number代表設定資料庫PostgreSQL的監聽連接埠;Locale項可以在下拉式清單中選(Chinese,People's Republic of China )代表本地地區;Addresses(串連許可)可選也可以不選;Encoding項在下拉式清單中選UTF-8編碼(關鍵);Superuser name代表PostgreSQL的使用者名稱,自己可以自行改動,也可以預設(建議改為自己喜歡的名稱吧);Password進入PostgreSQL所需的密碼(不可為空,必須四位以上);Password(again)確認你的密碼,(這兒建立的超級帳號是資料庫管理員使用者,注意與前面的服務帳號區別。注意這個對話方塊只有你在上一步選擇了讓PostgreSQL作為一個系統服務運行才會出現。
點擊下一步後,會彈出一個遠端連線的選項,提示本地串連資料庫預設都可以被接受,但是如果想讓遠端電腦也能串連到資料庫的話,你需要在安裝完成後,單獨設定pg_hba.conf檔案,具體設定我們在後面再說明。
選擇在預設建立的測試資料庫template1中啟用的過程語言,PL/perl需要ActiveState Perl 5.8的安裝支援,PL/python則Python 2.3的支援,我這兒只選擇了pgsql了。注意這個對話方塊只有你在選擇了讓PostgreSQL作為一個系統服務運行,並且選擇了初始化資料庫組件後才會出現。
選擇在測試資料庫template1中啟用的模組,所有的擴充檔案都是會被安裝上,這一步只是選擇在你所有的資料庫中預設啟用哪些模組。這些擴充模組能提供一些增強功能。
ok,至此安裝配置參數就已經配完了,你只需要點下一步等待安裝完成就可以了,PostgreSQL安裝速度極快,根據機器不同時間略有不同。最後出現安裝成功介面。
重新起動後,發現在開始菜單程式裡多了PostgreSQL 8.1的程式組,並且在工作管理員了多了幾個進程,如。
用戶端串連設定
PostgreSQL出於安全考慮,預設是拒絕所有遠程用戶端的串連的,如果你要想遠程登入伺服器端的話,需要設定pg_hba.conf,從開始菜單-->程式-->Postgresql 8.1-->configuration files中選擇編輯pg_hba.conf。
修改為如下內容:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.9.226/32 md5
這樣表示本機和192.168.9.226這台機器可以通過經過MD5加密的密碼串連資料庫。通過修改IP地址的掩碼,也可以允許哪一個段的地址可以串連伺服器。另外,認證方式MD5還可以改為trust,表示完全信任這個地址的串連(這一點在偵錯工具時比較方便)。改為password,表示通過密碼串連,但是密碼以明文方式發送。設定完後,需要重新啟動PostgreSQL才會生效。
用戶端串連測試
經過上面的安裝和設定,一個最簡單的PostgreSQL資料庫伺服器就已經建立起來了,接下來我們看看我們如何在這個資料庫伺服器上實現以下幾個建達的任務:1.建立、刪除一個資料庫;2.建立、刪除一個表。
通過上面的安裝過程,有兩種方式可以用來訪問操作資料庫。
通過psql to postgres方式
從開始菜單-->程式-->Postgresql 8.1-->psql to postgres,輸入安裝時指定的超級使用者的密碼,如
輸入密碼後,進入命令列介面
輸入create database mydb;建立一個資料庫mydb;通過drop database mydb刪除不想要的資料庫mydb;
通過create table myfirsttb(firstcol integer,secondcol text);建立一個表myfirsttb,通過drop table myfirsttb;刪除表myfirsttb。
更多的命令請到http://www.pgsqldb.org查詢相關文檔。
通過圖形化工具pgAdmin來管理資料庫
從開始菜單-->程式-->Postgresql 8.1-->pgAdmin III,如
右鍵點擊PostgreSQL Database Server 8.1(localhost:5432),點擊串連(connect),由於我在pg_hba.conf中設定本地串連也要通過密碼,彈出如下對話方塊。
輸入超級使用者口令,進入圖形化管理介面
在這兒你可以輕鬆直觀的管理資料庫,具體俺就不多說了。
另外通過其他的一些映像化管理工具也可以管理操作PostgreSQL資料庫,例如用EMS PostgreSQL Manager (http://www.sqlmanager.net/en/)進行管理。
從安裝過程來看,在Windows上安裝PostgreSQL已經是一件很簡單的事了,即時是像筆者一樣新手也可以根據嚮導成功安裝,你可以在沒有系統管理權限的情況下進行安裝。因為這是支援Windows(沒有Cygwin)的PostgreSQL 版本,PostgreSQL 作為服務安裝,在機器重啟之後可以沒有問題的啟動。
PostgreSQL 的最小資源需求非常低。例如在遠端連線的時候,開啟網路瀏覽器和MS-Word ,可以看到在測試機器上面沒有受到任何影響。
如果說到不足之處,由於使用PostgreSQL的使用者還不像使用MySQL的使用者那麼廣泛,因此這方面網上交流的論壇還不是很活躍,對新手的入門是一個障礙。相信這一點也會逐漸改善。