在上一篇文章中,我們討論了在Linux上非常流行的MySQL數據庫服務器的使用方法。在這篇文章中,我們將關注另一個選擇,名為PostgreSQL的開放源碼數據庫。盡管MySQL是一個快速,強大和相當簡單的關系型數據庫管理系統,但PostgreSQL更加具有綜合性,并為這種復雜性犧牲了一些速度。
如果你已經習慣于使用包含各種圖標和快捷方式的界面,那么PostgreSQL非常適合你,盡管MySQL的4版本也提供類似的功能。為了在這篇文章中能夠向你清楚的說明怎樣建立PostgreSQL,我使用以下版本的軟件: Red Hat Linux 7.1 PostgreSQL 7.1.3
準備安裝
在開始之前,你需要獲得這些軟件。你可以下載最新的7.1.3版本。將PostgreSQL這個源碼程序下載下來之后,應該把它放在Linux服務器的/usr/local目錄下。如果你把它放在其他地方,請注明并修改相應的路徑指示。
PostgreSQL并不以根權限運行。這源于開發者的安全設計思想。因此,你需要一個用戶賬號來建立運行PostgreSQL進程。在這篇文章中我們使用postgres這個用戶,同時還將創建一個名為postgres的組。
當然,如果想創建這些賬號,你需要以超級用戶的身份登錄(通常是根權限)。為了在Linux服務器上創建這個postgres用戶組,我將在命令行中執行groupadd postgres。下一步,創建用戶并加入這個組,命令為useradd postgres –g postgres。
在正式開始安裝PostgreSQL之前,我們還需要做兩件事情。首先,我們將自己來創建將要用到的目錄并在postgres用戶中指定所有者。這樣就可以避免權限不清所帶來的問題。
首先,創建兩個目錄: mkdir /usr/local/pgsql mkdir /usr/local/postgresql-7.1.3
然后,指定這兩個目錄在早先創建的postgres用戶中的所有者: chown postgres.postgres /usr/local/pgsql chown postgres.postgres /usr/local/postgresql-7.1.3
現在讓我們將這個版本解壓以便可以安裝它。首先,用su postgres命令改變postgres用戶。然后,用cd /usr/local命令轉到/usr/local目錄下并用下列命令將下載的文件解壓: gunzip –dc postgresql-7.1.3.tar.gz | tar xvf
當列表中的文件解壓完成之后,你就會回到命令提示符下,使用cd /usr/local/postgres-7.1.3命令轉到相應目錄下。
完成之后,就可以開始了
像其他開放源碼的程序一樣,安裝過程的第一步就是安裝配置中指定你的操作環境,包括所希望的程序安裝路徑和特定性能的有效/無效。
為了實現安裝的意圖,我們要確信軟件安裝在了/usr/local/pgsql目錄下,這是我們先前創建的目錄。為了完成這一步,我們使用命令: ./configure --prefix=/usr/local/pgsql
下一步是用先前提供的選項來編譯源程序。用命令行實現這一點。完成之后,你可以通過鍵入安裝時的命令來安裝二進制文件。
稍等,還有更多的
在你開始啟動數據庫之前,PostgreSQL也有一些環境變量需要設置,你應該讓PostgreSQL知道在哪兒可以找到它的數據文件,共享庫,應用程序文件,和操作記錄
。在我的RedHat Linux 7.1服務器上,我喜歡通過修改/home/postgres目錄下的.bash_profile文件來實現這一點。由于這個文件是在登錄時被查看,所以可以在環境中為postgres用戶添加合適的變量。使用你最喜歡的文本編輯器來完成以下的步驟(我用的是pico)。
用下面的命令打開并編輯.bash_profile文件: pico /home/postgres/.bash_profile
然后,在文件中用戶名一行前添加下列行: PGLIB=/usr/local/pgsql/lib PGDATA=/usr/local/pgsql/data PATH=$PATH:/usr/local/pgsql/bin MANPATH=$MANPATH:/usr/local/pgsql/man export PGLIB PGDATA PATH MANPATH
保存文件并用下面的命令創建目錄/usr/local/pgsql/pgdata: mkdir /usr/local/pgsql/data
如果postgres用戶對整個/usr/local/pgsql目錄擁有完全權限的話,你就無需使用根用戶。這個目錄將存儲所有你的數據庫文件。
啟動你的(數據庫)引擎
在可以正式啟動數據庫引擎之前,你需要通過一個初始化命令對不同的PostgreSQL數據庫進行初始化。如果想實現這個初始化,使用命令cd /usr/local/pgsql/bin并且鍵入./initdb,然后按[Enter]。你將得到許多狀態信息然后回到命令行提示符下。
在這時,你可以用以下命令開啟Postgres postmaster: /usr/local/pgsql/bin/postmaster –i -D /usr/local/pgsql/data &
這將啟動PostgreSQL并在/usr/local/pgsql/data目錄下運行數據庫,可以從互聯網上對數據庫進行連接(通過參數-i),可以運行于后臺(通過參數 &)。你的數據庫引擎已經啟動并開始準備接受數據。
創建數據庫
在這個例子中,我們將創建一個名為mydb的數據庫和一個名為mytable的表格,這樣可以讓你確信一切都正常工作。首先,在命令行中鍵入createdb mydb。如果PostgreSQL回復CREATED DATABASE,說明已經接受了命令?,F在,我們使用psql工具與這個數據庫共同工作。鍵入psql mydb并按[Enter]。這將帶你進入PostgreSQL的交互式模式。
如果想在mydb數據庫中創建mytable表格,可以按照以下的步驟。請記住這并不是一個真實的表格,只是一個樣本罷了: CREATE TABLE mytable ( id varchar(20), name varchar(30));
一旦你完成這些,你將看到一個CREATED信息,說明表格已經創建?,F在我們可以在表格中插入一個記錄,查看內容,然后退出psql工具: INSERT INTO mytable values (作家, Scott Lowe);
現在psql將答復INSERT 18732 1。如果想查看這個表格的內容,鍵入: SELECT “* FROM MYTABLE;”
你將看到以下的結果:
身份 | 姓名
--------+------------
作家 | Scott Lowe
如果要退出psql工具,鍵入q并按[Enter]。
總結
這讓我們大致了解了在RedHat Linux上PostgreSQL 7.1.3數據庫的基本安裝過程。我認為你將看到PostgreSQL是一個功能強大的數據庫,以其高級的性能完全有能力順利地運行于多種環境之中。
如果你在安裝PostgreSQL時遇到任何問題,我建議你仔細閱讀在PostgreSQL的Web站點中的文檔。(翻譯:智德;責任編輯:劉燕之)
TechRepublic是一個專為各類IT專業人士設立的在線社區以及資源中心,我們提供有深度的技術文章,這些文章由IT專家寫成,面對IT專家讀者。除了提供從Windows到e-mail到防火墻等各種文章以外,我們還提供IT業界分析,下載,管理要點,討論組以及新聞郵件服務。
(作者:Scott Lowe MCSE)