最新消息:好好学习,天天向上

PostgreSQL之密码文件 /root/.pgpass

MySQL/Redis 货代IT 100浏览 0评论

关于.pgpass

对数据库的大多数访问(包括psql程序)都通过libpq库进行。该库包含一项功能,如果指定一个名为.pgpass的文件(或PGPASSFILE引用的文件),则可以在其中放置以用户身份连接所需的密码。

好处​:这允许通过诸如cron之类的机制自动执行日常管理任务​。

.pgpass文件内容格式如下​:

hostname:port:database:username:password

需要注意:

  1. 当密码包含冒号(:)时,必须用反斜杠( :)进行转义
  2. 字符“ *”可以匹配任何字段中的任何值(密码除外)
  3. 如果设置了环境变量PGPASSWORD,则不会读取〜/ .pgpass文件
  4. Windows 7 64位上带有空格的路径的示例PGPASSFILE值:
  5. 设置PGPASSFILE = C: Program Files someapp pgpass.conf
  6. 请注意,环境变量值不得使用“(双引号)
  7. 关于权限:在 Unix 系统上,口令文件上的权限必须不允许所有人或组内访问,可以用chmod 0600 ~/.pgpass这样的命令实现。如果权限没有这么严格,该文件将被忽略。在Windows上,该文件被假定存储在一个安全的目录中,因此不会进行特别的权限检查。

实例:

vim ~/.pgpass
#写入
localhost:5433:postgres:postgres:123456
#修改权限
chmod 0600 ~/.pgpass

检查下

infauser@XXXX:/data/99postgresql9.6> cat ~/.pgpass 
127.0.0.1:5555:postgres:postgres:password
infauser@XXXX:/data/99postgresql9.6> 
  infa@XXXX:/data/99postgresql9.6> ls -l ~/.pgpass
  -rwx------ 1 infauser users 43 Nov 4 16:26 /home/infauser/.pgpass

此时本地登录数据库就不需要密码输入了

infa@XXXX:/data/99postgresql9.6> ./bin/psql -h 127.0.0.1 -U postgres -p 5555 
Password for user postgres: 
psql.bin (9.6.5)
Type "help" for help.

postgres=

 

 

转载请注明:56data个人站点 » PostgreSQL之密码文件 /root/.pgpass

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址