有時候安裝 PostgreSQL 的 Windows 版本時會在建立 Windows 服務時失敗,取消“安裝為服務”的選項後,如何手工把它安裝成服務呢?
1. 首先檢查使用者,即啟動 PostgreSQL 服務的使用者,預設使用者是 postgres,通過“控制台”->“電腦管理”-> “本機使用者和組”檢查是否有 postgres 使用者,如果有則先刪除此使用者。
2. 通過命令列添加 postgres 使用者,如下:C:\>net user postgres pass /add /expires:never /passwordchg:no
上面的命令,建立 postgres 使用者,密碼為 pass,使用者帳號不到期,使用者不能修改密碼。
使用者建立成功後,將使用者從Users組裡刪除,如下:C:\>net localgroup users postgres /delete
3. 建立 PostgreSQL 服務,命令如下:(假設我們的資料庫建立在 E:\pgsql\data下,建立資料庫用 createdb 命令)D:\Program Files\PostgreSQL\8.2\bin>pg_ctl register -N PostgreSQL -U postgres -P pass -D E:\pgsql\data
4. 指定 postgres 使用者的存取權限,如下:D:\Program Files\PostgreSQL\8.2>cacls . /T /E /P postgres:R
上面的命令,設定 postgres 使用者對 D:\Program Files\PostgreSQL\8.2 目錄可讀。
E:\pgsql>cacls . /T /E /P postgres:R
E:\pgsql>cacls data /T /E /P postgres:C
上面的命令,設定 postgres 使用者對 E:\pgsql\data 目錄可更改(可寫)
5. 去啟動一下服務中的PostgreSQL試試看吧。