pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
pg_passwd — 操纵平面口令文件
pg_passwd filename
pg_passwd 是一个操纵Postgres 平面口令文件功能的工具。这种风格的口令认证在安装中不是 必需的,而是多种受支持的安全机制之一。
在$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]
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。