Windows で sudo
必要があって、会社の PC に PostgreSQL の Windows 版を入れました。簡単にインストール&セットアップできるかと思ったのですが、initdb が失敗・・・
調べてみると、initdb 実行ユーザが管理者権限を持っていることがいけないようです。セキュリティ上の問題から、OS のスーパーユーザを使用しての initdb は行えないようにされているようです。*1
しょうがないので、インストール時に作成された postgres ユーザで initdb を行おうと思ったのですが、ログアウト → ログインの手順を踏むのは面倒。Linux の su や sudo に相当するコマンドが Windows には無いのかなとおもってしらべたところありました。
RunAs コマンドを使用すれば、Linux の sudo 相当のことが行えます。
c:\>runas /user:nono\postgres "c:\PostgreSQL\8.1\bin\initdb ...."
*1:そういえば、インストールの途中でそんなメッセージがあったかも・・・