我正在處理的項目使用一個sql腳本,它運行幾個命令作爲postgres的管理員用戶;如命令:相同的postgres腳本在不同的機器上使用不同的用戶?
psql -U postgres -c 'CREATE DATABASE azara WITH OWNER azara'
我的同事們都在OSX和其管理的Postgres用戶在默認情況下「Postgres的,而我在nixos和我的管理Postgres的用戶是默認「根」。因此,腳本中的此命令需要與我的計算機上的不同,以代替
psql -U root -c 'CREATE DATABASE azara WITH OWNER azara'
處理這種差異的最佳方法是什麼?
也許最簡單的方法是在我的機器上創建一個'postgres'用戶來運行腳本。但是這似乎是一種黑客攻擊,我想知道是否有一種方法可以設置腳本來確定要使用哪個用戶。
我考慮使用腳本可以用作變量的postgres environment variable。但命令
$ echo $PGUSER
返回任何內容和環境變量PGUSER似乎沒有被默認設置,這樣看來,我的同事們將不得不設置envirenment變量,要工作。
是否有解決方案,腳本可以使用我的默認管理員用戶,哪一個不需要我的同事改變他們的設置或他們如何運行腳本?
只需創建接收用戶的參數bash腳本,那麼你會調用'./myscript root'或'./myscript postgres' –