PostgreSQL命令行工具psql常用命令

news/2024/7/9 21:18:03 标签: postgresql, 数据库, psql

1. 概述

通常情况下操作数据库使用图形化客户端工具,在实际工作中,生产环境是不允许直接连接数据库主机,只能在跳板机上登录到Linux服务器才能连接数据库服务器,此时就需要使用到命令行工具。psql是PostgreSQL中的一个命令行交互式客户端工具,类似于Oracle数据库中的命令行工具sqlplus,允许用户输入SQL语句或命令,并将其发送给PostgreSQL服务器,再显示SQL语句或命令的执行结果。

2. 进入命令行模式

操作用户是数据库用户时,可以使用直接psql命令,进入命令交互输入模式后会显示psql版本,然后出现命令提示符
直接进入命令行
如果使用与操作系统用户名不相同的数据库用户名连接数据库时,需要指定对应的用户名和数据库名称,命令如下:

psql -h 127.0.0.1 -p 5432 -U 用户名 -d 数据库

其他用户进入命令行

  • -h后面的IP地址是数据库所在的IP地址
  • -p后面的端口时数据库的监听端口
  • -U后面的参数是创建的用户名
  • -d后面的参数是创建的数据库

退出psql命令行模式,使用\q命令
退出<a class=psql" />

psql_17">3. psql常用命令

3.1. \h命令

用于查询SQL语句的语法,例如需要查看如何使用SQL语句创建用户,可以使用命令:

\h create user

提示命令

3.2. ?命令

用于查询所有命令符,例如要查看psql中有哪些提示符,可以使用命令:

\?

帮助提示符

3.3. \d命令

用于查询表、视图、索引、序列的信息,包括对象中所有的列、各列的数据类型、表空间和所有特殊属性
\d命令后什么都不带,将列出当前数据库中所有的表和序列
\d命令
\dt命令只显示所有表信息
\dt命令
\d命令后跟表名,可以显示该表的结构
\d table
\d命令后面跟索引名,也可以用于显示索引信息
\d 索引
\d命令后面的表名或索引名可以使用通配符,如“”或“?”,使用\d x?命令可以匹配数据库名以x开头的数据库
\d ?命令
使用\d t
命令可以匹配包含数据库名为t的数据库
\d *命令
\d+命令可以显示更详细的信息
\d+命令
\di命令只显示索引
\di命令
\ds命令只显示序列
\ds命令
\dv命令只显示视图
\dv命令
\df命令只显示函数
\df命令
\dn命令显示所有的schema
\dn命令
\db命令显示所有表空间
\db命令
\du或\dg命令显示数据库中所有角色或用户
\du命令
\dg命令与\du命令等价
\dg命令
\dp或\z命令显示表的权限分配
\dp命令和\z命令

3.4. 字符集命令

客户端的字符集与服务器字符集不一致时,会出现乱码,可以使用\encoding命令指定客户端的字符编码
\encoding命令

3.5. 格式化输出命令

psql中执行SQL语句后输出的内容默认只有内边框的表格
内边框
如果需要输出的带有内外边框的表格内容,使用命令\pset border 2
内外边框
如果需要输出的不带任何边框,使用命令\pset border 0
无边框
如果需要使用逗号分隔或以Tab分隔,使用\pset format unaligned命令
分隔符
默认分隔符是“|”,可以使用\pset fieldsep命令来设置分隔符,如更改为Tab分隔符
Tab分隔符
未了方便分析数据,有时需要将查询结果写入文件,可以使用\o命令
写入文件
使用cat命令或view命令可以查看刚才保存的文件
查看文件
使用\t命令可以删除文本中的表头和末尾的行数
去除表头
\x命令可以把按行展示的数据变为按列展示
\x命令

3.6. 其他命令

\i <文件名>用于执行存储在外部的文件中的SQL语句或命令

\x
\i xxx.sql

也可以直接在psql命令行使用-f <文件名>来执行SQL脚本

psql -x -f xxx.sql

此处的-x命令的作用相当于在psql中交互模式下运行\x命令
\l命令显示所有数据库信息
\l命令
\c database命令切换数据库
\c命令


http://www.niftyadmin.cn/n/4975796.html

相关文章

目标检测的训练过程

数据集准备(Dataset preparation): 收集或创建带有注释的数据集&#xff0c;其中包括图像或帧以及标注&#xff0c;指定了其中物体的位置和类别。标注通常包括边界框坐标&#xff08;x、y、宽度、高度&#xff09;和相应的类别标签。数据预处理&#xff1a; 将图像调整为模型能…

C#---第二十: partial修饰类的特性及应用

0.知识背景 局部类型适用于以下情况&#xff1a; 类型特别大&#xff0c;不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码&#xff0c;不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类 局部类型的限制: 局部类型只适用于类、接口、结构&am…

Hive原理剖析

一、简介 Hive是建立在Hadoop上的数据仓库框架&#xff0c;提供大数据平台批处理计算能力&#xff0c;能够对结构化/半结构化数据进行批量分析汇总完成数据计算。提供类似SQL的Hive Query Language语言操作结构化数据&#xff0c;其基本原理是将HQL语言自动转换成MapReduce任务…

《Java极简设计模式》第05章:原型模式(Prototype)

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 源码地址&#xff1a;https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

【Linux】【驱动】注册字符设备号

【Linux】【驱动】注册字符设备号 1. 绪论1 、静态分配设备号2、动态分配设备号3、注销设备号 2 实现的代码3 加载驱动程序 1. 绪论 在之前杂项设备的时候&#xff0c;设备号是固定的&#xff0c;字符设备就需要自己去申请设备号了&#xff0c; 申请设备号有两个方式&#xff…

@valid(validated)校验(验证) 的使用注意事项

首先先查看springboot项目有没有valid和validated依赖&#xff0c;没有的话就导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>1&#xff1a;对…

opencv的haarcascade_frontalface_default.xml等文件

文章目录 GitHub下载在安装好的OpenCV文件夹下寻找opencv-python中获取 GitHub下载 下载地址&#xff1a;https://github.com/opencv/opencv/tree/master/data/haarcascades 在安装好的OpenCV文件夹下寻找 路径如下&#xff1a; 你安装的opencv路径\OpenCV\opencv\build\et…

【Docker】网络

文章目录 Docker 网络基础Docker网络管理Docker网络架构CNMLibnetwork驱动 常见的网络类型 Docker 网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls docker …