| PostgreSQL 8.0.0 中文文件(轉譯自 PostgreSQL 中國 製作的簡體中文版本) | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 14. 安裝教學 | Fast Forward | Next |
一般說來,一個現代的與 Unix 兼容的平台應該就能執行 PostgreSQL。 到發佈為止已經明確測試過的平台的列資料表在 Section 14.7列出。 在發佈的 doc 子目錄裡面有許多平台相關的 FAQ,如果您碰到問題您可能會需要參考它們。
製作 PostgreSQL 需要下面幾樣東西:
製作 PostgreSQL 需要 GNU make; 這個製作過程不能使用其他的make 程序。 GNU make常被安裝為 gmake的名字。本文件將一直使用這個名字稱呼她。 (在一些系統上GNU make是名字叫 make的預設工具。)要想測試 GNU make,敲入
gmake --version
我們建議使用版本 3.76.1 或者更新的版本。
您需要一個 ISO/ANSI C 編譯器。我們推薦使用最近版本的 GCC,不過,眾所周知的是 PostgreSQL 可以利用許多不同廠商的不同編譯器進行編譯。
我們需要先用 gzip 將版本解壓縮。
預設時將自動使用 GNU Readline, (這樣您可以方便地編輯和檢索命令歷史。) 如果您不想用它,那麼您必需給 configure 聲明 --without-readline 選項。 (在 NetBSD 上,libedit 庫是 readline 兼容的, 如果沒有發現 libreadline,則使用這個庫。) 如果您使用的是一個基於包的 Linux 發佈,那麼要注意您需要 readline 和 readline-devel 兩個包,特別是如果這兩個包在您的版本裡是分開的時候。
在 Windows 上安裝 PostgreSQL 需要額外的軟件。 您可以用 MinGW 製作基於 NT (比如 Windows XP 和 2003) 的 PostgreSQL Windows 版本; 參閱 doc/FAQ_MINGW 獲取細節。 您也可以用 Cygwin 製作 PostgreSQL; 參閱 doc/FAQ_CYGWIN。 基於 Cygwin 的製作可以在更老的 Windows 版本上運轉, 不過如果您可以選擇,我們還是建議 MinGW 方法。 儘管這些是完整製作時我們建議的工具集,但我們還是可以使用其它 Windows 工具集製作 C 庫 (libpq)和交互終端(psql)。 更多細節詳見 Chapter 15
下列包是可選的。在預設配置的時候並不要求它們,但是如果打開了一些製作選項之後就需要它們了,如下面解釋的。
要製作伺服器端編程語言 PL/Perl,您需要一個完整的Perl安裝, 包括 libperl 庫和頭文件。 因為 PL/Perl 是一個共享庫, libperl 庫在大多數平台上也必須是一個共享庫。 最近的版本的 Perl 好像這麼做已經是預設了,但是早先的版本可不是這樣的, 而且這總是是給您安裝 Perl 的人的選擇。
如果您沒有共享庫,而您卻需要它,那麼在製作過程中看到下面的訊息, 指出這個問題:
*** Cannot build PL/Perl because libperl is not a shared library. *** You might have to rebuild your Perl installation. Refer to *** the documentation for details.
(如果您不按照屏幕輸出的指示去做,那麼您只會注意到 PL/Perl 庫對象, plperl.so 或者類似的什麼東西,不會安裝到系統裡。) 如果您看到這些東西,那麼您就必須重新手工製作並安裝 Perl,這樣才能製作 PL/Perl。 在配置 Perl 的過程中,要求一個共享庫。
要製作 Python 接口模塊或者 PL/Python 伺服器端編程語言, 您需要一個 Python 的安裝,包括頭文件和 distutils 模塊。 對於 Python 1.6 或者更高版本,預設時就帶有 distutils 模塊; 更早版本的 Python 需要自己安裝它。
因為 PL/Python 將以共享庫的方式製作, libpython 庫在大多數平台上也必須是一個共享庫。在預設的 Python 安裝時不是這樣的。 如果在製作和安裝之後, 您有一個叫做 plpython.so 的文件(可能擴展名會有所不同), 那麼一切都好說,否則您應該回看到類似下面的訊息飄過:
*** Cannot build PL/Python because libpython is not a shared library. *** You might have to rebuild your Python installation. Refer to *** the documentation for details.
這意味著您必須重新製作(一部分)您的 Python,以提供這個共享庫。
如果有問題,用 --enable-shared 標誌執行 2.3 或更高版本的 Python 的 configure。 在有些操作系統上,您不必非要製作一個共享庫,不過您需要讓 PostgreSQL 的製作系統知道這些。 參考 src/pl/plpython 目錄的 Makefile 獲取細節。
如果您想製作 PL/Tcl 語言, 您當然需要安裝 Tcl 了。
要打開本地語言支援 (NLS),也就是說, 用英語之外的語言顯示程序的訊息,您需要一個 Gettext API 的實現。有些操作系統內置了這些(比如 Linux, NetBSD, Solaris), 對於其它系統,您可以從這裡:http://developer.postgresql.org/~petere/bsd-gettext/ 下載一個額外的包。如果您在使用 GNU C 庫裡面的 gettext 實現, 那麼您就額外需要 GNU Gettext 包,因為我們需要裡面的幾個工具程序。對於任何其它的實現,您應該不需要它。
Kerberos,OpenSSL,和/或 PAM, 如果您想支援使用這些服務的認證或者加密,那您需要這些包。
如果您從CVS樹中製作,而不是使用發佈的原始碼包,或者您想做一些開發, 那麼您還需要下面的包:
如果您需要從 CVS 抄出中製作,或者您修改了掃瞄器和分析器的定義文件, 那麼您需要 GNU Flex 和 Bison。 如果您需要它們,那麼確保自己拿到的是 Flex 2.5.4 或更新的版本, 以及 Bison 1.875 或者更新的版本。有時候也可以使用其它 yacc 程序,但是這樣做要求額外的工作,因此我們不建議使用。 其它的 lex 程序肯定是不行的。
如果您需要獲取 GNU 包,您可以在您的本地 GNU 鏡像站點 (看看 http://www.gnu.org/order/ftp.html 或 ftp://ftp.gnu.org/gnu/make 找到她們。
請檢查一下,看看您是否有足夠的磁盤空間。 您將大概需要近 65MB 用於存放安裝過程中的源碼樹和大約 15 MB 用於安裝目錄。 一個空資料庫大概需要 25 MB。 然後在使用過程中大概需要在一個平面文本文件裡存放同等資料量資料五倍的空間儲存資料。 如果您要執行回歸測試,還臨時需要額外的 90MB。請用df命令檢查剩餘磁盤空間。