現在談起免費數據庫,大多數人首先想到的可能是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。
選擇安裝選項1
選擇安裝選項2
小提示:如果你喜歡用圖形界面來管理操作數據庫得話,在用戶界面裡可以選擇安裝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。
編輯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,輸入安裝時指定的超級用戶的密碼,如下圖
輸入密碼
輸入密碼後,進入命令行界面
psql操作界面
輸入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的用戶那麼廣泛,因此這方面網上交流的論壇還不是很活躍,對新手的入門是一個障礙。相信這一點也會逐漸改善。