postgreSql隨程式打包,服務啟動不了

2021-06-17 18:56:58 字數 1506 閱讀 9403

pgsql的安裝過程(windows)較為複雜,官方使用了pginstaller將pgsql打為乙個msi包,單獨安裝問題不大,但是有以下幾個問題:

1、遠端桌面安裝相容性差(目前官方的說法是除了win2003都有問題)

2、無法隨程式打包

3、安裝後的建庫工作會受到分割槽格式的影響

針對以上問題,現給出如下解決方案:

a、在隨便一台機器上裝好pgsql,並且建好庫、導好資料

b、將整個pgsql的安裝好的目錄複製到乙個臨時資料夾(例如

d:\temp),應該包括:

bin、data、include、lib、share等,視情況可以考慮加入pgadminiii

c、在臨時資料夾中建立dll目錄,包括以下5個檔案:

libeay32.dll/libiconv-2.dll/libintl-2.dll/libpq.dll/ssleay32.dll

(都可以在安裝好的機器中找到)

d、網上去找個ntright.exe檔案,放在bin目錄裡(隨便放哪,但是後面安裝完成最好刪掉)

--修正:網上再去找個netuser.exe,放在bin目錄裡

e、在臨時資料夾中建立setup.bat檔案,內容如下:

rem 建立postgres使用者,用來管理服務

net user postgres [passwd] /add /passwordchg:no

rem 讓postgres使用者不屬於users組,官方說不安全,照做

net localgroup users postgres /delete

rem 設定postgres使用者密碼永不過期

.\bin\netuser postgres /pwnexp:y

rem 拷貝檔案,力氣活

copy .\dll\*.* %windir%\system32 /y

rem 賦予postgres使用者logon as service許可權,技巧!!

rem 插一句廢話,ntrights.exe的引數列表裡沒有我用的這個,:)

.\bin\ntrights.exe -u postgres +r seservicelogonright

rem 以下摘自pginstaller原始檔,照做,主要是postgres使用者的檔案許可權

rem 其實是給ntfs用的,xp在fat32格式時會報錯,無視!

cacls . /e /t /d postgres

cacls . /e /t /g postgres:r

cacls .\data /e /t /p postgres:c

rem 建立postgresql服務,不要像那個台灣人一樣加入-l

rem 否則事件檢視器將變成windows寫情書給你的地方

.\bin\pg_ctl register -n pgsql -u postgres -p [passwd] -d "%cd%/data"

rem 啟動剛才的服務

net start pgsql

f、把整個臨時目錄打包分發,解壓後只要執行setup.bat就萬事大吉

用docker打包vim,構建隨取隨用的開發環境

docker的核心理念就是 build once,run anywhere。對於vimer來說,這無疑是乙個好訊息。大家都知道,雖說有vimrc在手,但有些外掛程式的安裝並不是那麼容易,需要進行各種預處理和後處理 某些外掛程式在不同發行版上的表現也不一致。一旦切換到新環境,一時半會兒肯定上不了手,如...

vb 打包程式

visual basic 安裝程式製作 安裝程式製作是做專案必不可少的一道工序,網上的安裝軟體很多,可以用五花八門來開形容了 在此筆者介紹乙個最簡單的安裝方法,就是用 自帶的打包程式進行打包,雖然比較普通,不過內部卻有不少竅門,相信這一點知道的人可能不多吧!請大家一定看到最後,好戲在後頭 好了,不廢...

程式安裝打包

研究了半天。終於有點成果 網上教程,看了半天,這裡也寫一下自己的辛苦路程 這裡分兩種情況打包 情況 安裝過程中需要修改webconfig或執行sql之類的 2.website情況 簡稱b情況 大多數操作,就在搜,就有答案了 這裡講下我遇到的問題 一 要修改webconfig之類的,就要新增insta...