PostgreSQL:psql 介绍
本文分享自天翼云开发者社区《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或者开发人员能够方便的管理和维护数据库。
通用
\版权显示 PostgreSQL 使用和分发条款
\交叉表视图 [列] 执行查询并在交叉表中显示结果
\errverbose 以最大详细程度显示最新的错误消息
\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 当前条件块中的最终替代项
\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 <table> 标记属性,如果没有,则取消设置
\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/,如需转载,请注明出处,否则将追究法律责任。
PostgreSQL:psql 介绍相关推荐
- PostgreSQL 分区表, pg_pathman ,PostgreSQL 10介绍及性能对比(转载)
转载自:https://my.oschina.net/yonj1e/blog/868402 PostgreSQL 分区表, pg_pathman ,PostgreSQL 10介绍及性能对比 原 yon ...
- postgresql基本介绍以及部署使用
postgresql基本介绍以及部署使用 1. 基本介绍 1.1 基本信息 1.2 优势 2. 对比mysql和oracle 2.1 Postgresql VS Oracle 2.2 Postgres ...
- PostgreSQL索引介绍
梦中彩虹 博客园 首页 新随笔 联系 管理 随笔 - 131 文章 - 1 评论 - 14 PostgreSQL索引介绍 INDEX 索引是增强数据库性能的常用方法.索引使得数据库在查找和检索数据 ...
- linux 进入psql终端,PostgreSQL psql终端命令(PostgreSQL psql terminal command)
PostgreSQL psql终端命令(PostgreSQL psql terminal command) 我试图让psql格式很好,并在这里跟随文档. 现在,每当我对包含大量列的表执行查询时,无论我 ...
- PostgreSQL psql 命令语法参数说明
psql是PostgreSQL数据库提供的命令行终端程序,它允许我们交互地输入.编辑.执行SQL命令.使用psql进行数据库管理非常简单.轻量.高效,本站所有介绍PostgreSQL文章中的示例全部基 ...
- Postgresql数据库介绍4——使用
SQL语句( The SQL Language) 本章描述PostgreSQL中的 SQL 的语法. 我们开始描述SQL的主要语法,这些内容是理解随后各章的基础,在那些章里面将详细介绍 SQL 命令如 ...
- PostgreSQL · 特性介绍 · 全文搜索介绍
背景 在日常的数据处理中,我们经常会有这样的需求:从一个文本中寻找某个字符串(比如某个单词). 对这个需求,我们可以用类似这样的SQL完成:SELECT * FROM tbl WHERE text L ...
- Postgresql数据库介绍10——使用
索引(Indexes) Indexes are a common way to enhance database performance. An index allows the database s ...
- Postgresql数据库介绍
文章目录 一.数据库介绍 1.数据库DB引擎排行榜 2.数据库的主要优势 一.数据库介绍 1.数据库DB引擎排行榜 当前数据库的使用情况 https://db-engines.com/en/ranki ...
最新文章
- Linux文件查找命令find,xargs详述
- 编译后没有taget文件夹_matconvnet安装、编译、配置
- jdk的ServiceLoader
- C++中的临时对象都是const类型
- 错误描述: plugin scala is incompatible
- pytorch加载自己的数据集图片格式
- 分类学 · 狡兔为何偏要有三窟???
- opencv检测动态物体
- Typora主要常用快捷键
- com加载项没反应 ppt wps_EXCEL COM插件无法加载解决方案
- Apache Maven 最全教程,7000 字总结!
- java 生成图片验证码结合struts2使用
- 批处理框架 Spring Batch 这么强,你会用吗?
- 任天堂游戏 html5,任天堂:会让粉丝们在Switch上玩到《毁灭战士:永恒》
- 基于BAS算法实现复杂网络社区发现问题——附python代码
- 关于《那些年啊,那些事——一个程序员的奋斗史》——24提到的鼻炎治疗方法
- 计算机音乐烟火人间,烟火人间在线试听_陆虎_高音质歌曲_九酷音乐
- matlab光顺拐点,Matlab的smooth方法(降噪\光顺\移动平均)
- 《图解HTTP》阅读笔记
- 超音速启动 2020 年版发布
热门文章
- C语言循环链表(不带头结点)解约瑟夫问题的一种变形
- x2检验(chi-square test)/ 卡方检验
- 银行测试(8)-支付测试用例
- 直播软件与微信小程序的测试点
- python与医学统计_医学统计思维-数据库
- android中实现更溜的字母导航索引
- Can't execute code from a freed script
- javaweb校园订餐系统
- php chinapay,GitHub - jakehu/chinapay-for-ecshop: 上海银联(chinapay)支付插件 for ECSHOP
- autoware lidar_localizer包下的ndt_matching节点的学习