热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

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

      
        平常工作中,有时需要异地连接 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 后,不再弹出密码输入提示。


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • 为了深入了解辽源市市民对智能城市建设的感受和建议,国家统计局辽源调查队近期开展了一项针对200位市民的问卷调查。结果显示,大部分市民对智能城市的认知度较高,并对其带来的便利表示肯定。 ... [详细]
  • Python包管理工具pip的使用指南
    本文详细介绍了如何使用pip进行Python包的安装、管理和常见问题的解决方法,特别针对国内用户提供了优化建议。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
php麟状
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有