pg_passwd - フラットパスワードファイルを操作します
pg_passwd password_file
pg_passwdは PostgreSQL のフラットパスワードファイルを操作するツールです。$PGDATA/pg_hba.confの Ident 認証と同様のスタイルのパスワードファイルを指定します。
上の行は 133.65.96.250 からのアクセスを$PGDATA/passwdに挙げられたパスワードを使って許可します。パスワードファイルのフォーマットは/etc/passwdと/etc/shadowに追従しています。最初のフィールドはユーザ名で、2番目が暗号化されたパスワードです。他は完全に無視されます。でうすから、次の 3つのサンプル行は同じユーザとパスワードの組みとなります:
host unv 133.65.96.250 255.255.255.255 password passwd
pg_passwd コマンドにはパスワードファイルを指定してください。上に説明したケースでは、$PGDATA にcdした後、pg_guest の新しいパスワードを次のコマンドの実行で決めます:
pg_guest:/nB7.w5Auq.BY:10031:::::: pg_guest:/nB7.w5Auq.BY:93001:930::/home/guest:/bin/tcsh pg_guest:/nB7.w5Auq.BY:93001
Password:とRe-enter password:のプロンプトはターミナルには出力されない同じパスワードの入力を求めます。元のパスワードファイルは passwd.bk に名前を変えます。
% pg_passwd passwd Username: pg_guest Password: Re-enter password:
psql の認証 には -u オプションを使います。次はオプションの使い方のサンプルです:
Perl5 の認証
% psql -h hyalos -u unv Username: pg_guest Password: Welcome to the POSTGRESQL interactive sql monitor: Please read the file COPYRIGHT for copyright terms of POSTGRESQL type \\? for help on slash commands type \\q to quit type \\g or terminate with semicolon to execute query You are currently connected to the database: unv unv=>
には Pg.pm の新しいスタイルを使います。このようになります:
詳細はsrc/pgsql_perl5/Pg.pmを参照してください。
$conn = Pg::connectdb(host=hyalos dbname=unv user=pg_guest password=xxxxxxx);
Pg{tcl,tk}sh の認証 にはpg_connectコマンドに-conninfoオプションをつけて使います:
次のコマンドを実行することで、すべてのオプションのキーをリストアップすることができます:
% set conn [pg_connect -conninfo \\ host=hyalos dbname=unv \\ user=pg_guest password=xxxxxxx ]
% puts [ pg_conndefaults]
psql(1) .