天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、cdn、云电脑、大数据及ai等全线产品和场景化凯发app官方网站的解决方案。
分类: 数据库开发技术
2023-03-16 17:21:39
本文分享自天翼云开发者社区《postgresql:psql 介绍》,作者: 周****平
psql 命令是与 postgresql 服务器交互的客户端程序,要登录到数据库服务器,需要使用psql 客户端工具或者第三方客户端工具如postgresql for navicat,pgadmin,visualizer 等等。psql 作为 dba 通常使用的与 postgresql 交互的客户端终端程序,因此,熟悉这个命令的用法可以帮助 dba 快速的操作和维护数据库。
psql 的默认语法
psql [option]...[数据库名称 [用户名]]
说明
在 shell 命令行输入 psql,会直接进入数据库,此时的数据库默认用户名是 postgres,默认的数据库是 postgres。
连接选项:
-c, --command=command:执行单行命令。
-d, --dbname=dbname:数据库名称(默认:“postgres”)
-f, --file=filename:从外部调用脚本文件
-l, --list:列出可用的数据库后退出。
-v, --set=, --variable=name=value:set psql 变量 name to value(例如,-v >
-v, --版本输出版本信息,然后退出
-x, --no-psqlrc 不读取启动文件 (~/.psqlrc)
-1 (“one”), --single-transaction:作为单个事务执行(如果是非交互式的)
输入输出选项:
-a, --echo-all:将脚本中的所有输入都输出,包含 sql 命令,存储过程和默认的 psqlrc 文件中的命令。
-b, --回声错误回显失败命令
-e, --echo-queries echo 命令发送到服务器
-e, --echo-hidden:可以获取元命令的sql代码
-l, --log-file=filename:发送会话日志到指定的文件。
-n, --无读线禁用增强的命令行编辑(读线)
-o, --output=filename:和-l不同的是,该参数仅仅将当前登录用户的执行操作结果保存到指定的文件,并且不会显示输出到屏幕。
-q, --quiet:以静默方式运行,没有额外信息显示,只输出查询结果,一般结合 aqt 一起使用。
-s, --单步单步模式(确认每个查询)
-s, --single-line:: 单行模式,sql 语句只能写在一行,而不能换行,不加该参数,sql 语句可换行。
输出格式选项
-a, --no-align:不对齐输出。
--csv:以逗号分隔的表输出模式。
-f, --field-separator=string:域分隔符(默认:|)。
-h, --html:以html表格输出查询结果。
-p, --pset=var[=arg] 将打印选项 var 设置为 arg(请参见 \pset 命令)
-r, --record-separator=string record separator for unigned output(默认值:换行符)
-t, --tuples-only:仅输出结果行。
-t, --table-attr=text 设置 html 表标签属性(例如,宽度、边框)
-x, --扩展打开扩展表输出
-z, --字段分隔符-零设置字段分隔符,用于将未对齐的输出设置为零字节
-0, --记录分隔符 --零设置记录分隔符,用于将未对齐的输出转换为零字节
链接选项
-h, --host=hostname:远程数据库服务器主机 ip 或 unix 套接字目录(默认:“local socket”)
-p, --port=port:数据库运行监听端口(默认: “5432”)
-u, --username=username:数据库用户名(默认: “postgres”)
-w, --no-password:禁用密码提示
-w, --密码强制密码提示(应该自动发生)
登录数据库
在psql 中输入的以反斜杠开头的内容都是psql元命令,也叫做反斜杠命令。元命令由psql自身进行处理。
元命令格式为反斜杠后跟参数,如\copy 命令即为元命令,语法格式为
元命令和选项之间可以有一个或者多个空格隔开,如果可选参数中包含了空格,可以用单引号将其引起来,如果是转义字符如: \ n(换行),\ t(制表符),\ b(退格键),\ r(回车),\ f(换页),\ digits(八进制)和\ xdigits(十六进制)都可以使用单引号引起来。
部分元命令以sql标识符(如表名,函数,序列等)作为参数,这些参数需遵循sql语法规则:不带引号的字母将被强制小写,双引号之间的字母不进行大小写转换,并允许在标识符中包含空格。在双引号中,成对的双引号会当成单引号使用。
psql 提供了丰富的元命令,如查看数据库对象定义,数据库对象空间大小,导入导出等元命令,以便于dba或者开发人员能够方便的管理和维护数据库。
通用
\凯发k8官网下载客户端中心的版权显示 postgresql 使用和分发条款
\交叉表视图 [列] 执行查询并在交叉表中显示结果
\errverbose 以{banned}{banned}最佳佳大详细程度显示{banned}{banned}最佳佳新的错误消息
\g [文件] 或 ;执行查询(并将结果发送到文件或|管道)
\gdesc 描述查询的结果,而不执行它
\gexec 执行查询,然后执行其结果中的每个值
\gset [prefix] 执行查询并将结果存储在 psql 变量中
\gx [file] 作为 \g,但强制扩展输出模式
\q quit psql
\watch [sec] 每隔 sec 秒执行一次查询
查询缓冲区
\ef [funcname [line]] 使用外部编辑器编辑函数定义
\ev [视图名称 [行]] 使用外部编辑器编辑视图定义
\p 显示查询缓冲区的内容
\r 重置(清除)查询缓冲区
\s [文件] 显示历史记录或将其保存到文件
\w 文件将查询缓冲区写入文件
输入/输出
\复制...使用数据流执行 sql copy 到客户端主机
\echo [字符串] 将字符串写入标准输出
\i 文件从文件执行命令
\ir file 作为 \i,但相对于当前脚本的位置
\o [文件] 将所有查询结果发送到文件或|管道
\qecho [string] 将字符串写入查询输出流(请参见 \o)
有條件的
\如果 expr 开始条件块
\elif expr 替代当前条件块中
\else 当前条件块中的{banned}{banned}最佳佳终替代项
\endif end conditional block
信息查看
\d[s ]:列出表、视图、序列、或索引
\d[s ] name 描述表、视图、序列或索引
\da[s] [模式] 列表聚合
\da[ ] [模式] 列表访问方法
\db[ ] [pattern]:列出表空间信息
\dc[s ] [模式] 列表转换
\dc[ ] [模式] 列表转换
\dd[s] [模式] 显示未在其他地方显示的对象描述
\dd[s ] [模式] 列表域
\ddp [模式] 列出默认权限
\de[s ] [模式] 列出外来表
\det[ ] [pattern] 列出外来表
\des[ ] [pattern] 列出外部服务器
\deu[ ] [pattern] 列表用户映射
\dew[ ] [pattern] 列出外来数据包装器
\df[anptw][s ] [patrn] 列表 [仅 agg/normal/procedures/trigger/window] 函数
\df[ ] [模式] 列出文本搜索配置
\dfd[ ] [模式] 列表文本搜索词典
\dfp[ ] [pattern] 列表文本搜索解析器
\dft[ ] [模式] 列表文本搜索模板
\dg[s ] [模式] 列表角色
\di[s ] [pattern]:查看索引占用空间大小
\dl 列出与 \lo_list 相同的大型对象
\dl[s ] [模式] 列出过程语言
\dm[s ] [模式] 列出实例化视图
\dn[s ] [模式] 列表架构
\do[s] [模式] 列表运算符
\do[s ] [模式] 列表排序规则
\dp [pattern] 列出表、视图和序列访问权限
\dp[itn ] [pattern] 列表 [仅索引/表] 分区关系 [n=嵌套]
\drds [patrn1 [patrn2]] 列出每个数据库的角色设置
\drp[ ] [pattern] 列出复制发布
\drs[ ] [模式] 列出复制订阅
\ds[s ] [模式] 列表序列
\dt[s ] [pattern]:查看表占用空间大小
\dt[s ] [模式] 列出数据类型
\du[s ] [模式] 列表角色
\dv[s ] [模式] 列表视图
\dx[ ] [模式] 列表扩展
\dy [模式] 列表事件触发器
\l[ ] [模式] 列表数据库
\sf[ ] funcname:查看函数定义信息
\sv[ ] viewname:列出视图的定义信息
\z [模式] 与 \dp 相同
格式
\在未对齐和对齐输出模式之间切换
\c [字符串] 设置表标题,如果没有,则取消设置
\f [字符串] 显示或设置未对齐查询输出的字段分隔符
\h 切换 html 输出模式(当前关闭)
\pset [name [value]] 设置表输出选项
(边框|列|csv_fieldsep|展开|字段|
fieldsep_zero|页脚|格式|线样式|空|
数字定位|页|pager_min_lines|记录|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle)
\t [开|关] 仅显示行(当前关闭)
\t [字符串] 设置 html标记属性,如果没有,则取消设置
\x [on|off|auto]:可设置查询结果输出模式 (默认:off)
链接
\c[onnect] {[dbname|- user|- host|- port|-] | conninfo}:连接到本地或远程数据库服务器
\conninfo 显示有关当前连接的信息
\编码 [编码] 显示或设置客户端编码
\password [用户名] 安全地更改用户的密码
系统操作
\cd [目录] 更改当前工作目录
\setenv name [value] 设置或取消设置环境变量
\timing [on|off] 切换命令的计时(当前关闭)
\![命令] 在 shell 中执行命令或启动交互式 shell
参数
\prompt [text] name 提示用户设置内部变量
\未设置名称 未设置(删除)内部变量
大对象
\lo_export 小叶文件
\lo_import 文件 [注释]
\lo_list
\lo_unlink loboid 大型对象操作
来自 “ itpub博客 ” ,链接:http://blog.itpub.net/31490526/viewspace-2711967/,如需转载,请注明出处,否则将追究法律责任。
上一篇:
下一篇: