数据库

 首页 > 数据库 > postgresql > 几种PostgreSQL客户端免密码连接的方法

几种PostgreSQL客户端免密码连接的方法

分享到:
【字体:
导读:
         摘要:平常工作中,有时需要异地连接PostgreSQL数据库做些维护,例如异地备份等;如果备份脚本写在异地机器,备份的时候会弹出密码输入提示,那么脚本就不能后台执行,这里总结了几种不弹出密码输入提示的方法。--测试环境目标库IP:192.168.1.25/1921;数...

几种PostgreSQL客户端免密码连接的方法

      
        平常工作中,有时需要异地连接 PostgreSQL 数据库做些维护,例如异地备份等;
如果备份脚本写在异地机器,备份的时候会弹出密码输入提示,那么脚本就不能后台执
行,这里总结了几种不弹出密码输入提示的方法。


--测试环境
目标库IP:  192.168.1.25/1921 ; 数据库 skytf
客户端IP: 192.168.1.26


--在 192.168.1.26  连接数据库 skytf , 弹出密码提示
postgres@db6-> psql -h 192.168.1.25 -p 1921 skytf skytf
Password for user skytf:

方法一:设置环境变量 PGPASSWORD   

    PGPASSWORD  是 PostgreSQL 系统环境变量,在客户端设置这后,那么在客户
端连接远端数据库时,将优先使用这个密码。


--测试
postgres@db6-> export PGPASSWORD=skytf                


postgres@db6-> psql -h 192.168.1.25 -p 1921 skytf skytf
psql (9.1beta3, server 9.0.1)                         
WARNING: psql version 9.1, server version 9.0.        
         Some psql features might not work.           
Type "help" for help.                                 
skytf=> q             

     备注:设置环境变量  PGPASSWORD ,连接数据库不再弹出密码输入提示。 但是从安全性
  方面考虑,这种方法并不推荐,


方法二:设置 .pgpass 密码文件
      
       通过在客户端 /home/postgres 目录下创建隐藏文件 .pgpass ,从而避免连接
 数据库时弹出密码输入提示。


--创建密码文件 .pgpass ( on 客户端 )                              
vi /home/postgres/.pgpass      
--格式                                                              
hostname:port:database:username:password                            
--范例                                                              
192.168.1.25:1921:skytf:skytf:skytf                                  
--权限                                                              
Chmod 600 .pgpass                  

--连接测试
postgres@db6-> psql -h 192.168.1.25 -p 1921 skytf skytf
psql (9.1beta3, server 9.0.1)
WARNING: psql version 9.1, server version 9.0.
         Some psql features might not work.
Type "help" for help.

skytf=>

      备注:在/home/postgres 目录创建了密码文件 .pgpass 文件后,并正确配置连接信息,
那么客户端连接数据时会优先使用 .pgass文件, 并使用匹配记录的密码,从而
 不跳出密码输入提示,这种方法比方法一更安全,所以推荐使用创建 .pgpass 文
件方式。                                

方法三:修改服务端 pg_hba.conf

     修改认证文件 $PGDATA/pg_hba.conf, 添加以下行, 并 reload使配置立即生效。
host    skytf          skytf            172.16.3.174/32           trust

[postgres@192_168_1_26 pg_root]$ pg_ctl reload -D $PGDATA
server signaled

--服务端 pg_hba.conf 的配置
# IPv4 local connections:
host    all             all             127.0.0.1/32             trust
host    skytf          skytf            172.16.3.174/32           trust
host    all             all             0.0.0.0/0                md5

--客户端再次连接测试
postgres@db6-> psql -h 192.168.1.25 -p 1921 skytf skytf
psql (9.1beta3, server 9.0.1)
WARNING: psql version 9.1, server version 9.0.
         Some psql features might not work.
Type "help" for help.

skytf=> q

      备注:修改服务端 pg_hba.conf 并 reload 后,不再弹出密码输入提示。

几种PostgreSQL客户端免密码连接的方法
分享到:
PostgreSQL数据库中视图的创建、使用和删...
PostgreSQL数据库中视图的创建、使用和删除 PostgreSQL的一个主要特点就是创建自定义“视图”,这些视图仅仅是预先定义的SQL查询,它们存储在数据库中并可以在需要时重复使用。因此,以这种方式储存经常使用的SQL查询比每次都手工输入要更有效率而且更加灵活,因为通过视图生成的数据集本身就可以通过SQL来操作。 这篇...
PostgreSQL数据库的安装过程记录
PostgreSQL数据库的安装过程记录 安装环境:RHEL5.5/RHEL6.0 postgresql: 8.4.7 安装PostgreSQL可以使用yum或者下载安装 yum的库中postgresql的版本是8.1.x的版本,由于有些特性是8.2以上版本才开始支持的,我们安装使用下载。 例如drop table/view [if exists]的支持就是如此 下载安装可以选择 下载rpm包...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……