技术开发 频道

行式数据库PostgreSQL 9.04版本评测

  2.psql工具

  psql是PostgreSQL提供的命令行工具,是DBA访问数据库的非常好的工具,既包括SQL的解析和执行,也包括执行各种PostgreSQL的内部命令。它包括单行命令方式和交互方式。通常都是采用交互方式,在需要批处理执行时用单行命令方式。

  psql完整的命令行参数选项如下:

-bash-3.2$ ./psql --help
psql is the PostgreSQL interactive terminal.

用法:
  psql
[选项]... [数据库名字 [用户名称]]

一般选项:
  
-d 数据库名     声明要联接的数据库名(缺省: "postgres")
  
-c 命令         只运行一条命令(SQL 或者内部)然后退出
  
-f 文件名       执行来自文件的命令, 然后退出
  
-l              列出所有可用数据库, 然后退出
  
-v NAME=VALUE   设置 psql 变量 NAME 的值为 VALUE
  
-X              不要读取启动文件 (~/.psqlrc)
  
--help          显示此帮助信息, 然后退出
  --version       显示版本信息, 然后退出

输入和输出选项:
  
-a              回显所有来自脚本的输入
  
-e              回显发送给服务器的命令
  
-E              显示内部命令生成的查询
  
-q              安静运行 (没有信息, 只有查询输出)
  
-o 文件名       向文件(或者 |管道)发送查询结果
  
-n              关闭增强的命令行编辑功能 (readline)
  
-s              单步模式 (核实每个查询)
  
-S              单行模式 (一行结束同时也标志着 SQL 命令结束)
  
-L FILENAME     发送会话日志到文件

输出格式选项:
  
-A              非对齐的表输出模式(-P format=unaligned)
  
-H              HTML 表输出模式 (-P format=html)
  
-t              只打印行 (-P tuples_onle)
  
-T 文本         设置 HTML 表标记属性 (表宽, 边宽) (-P tableattr=)
  
-x              打开扩展表输出 (-P expended)
  
-P VAR[=ARG]    把打印选项 VAR 设置为 ARG (见 \pset 命令)
  
-F 字串         设置域分隔符 (缺省: "|") (-P fieldsep=)
  
-R 字串         设置记录分隔符 (缺省: 新行) (-P recordsep=)

联接选项:
  
-h 主机名       声明数据库服务器主机或套接字目录 (缺省: "本地套接字")
  
-p 端口         数据库服务器端口 (缺省: 5432)
  
-U 名字         数据库用户名称 (缺省: "postgres")
  
-W              提示输入口令 (将自动发生)

更多的相关信息, 在 psql 里键入 "\?" (用于内部命令) 或者 "\help"
(用于 SQL 命令), 或者参考 PostgreSQL 文档里的 psql 节

<pgsql-bugs@postgresql.org> 汇报臭虫.

   进入psql命令行环境,可以使用的psql 内部\命令如下:

pgdb=# \?
一般选项
  \c
[onnect] [数据库名|- [用户名称]]
                    联接到新的数据库 (当前为 "pgdb")
  \cd
[目录名]     改变当前的工作目录
  \copyright       显示 PostgreSQL 用法和发布信息
  \encoding
[编码]
                    显示或设置客户端编码
  \h
[名字]        SQL 命令的语法帮助, 用 * 可以看所有命令的帮助
  \q               退出 psql
  \
set [名字 [值]]
                    设置内部变量, 如果没有参数就列出所有
  \timing          查询计时开关切换 (目前是 关闭)
  \unset 名字      取消(删除)内部变量
  \!
[命令]        在 shell 里执行命令或者开始一个交互的 shell

查询缓冲区选项
  \e
[文件名]      用一个外部编辑器编辑当前查询缓冲区或者文件
  \g
[文件名]      向服务器发送 SQL 命令 (并且把结果写到文件或者 |管道)
  \p               显示当前查询缓冲区的内容
  \r               重置 (清理) 查询缓冲区
  \s
[文件名]      打印历史或者将其保存到文件
  \w
[文件名]      将查询缓冲区写出到文件

输入
/输出选项
  \echo
[字串]     向标准输出写出文本
  \i 文件名        执行来自文件的命令
  \o
[文件名]      向文件或者 |管道 发送所有查询结果
  \qecho
[字串]
                    向查询输出流写出文本 (见 \o)

信息选项
  \d
[名字]        描述表, 索引, 序列, 或者视图
  \d{t
|i|s|v|S} [模式] (加 "+" 获取更多信息)
                    列出表
/索引/序列/视图/系统表
  \da
[模式]       列出聚集函数
  \db
[模式]       列出表空间 (加 "+" 获取更多的信息)
  \dc
[模式]       列出编码转换
  \dC              列出类型转换
  \dd
[模式]       显示目标的注释
  \dD
[模式]       列出域
  \df
[模式]       列出函数 (加 "+" 获取更多的信息)
  \dg
[模式]       列出组
  \dn
[模式]       列出模式 (加 "+" 获取更多的信息)
  \do
[名字]       列出操作符
  \dl              列出大对象, 和 \lo_list 一样
  \dp
[模式]       列出表, 视图, 序列的访问权限
  \dT
[模式]       列出数据类型 (加 "+" 获取更多的信息)
  \du
[模式]       列出用户
  \l               列出所有数据库 (加 "
+" 获取更多的信息)
  \z
[模式]        列出表, 视图, 序列的访问权限 (和 \dp 一样)

格式选项
  \a               在非对齐和对齐的输出模式之间切换
  \C
[字串]        设置表标题, 如果参数空则取消标题
\f
[字串]         为非对齐查询输出显示或设置域分隔符
  \H               在 HTML 输出模式之间切换 (当前是 关闭)
  \pset NAME
[VALUE]
                
set table output option
                 (NAME :
= {format|border|expanded|fieldsep|footer|null|
                 numericlocale
|recordsep|tuples_only|title|tableattr|pager})
  \t               只显示行 (当前是 关闭)
  \T
[字串]        设置 HTML <> 标记属性, 如果没有参数就取消设置
  \x               在扩展输出之间切换 (目前是 关闭)

拷贝, 大对象选项
  \copy ...        执行 SQL COPY, 数据流指向客户端主机
  \lo_export LOBOID
FILE
  \lo_import
FILE [COMMENT]
  \lo_list
  \lo_unlink LOBOID    大对象操作
0
相关文章