Install PostgreSQL 7.3.3 on Windows XP (Ⅳ)

教學系列

正文

接下來到 PostgreSQL 來下載最新版本的 7.3.3,檔名 postgresql-7.3.3.tar.gz。

你可以選擇任何一個 mirror 站台來下載。

下載後複製到 /usr/src 目錄下(對應 windows 目錄是 c:\cygwin\usr\src),執行下列命令:

$ tar zxvf postgresql-7.3.3.tar.gz
$ cd postgresql-7.3.3
$ ./configure
$ make
$ make install

解壓縮後會產生目錄,進入目錄後執行 configure。當然你也可以看一下裡面的 README 和 INSTALL 文件,並且加上你所需要的參數在 configure 的指令之後。這幾步依每個人電腦環境的不同而需要不同的處理時間,所以如果電腦的配備是較早之前的規格,那麼這時去泡杯茶休息一下會是不錯的選擇,因為也許等下會沒有時間休息。

一切完成後,要來設定一些參數。如果你的電腦會有不同使用者登入 Windows 來使用,並且你在安裝時有設定 All User 選項的話,那麼你可以把設定加到 /etc/profile 之中,如果你想限定只有你能啟動的話,就把設定加到 ~/.bashrc 裡,也就是 /home/XX/.bashrc。你可以使 Windows 的純文字編輯軟體來新增,但要注意的是你無法存成 .bashrc 的檔名,Windows 要求一定要有正檔名(可以不用副檔名),所以要先存成 x.bashrc,再回到 cygwin 之下使用下指令來更名:

$ mv x.bashrc .bashrc

或者你可以安裝新的套件 nano 到 cygwin 之中,它是一套類似 joe 的編輯工具。檔案內容的設定如下所列:

PATH=$PATH:/usr/local/pgsql/bin:/usr/local/bin
PGDATA=/usr/local/pgsql/data
PGLIB=/usr/local/pgsql/lib
LD_LIBRARY_PATH=/usr/local/pgsql/lib:/usr/local/lib
export LD_LIBARARY_PATH PATH PGDATA PGLIB

存檔完成之後,重新啟動 cygwin。並執行下面的步驟來初始化你的資料庫。

$ ipc-daemon&
$ initdb --encoding=UNICODE
$ postmaster -i&

若一切都沒問題的話,你就可以開始使用 createdb 來新建資料庫,psql 進入 PostgreSQL 系統裡開始使用你所知道的 SQL 語法來處理你的資料了。

接著請參考下一篇:Install PostgreSQL 7.3.3 on Windows XP (Ⅴ)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

eleven + 6 =

在〈Install PostgreSQL 7.3.3 on Windows XP (Ⅳ)〉中有 8 則留言

  1. 請教 CyberJos:
    我按照您的文檔安裝,在安裝 postgresql 时出现如下 Error 请帮忙解决一下(小弟第一次用 Cygwin):

    $./configure
    checking build system type .. i686-pc-cygwin

    checking host system type … i686-pc-cygwin

    checking whether to build with 64-bit integer date/time support …no

    checking whether NLS is wanted … no

    checking for default port number … 5432

    checking for gcc … no
    checking for cc .. no
    configure: error: no accetable C compiler found in $PATH

    請問為什麼找不到 gcc?

  2. 找不到 gcc…請先輸入

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/c
    ygdrive/c/WINDOWS/system32/WBEM

    來確定路徑中是否有包含 /bin,因為 gcc 程式位於 /bin 目錄下。如果沒發現的話,請輸入
    $ PATH=$PATH:/bin
    加入此目錄。如果有看到 /bin 的話,那麼請確認已安裝好 gcc 套件了,可以使用
    $ ls /bin/gcc*
    來找看看有沒有 gcc.exe。目前最近的版本是 3.3.1-3 。另外建議您參考 Install PostgreSQL 7.4 on Windows XP
    https://cyberjos.blog/service/postgresql/install-postgresql-7-4-on-windows-xp/
    的方法來安裝新版的 PostgreSQL 資料庫系統,比較方便。

  3. hkgarylee

    你好,

    按照你的方法於cygwin install PostgreSQL 7.4,當啟動postmaster出現以下訊息
    FATAL: data directory “usr/local/pgsql/data” does not exist
    請幫忙解決

    Thank!!
    Gary

  4. 你好:

    我是一名初学者,按照你的方法《Install PostgreSQL 7.4 on Windows XP》安装postgresql7.4.3到cygwin上面,当执行到initdb –encoding=UNICODE的时候发现不能创建数据库,显示的信息如下:
    The files belonging to this database system will be owned by user “Administrator”.
    This user must also own the server process.
    The database cluster will be initialized with locale C.
    creating directory /usr/local/pgsql/data… ok
    creating directory /usr/local/pgsql/data/base… ok
    creating directory /usr/local/pgsql/data/global… ok
    creating directory /usr/local/pgsql/datt/pg_xlog… ok
    creating directory /usr/local/pgsql/data/pg_clog… ok
    selecting default max_connections…Signal 12
    Signal 12
    Signal 12
    Signal 12
    Signal 12
    Signal 12
    50
    creating configuration files…ok
    creating templatel database in /usr/local/pgsql/data/base/1…Signal 12
    initdb: faied
    initdb:removing data directory “/usr/local/pgsql/data”
    [2]+ Done ipc-daemon2
    殷切盼望得到你的答复,谢谢!

  5. 錯誤訊息上只有 faied initdb,所以不太容易看得出來那裡出問題。建議您直接改用 cygwin 清單中已有的 postgresql 套件來安裝和初始化。

    試查查詢一下 /var/log 中的檔案,看看有沒有更進一步的資訊。或是在 Windows XP 中,「控制台」/「系統管理工具」/「事件檢視器」裡尋找相關訊息。

  6. dancinglulu

    你好。我按照您的《Install PostgreSQL 7.3.3on Windows XP》安装,但总是执行initdb –encoding=UNICODE 总不成功。显示信息如下:initdb: You must identify where the the data for this database system will reside. Do this with either a -D invocation option or a PGDATA environment variable.我查了在该目录下不能生成data 文件夹,不知这是为什么,帮帮忙好吗?急切等着您的回答,谢谢!

  7. 您可能沒有指定目錄,或者沒有先設定好 PGDATA 環境變數。若是要指定目錄的話必需要使用 -D 參數,並在其後加上完整的絕對路徑名稱,至於設定環境變數的部份教學文件上有介紹。

    如果仍然出現問題,那麼可能是環境變數並沒有正常被設定,可以輸入 set 指令查詢 PGDATA 參數是否存在。另外該目錄下不能生成 data 資料夾有可能是權限不足,要先確認 initdb 或登入 cygwin 的使用者具有系統管理者的權限,擁有該目錄的使用者和群組為何。

    另外如果你使用的是 PostgreSQL 7.4.2 以後版本,並且在安裝過程中出現 Signal 13 的 max_connection 錯誤的話,請參考 /usr/share/doc/Cygwin/postgresql-7.4.3.README 中的步驟來安裝。

返回頂端