2010-11-22 114 views
0

SQL分發預初始化的目錄集羣,但對於postgresql,我們需要使用initdb和網絡服務帳戶初始化集羣。它在少數情況下失敗並導致一點痛苦!Postgresql集羣初始化

可以自己初始化集羣並分發預初始化的集羣?

感謝

+0

你有關於它失敗的更多信息嗎?你看到任何錯誤信息嗎? – bernie 2010-11-22 22:47:00

+0

好隨機的東西。 postgre用戶需要訪問根等8點3問題。我們不想改變,因爲客戶不喜歡這樣。這就是爲什麼我想分配預先初始化的集羣。想要有一些想法。 – user507779 2010-11-23 03:17:38

+0

如果你正在討論像pg_cluster類型命令一樣的debian/ubuntu功能,是的,它們需要是root才能執行。 OTOH,initdb不需要由root運行,這樣如果你在用戶joe的當前目錄中,你可以運行initdb -D/home/joe/mydb來創建一個集羣。 – 2010-11-23 03:54:23

回答

0

很難理解你的問題,但我認爲你是在談論Windows安裝PostgreSQL的。對?什麼版本,什麼安裝程序,錯誤消息,日誌記錄等?

安裝程序可以找到here

SQL =數據庫語言,SQL服務器 = 微軟數據庫產品

1

的 「簇」(或數據目錄)取決於操作系統和架構上。因此,在32位Linux上使用initdb初始化的數據目錄在64位Windows上不起作用。

但你不需要那樣做。如果您想將PostgreSQL作爲服務運行,則只需要一個服務帳戶。

您可以輕鬆使用ZIP分發版安裝並啓動Postgres,而不需要安裝完整安裝或服務帳戶。

這樣做的步驟是:

  1. 解壓二進制文件
  2. 運行initdb的它指向數據庫集羣應該被創建的目錄。
  3. 運行pg_ctl啓動服務器。

請注意,步驟2)和3)必須使用相同的用戶運行,否則服務器將無權寫入數據目錄。

這些步驟可以很容易地放到批處理文件或shell腳本中。