PostgreSQL是一套功能強大的對象-關系型數(shù)據(jù)庫管理系統(tǒng)。經(jīng)過十幾年的發(fā)展,PostgreSQL是世界上可以獲得的最先進的開放源碼的數(shù)據(jù)庫系統(tǒng)。
它提供了多版本并行控制,支持幾乎所有SQL構件(包括子查詢,事務和用戶定義類型和函數(shù)),并且可以獲得非常廣闊范圍的(開發(fā))語言綁定(包括C,C++,Java,perl,tcl,和python)。本文介紹的是其在windows系統(tǒng)下的安裝過程。一般說來,一個現(xiàn)代的與Unix兼容的平臺應該就能運行PostgreSQL。而如果在windows系統(tǒng)下安裝,你需要Cygwin和cygipc包。另外,如果要制作服務器端編程語言PL/Perl,則還需要完整的Perl安裝,包括libperl庫和頭文件。在磁盤支持方面,需要65MB左右用于存放安裝過程中的源碼和大約15MB的空間用于存放安裝目錄;一個空數(shù)據(jù)庫大概需要25MB;然后在使用過程中大概需要在一個平面文本文件里存放同等數(shù)據(jù)量數(shù)據(jù)五倍的空間存儲數(shù)據(jù),如果你要運行回歸測試,還臨時需要額外的90MB空間。第一步:從網(wǎng)上下載基于windows的Cygwin安裝程序,雙擊打開。
第二步:選擇安裝類型。由于我們已將安裝程序下載到了本地硬盤,故選擇第三項,然后單擊“下一步”。
第三步:選擇安裝路徑。一般按其默認即可。
第四步:選擇下載文件包在本機存放路徑。請根據(jù)實際選擇。
接著會提示選擇連接類型、下載站點、選擇安裝包(需要確定加上:cygrunsrv(categoryAdmin)、postgresql(categoryDatabase)),之后便開始下載包并安裝cygwin了。第一步:將cygserver安裝成NT服務并啟動
a.運行腳本:$/usr/bin/cygserver-config
b.在win2003中設置環(huán)境變量:CYGWIN=server
c.重啟win2003第二步:在win2003的DOS狀態(tài)下,按下圖所示新建用戶帳戶及密碼
第三步:在系統(tǒng)所在分區(qū)新建一文件夾例如:D:\cygwin\home\postgres第四步:更新文件:/etc/passwd使用命令:mkpasswd-l-upostgres>>/etc/passwd解釋:向/etc/passwd文件中加入用戶postgres的信息第五步:新建存放數(shù)據(jù)的目錄并設置postgres為該目錄的所有者mkdir/usr/share/postgresql/data
chownpostgres/usr/share/postgresql
chownpostgres/usr/share/postgresql/data
第六步:配置用戶權限在運行框內(nèi)輸入“secpol.msc”打開“本地安全設置”窗口,依次點擊“本地策略”-“用戶權限分配”,在右邊窗口里找到“作為服務登錄”,雙擊打開。
在出現(xiàn)的窗口里單擊“添加用戶或組”添加一個名為“postgres”的用戶。
第七步:初始化數(shù)據(jù)區(qū)域注銷原來的用戶,改用postgres進入win2003后運行如下命令:
initdb–d/var/postgresql/data注意:PostgreSQL安裝程序只能在NTFS分區(qū)中完成數(shù)據(jù)庫的初始化工作,而PostgreSQL服務器程序自身和一些工具程序可以安裝在任何分區(qū)中。如果為FAT分區(qū)格式,可以正常安裝PostgreSQL,但不要進行數(shù)據(jù)庫的初始化工作,只能待在安裝完成后,在FAT分區(qū)上手動執(zhí)行initdb.exe程序來進行,但安全性和可靠性就不能保證了,要想建立表空間也會失敗。第八步:將postmaster(PostgreSQL的服務器)安裝成NT服務并啟動使用命令:cygrunsrv–Ipostmaster–p/usr/bin/postmaster–a“-d
/usr/share/postgresql/data–I”–ycygserver–sint–upostgres-o命令解釋:
-Ipostmaster:新建一個名為postmaster的服務。
-p/usr/bin/postmaster:應用程序路徑為/usr/bin/postmaster。
-a"-D/usr/share/postgresql/data-i":
postmaster將目錄/usr/share/postgresql/data做為數(shù)據(jù)目錄,必須設置“-i”(TCP/IP連接)和“-D”參數(shù)。
-ycygserver:指明postmaster依賴于cygserver
-sint:發(fā)送信號INTwhenterminatedisrunbytheuser(-u)postgres
-o:在系統(tǒng)退出時停止服務注:更詳細的參數(shù)說明可以使用命令:“cygrunsrv-h”以及“postmaster–help”
之后Cygrunsrv將會讓你輸入兩次密碼。OK,經(jīng)過以上配置后,即可使用命令“psql–upostgrestemplate1”登錄postgresql數(shù)據(jù)庫了。注:“template1”是Postgresql在初始化時自動創(chuàng)建的測試數(shù)據(jù)庫。
更多信息請查看IT技術專欄