postgresql客户端命令之口令文件:

在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令均会被口令输入提示中断。

在当前用户的HOME目录下,我们需要手工创建文件名为 .pgpass的口令文件,这样就可以在我们连接PostgreSQL服务器时,客户端命令自动读取该文件已获得登录时所需要的口令信息。该文件的格式如下:

hostname:port:database:username:password

以上数据是用冒号作为分隔符,总共分为五个字段,分别表示服务器主机名(IP)、服务器监听的端口号、登录访问的数据库名、登录用户名和密码,其中前四个字段都可以使用星号(*)来表示匹配任意值。见如下示例:

/> cat > .pgpass

*:5432:postgres:postgres:123456

CTRL+D

#.pgpass文件的权限必须为0600,从而防止任何全局或者同组的用户访问,否则这个文件将被忽略。

/> chmod 0600 .pgpass

在学习后面的客户端命令之前,我们需要根据自己的应用环境手工创建该文件,以便后面所有的示例代码都会用到该口令文件,这样它们就都可以以批处理的方式自动完成。

[postgres@localhost ~]$ cat .pgpass

127.0.0.1:3685:testdb2:testwjw:123456

[postgres@localhost ~]$ chmod 0600 .pgpass

[postgres@localhost ~]$ egrep "testdb2|testwjw" /data/postgresql/data/pg_hba.conf

host    testdb2         testwjw         127.0.0.1/32                md5

[postgres@localhost ~]$ pg_ctl reload -D /data/postgresql/data -l /data/postgresql/log/postgres.log

server signaled

[postgres@localhost ~]$ psql -Utestwjw -d testdb2 -h 127.0.0.1 -p 3685 (这样登陆是不需要密码的)

psql.bin (9.5.9)

Type "help" for help.

testdb2=>

一旦注释掉.pgpass  这个文件的内容

[postgres@localhost ~]$ cat .pgpass

##127.0.0.1:3685:testdb2:testwjw:123456

[postgres@localhost ~]$ pg_ctl reload -D /data/postgresql/data -l /data/postgresql/log/postgres.log

server signaled

[postgres@localhost ~]$ psql -Utestwjw -d testdb2 -h 127.0.0.1 -p 36985

Password for user testwjw:       ####此处提示要输入密码123456

psql.bin (9.5.9)

Type "help" for help.

testdb2=>

本文转自 wjw555 51CTO博客,原文链接:http://blog.51cto.com/wujianwei/1970731

postgresql客户端命令之口令文件相关推荐

  1. PostgreSQL学习总结(十七)——(客户端命令<一>)

    零.口令文件:     在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件.之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而 ...

  2. 用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解)

    用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解) 前言 原理 工具 步骤 延伸 博主联系方式 前言 本人喜欢收集各种优秀的视频,但是很多情况下我们看到的视 ...

  3. PostgreSQL psql 命令语法参数说明

    psql是PostgreSQL数据库提供的命令行终端程序,它允许我们交互地输入.编辑.执行SQL命令.使用psql进行数据库管理非常简单.轻量.高效,本站所有介绍PostgreSQL文章中的示例全部基 ...

  4. postgresql 常用命令行

    postgresql 常用命令行 连接数据库, 默认的用户和数据库是postgres psql -U user -d dbname \c dbname 切换数据库,相当于mysql的use dbnam ...

  5. PostgreSQL copy 命令教程

    报文介绍PostgreSQL copy 命令,通过示例展示把查询结果导出到csv文件,导入数据文件至postgresql. 1. copy命令介绍 copy命令用于在postgreSql表和标准文件系 ...

  6. PostgreSQL COPY命令

    COPY Name COPY -- 在表和文件之间拷贝数据 Synopsis COPY table_name [ ( column [, ...] ) ]FROM { 'filename' | STD ...

  7. Oracle的口令文件(passwordfile)的讲解(摘录)

    初学oracle,很多概念迷糊,今天看到这文章,让我有一个比较清晰的认识. 转载[url]http://www.itpub.net/viewthread.php?tid=906008&extr ...

  8. oracle 控制文件在哪里设置_从Oracle到PostgreSQL:最全控制文件

    原文: 从Oracle到PostgreSQL:最全控制文件(上) https://www.enmotech.com/web/detail/1/770/1.html 从Oracle到PostgreSQL ...

  9. mysql 参数sql文件_为MySQL的source命令导入SQL文件配置参数

    为MySQL的source命令导入SQL文件配置参数 执行 mysql -uroot -p 输入密码后进入 MySQL 命令提示符 set charset utf8; source /root/xxx ...

最新文章

  1. 全球海拔最高的国际级数据中心竣工,西藏有了大数据存储中心
  2. java并发实战编程pdf_「原创」Java并发编程系列25 | 交换器Exchanger
  3. iOS用户设计指南-特别说明
  4. 有监督学习 —— KNN算法
  5. 跟风写博---也谈值类型和引用类型
  6. 7-26 单词长度 (15 分)
  7. jQuery 的CSS选择器 中 使用变量的方法
  8. Hibernate 入门 特性配置
  9. PAT 1012. 数字分类 (20)
  10. 类似Windows开始菜单的右键菜单
  11. 网页上使用的输入法——Google Transliteration
  12. Spark~~SparkCore
  13. python爬虫爬取高清图片——爬虫入门
  14. Go语言中的条件变量Cond
  15. latex:ieee摘要两端对齐
  16. 年后第一天上班就提辞职是不是“不厚道”???
  17. 独享云虚拟主机、共享云虚拟主机、云服务器 ECS 的区别
  18. java正则表达式下划线_用于标识符的Java正则表达式(字母,数字和下划线)
  19. 绝地求生亚服服务器维护,绝地求生大逃杀亚服服务器在哪 进入亚服方法
  20. ImageButton边框问题

热门文章

  1. ssh远程执行python本地脚本_ssh远程执行命令方法和Shell脚本实例
  2. JSP页面中使用中文名图片
  3. 如何在生产中实现Elasticsearch的零停机升级
  4. Windows Shell编程-第十六章.命名空间扩展
  5. java 截取数组的一段_java截取一段数组
  6. Rockchip Android平台查看系统运行帧率的方法
  7. C语言三剑客-C和指针、C专家编程、C陷阱和缺陷
  8. 天龙八部服务器端---共享内存的设计
  9. 这个蟹我一抓,五两,这个称上放放,你看
  10. 医疗SaaS:发生在云端的二次医疗革命