注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

PostgreSQL:psql 客户端无法使用“方向建”查看历史命令  

2013-05-23 17:44:49|  分类: PG案例分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

          今天在一开发环境上维护时,发现 使用 psql 连接到数据库后,无法使用方向键查看
历史命令,如下所示。

一 问题展现
--1.1 psql 命令台无法使用方向键
 -bash-3.2$ psql
psql (9.2.2)
Type "help" for help.

postgres=# select now();
              now              
-------------------------------
 2013-05-23 16:54:16.278334+08
(1 row)

postgres=# ^[[A^[[A^[[A^[[A^[[A  --这里尝试使用方向键,出现这个字符
postgres-# 
   备注:方向键无法使用,非常不方便,这个与 readline 有关。
  
--1.2 检查系统
 [root@skycac44 ~]# rpm -qa | grep readline
readline-5.1-3.el5
   备注:系统上已安装 readline。
 
--1.3 检查 PostgreSQL 客户端
 -bash-3.2$ pg_config --configure
'--prefix=/usr/local/postgres' '--without-readline'
备注: 以上命令显示编译 PostgreSQL 时的配置参数列表,上面果然没有安装 readline。
   
--1.4 configure 时手册上的解释
 --without-readline
    Prevents use of the Readline library (and libedit as well). This option disables command-line editing 
and history in psql, so it is not recommended.
 备注:手册上不建议禁用 readline。 对于已安装 readline 的 PostgreSQL 客户端,也有参数可以控制是否
           session 级禁用 readline。
         
         
二 测试
--2.1 查看编译信息
 [pg93@redhatB ~]$ pg_config --configure
'--prefix=/opt/pgsql9.3beta1' '--with-pgport=1925' '--with-segsize=8' '--with-wal-segsize=16' '--with-wal-blocksize=64' '--with-perl' '--with-python' '--with-openssl' '--with-pam' '--with-ldap' '--with-libxml' '--with-libxslt' '--enable-thread-safety'
备注:这个是我笔记本上 9.3 的库,编译时已安装 readline。
  
--2.2 psql 测试1: 启用 readline
 [pg93@redhatB ~]$ psql 
psql (9.3beta1)
Type "help" for help.

postgres=# select now();
             now              
------------------------------
 2013-05-23 17:00:09.76174+08
(1 row)

postgres=# select now();     --这里使用方向键滚动历史命令,正常。
              now              
-------------------------------
 2013-05-23 17:00:13.901787+08
(1 row)
  备注:方向键滚动历史命令正常。
  
--2.3 psql 测试2:session 级禁用 readline
 [pg93@redhatB ~]$ psql --no-readline
psql (9.3beta1)
Type "help" for help.

postgres=# select now();
              now              
-------------------------------
 2013-05-23 17:01:48.875906+08
(1 row)

postgres=# ^[[A^[[A
postgres-# 
备注:psql 连接时加了参数“--no-readline”,设置后,方向键又抽风了,更进一步,TAB 补全功能也被禁用了。
   

三 总结
  1 建议开启 readline 功能,便于数据库管理,维护。
  2 readline 功能与 psql 客户端相关,而与服务端无关。
  
  
  评论这张
 
阅读(8305)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016