在 $PGDATA/pg_hba.conf 里用与 Ident 认证声明相同的风格声明口令文件:
host unv 133.65.96.250 255.255.255.255 password passwd上面这一行允许从 133.65.96.250 来的用户使用在 $PGDATA/passwd 里列出来的口令访问。该口令文件的格式遵循 /etc/passwd 和 /etc/shadow 的格式。第一个域是用户名,第二个域是加密的口令。其他是完全没有用的。因此下面三行声明同样的用户-口令对:
pg_guest:/nB7.w5Auq.BY:10031:::::: pg_guest:/nB7.w5Auq.BY:93001:930::/home/guest:/bin/tcsh pg_guest:/nB7.w5Auq.BY:93001给 pg_passwd 命令提供口令文件。在上面例子中,在把工作目录改到 PGDATA 后,执行下面的命令给用户 pg_guest 声明新口令:
% pg_passwd passwd Username: pg_guest Password: Re-enter password:这里的 Password: 和 Re-enter password: 提示需要相同的口令输入,这些口令不会在终端显示。初始的口令文件被改为 passwd.bk。
psql 使用 -u 选项激活这个风格的认证。
下面行显示这个选项的用法示例:
% 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=>Perl5 认证使用新的 Pg.pm 风格,象:
$conn = Pg::connectdb("host=hyalos dbname=unv user=pg_guest password=xxxxxxx");更多细节,请参考 src/interfaces/perl5/Pg.pm。
Pg{tcl,tk}sh 认证使用 pg_connect 带 -conninfo 选项的命令,象:
% set conn [pg_connect -conninfo \\ "host=hyalos dbname=unv \\ user=pg_guest password=xxxxxxx "]你可以通过执行下面命令列出该选项的所有关键字:
% puts [ pg_conndefaults]