一般來說,我們都主張把PostgreSQL安裝在NTFS磁盤格式下,以前我以為它也只能安裝在NTFS磁盤格式下,今天通過上課給同學們安裝才知道,其實是可以安裝到任何分區的。知識麻煩而已。下面應用一個問題:
可以將PostgreSQL安裝在FAT分區嗎?:
PostgreSQL首要任務是要保證數據的完整性。FAT和FAT32文件系統不能提供這樣的可靠性保障,而且FAT文件系統缺乏安全性保障,使得保護原始數據無法保證不被未經授權的更改。最後,PostgreSQL使用一項"多分點"的功能來完成表空間功能,這一特性在FAT文件系統下也是無法實現的。
NTFS文件系統是一個日志文件系統,提供了好得多的可靠性和恢復功能,而且它有較全面的訪問控制功能,並提供PostgreSQL要用到的多分點功能。
基本上述原因,PostgreSQL安裝程序只能在NTFS分區中完成數據庫的初始化工作,而PostgreSQL服務器程序自身和一些工具程序可以安裝在任何分區中。
然而也要看到,在一些系統中,特別是開發人員的電腦上,也許只有一種FAT分區,在這種情況下,你可以象正常情況下一樣安裝PostgreSQL,但不要進行數據庫的初始化工作,在安裝完成後,在FAT分區上手動執行initdb.exe程序,但安全性和可靠性就不能保證了,並且建立表空間也會失敗。
通過這個回答,我們可以想象如果安裝到了FAT32分區上,還是會給我們帶來很多麻煩的,不過如果你真的想安裝也可以利用下面的辦法:
如果你的計算機上沒有 NTFS 分區,那麼安裝成服務就會報錯,但可以這樣做:
1. 首先安裝的時候不要選擇安裝成服務,僅僅安裝軟件,假設到 c:\pgsql
2. 創建一個無管理員權限的用戶,比如 postgres,設定密碼,比如 1234
3. 以管理員,比如 Administrator 登錄,打開控制台,簡稱控制台 A
4. 在控制台 A 運行 runas /user:postgres cmd,打開一個以 postgres 用戶身份執行的控制台,簡稱控制台 P
5. 在控制台 P 上運行 c:\pgsql\bin\initdb -D d:\pg_data 初始化數據庫集群
6. 在控制台 A 執行 c:\pgsql\bin\pg_ctl register -N PostgreSQL -U posgres -P 1234 -D d:\pg_data