psql -W

[root@sourcedb ~]# su - highgo
[highgo@sourcedb ~]$ cd $PGDATA
[highgo@sourcedb data]$ cat pg_hba.conf 


# "local" is for Unix domain socket connections only
local   all             all                                     trust   ----此处为trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
host    all             all             192.168.6.10/24         md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
host    all             all             0.0.0.0/0               trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     highgo                                md5
#host    replication     highgo        127.0.0.1/32            md5
#host    replication     highgo        ::1/128                 md5
host    replication      highgo       192.168.6.0/24           trust       
[highgo@sourcedb data]$ psql
psql (3.1.4)
Type "help" for help.


highgo=# \q
[highgo@sourcedb data]$ psql -W
Password:                          ---此时随便输入任何内容都可以进入
psql (3.1.4)
Type "help" for help.


highgo=# \q
[highgo@sourcedb data]$ psql -W
Password: 
psql (3.1.4)
Type "help" for help.


highgo=# \q






[highgo@sourcedb data]$ vi pg_hba.conf 


# "local" is for Unix domain socket connections only
local   all             all                                     md5    ---此处修改为md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
host    all             all             192.168.6.10/24         md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
host    all             all             0.0.0.0/0               trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     highgo                                md5
#host    replication     highgo        127.0.0.1/32            md5
#host    replication     highgo        ::1/128                 md5
host    replication      highgo       192.168.6.0/24           trust
"pg_hba.conf" 92L, 4424C written                                                                                                                      
[highgo@sourcedb data]$ pg_ctl reload
server signaled
[highgo@sourcedb data]$ psql
Password: 
psql (3.1.4)
Type "help" for help.


highgo=# \q
[highgo@sourcedb data]$ psql -W                        --此处输入错误密码或者随意输入
Password: 
psql: 致命错误:  用户 "highgo" Password 认证失败
[highgo@sourcedb data]$ psql -W
Password: 
psql: 致命错误:  用户 "highgo" Password 认证失败
[highgo@sourcedb data]$ 






在postgresql内部,是否验证密码是通过pg_hba.conf文件中的METHOD这个字段识别的,MD5和PASSWORD是验证密码的,如果设置为TRUST,pg直接跳过密码验证,所以即使前端带有-W选项,在内部pg也是不验证密码的。

你可能感兴趣的:(Highgo,DB,PostgreSQL)