[pgsql-jp: 35311] Re: pg_restoreパスワード
KOYAMA Tetsuji
koyama @ hoge.org
2005年 4月 21日 (木) 15:23:30 JST
小山です。
進藤さん:
> ただし、8.0.2 までは、$HOME/.pgpass で参照される為、環境変数$HOMEが
> 適切に設定されていないと誤動作します。8.0.2以降は、/etc/passwdに書か
> れたホームディレクトリを参照するように変更されたようです。
んーと、上記は 非Windows の場合ですね。
質問者の方は Windows でお使いですので、/etc/passwd 云々は意味を持ち
ません。(そもそも Windows で /etc/passwd とは何ぞやという感じですし。(笑))
では、8.0.2 の場合 Windows 環境ではどうなっているかというと、
まず homedir を探すのに
| ZeroMemory(tmppath, sizeof(tmppath));
| if (SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, tmppath) != S_OK)
| return false;
| snprintf(buf, bufsize, "%s/postgresql", tmppath);
というコードを実行しています。CSIDL_APPDATA は各アプリケーションのデー
タ格納ディレクトリを指し、通常は
C:\Documents and Settings\username\Application Data
になるそうです。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp
なので homedir は
C:\Documents and Settings\username\Application Data/postgresql
になります。
ちなみに .pgpass のファイル名も Windwos 環境では pgpass.conf になる
ので、
C:\Documents and Settings\username\Application Data/postgresql/pgpass.conf
が参照されることになります。
--
小山 哲志@ビート・クラフト
koyama @ beatcraft.com
koyama @ hoge.org
pgsql-jp メーリングリストの案内