Windows Vista に PostgreSQL をインストールするときの注意点

WindowsPostgreSQL をインストールする際に、あらかじめ PostgreSQL のスーパーユーザーとなる「postgres」というアカウントを作っておいてからインストールを始めないといけないのだが、これを忘れてうっかりインストールを始めると、インストーラが勝手に postgres アカウントを作ってしまう上にアンインストールしてやり直そうとしても上手くいかないというとんでもないことになってしまう。ので、万が一やらかしてしまった人は、次の手順で復旧するとよい。

1. コマンドプロンプトを管理者権限で実行して

net user postgres /delete

で postgres アカウントを根こそぎ削除する。

これをやらないと「アカウント名に以下の文字は使えません」的なメッセージが出てどうやってもアカウントを作り直すことができない。

2. regedit を実行して
HKEY_LOCAL_MACHINE → SOFTWARE → MicrosoftWindows NT → CurrentVersion → Winlogon → SpecialAccounts → UserList
と進み、そこにある DWORD 値の「postgres」を削除する。

これをやらないと、postgres アカウントを作ってもコントロールパネルからアカウント管理をするときに postgres アカウントが表示されないのでパスワードの設定ができない。

以上が終わったら再度標準ユーザーの postgres アカウントを作成してパスワードを設定し、PostgreSQL を再インストール。

なお、インストールが終わって動作の確認が取れたら、2. で削除したレジストリの値は再度 0 に設定して postgres アカウントは隠しておくことをお勧めする(でないと再起動の度にログイン画面にいちいち出てきて鬱陶しいから)。

※ 12/04/10 追記 : 当然ですが UAC は停止しておきましょう。でないといろいろ面倒くさいので。