PostgreSQL psql工具使用方法
列出所有数据库
psql -l
连接数据库
psql -h <host or ip> -p <port> [数据库名称] [用户名称]
这些也可以通过环境变量指定:示例如下
```
export PGDATABASE=xxx
export PGHOST=xxx.xxx.xxx.xxx
export PGPORT=xxxx
export PGUSER=xxx
```
设置环境变量后,执行psql相当于执行
\l
连接到指定数据库
\c 库名
psql的常用命令
“\h” 命令
查询SQL语句的语法
\h
使用"\h" 命令可以查看各种SQL语句的语法,还是比较方便的。
“\d” 命令
查看表
\d [ pattern ]
\d [ pattern ]+
显示每个匹配"pattern"(表、视图、索引、序列)的信息,包括对象中所有的列,各列的数据类型、表空间和所有的特殊属性等。
# 列出所有表
\d# 查看表结构
\d t# 查看索引信息
\d t_pkey# 也可以使用通配符,如'*' '?'等
\d x?# 使用\d + 可以更详细,比如:所有与表的列关联的注释,以及表中出现的OID
\d+ t# 只显示匹配的表
\dt# 只显示索引
\di# 只显示序列
\ds# 只显示视图
\dv# 显示函数
\df# 列出所有的schema
\dn# 显示所有的表空间
\db列出数据库中所有的角色或用户
\du
或
\dg显示表权限分配
\dp t显示执行SQL语句的时间
\timing on
select count(*) from t指定客户端字符集
\encoding gbk
\encoding utf8格式化输出命令"\pset"
\pset [ option [ value ] ]
根据命令后面的"option"与"value"的不同可以设置很多种不同的输出格式。带有边框
\pset border 2
select * from t不带任何边框的内容
\pset border 0
select * from tpsql中默认输出是\pset border 1
\pset border 0:表示输出内容无边框
\pset border 1:表示输出内容只有内边框
\pset border 2:表示输出内容内外都有边框
分隔符\pset format unaligned
select * from t
默认分隔符是"|",可以使用"\pset filedsep" 来设置分隔符,如改成TAB分隔符:\pset filedsep '\t'
select * from t
还可以将结果输出到一个文件中,使用"\o" :\pset format unaligned
\t # 去掉表头信息
\o test.txt
select * from t
"\x" 命令
使用 "\x" 可以把按行展示的数据变成按列展示,与MySQL中命令后面加 "\G" 类似\x
select * from t
执行存储在外部文件中的SQL命令
命令 "\i <文件名>" 用于执行存储在文件中的SQL语句或命令\x
\i test.sql
也可以在psql命令行中加 "-f " 来执行文件中的SQLpsql -x -f test.sql
其中命令行的 "-x" 等同psql交互式模式的 "\x"编辑模式
编辑命令 "-e" 可以用于编辑文件,也可以编辑已存在的函数或视图定义,输入 "-e" 后会调用一个编辑器,与vim一样,如果不带任何参数则生成一个临时文件,前面执行的最后一条命令会出现在临时文件中,当编辑完成后退出编辑器并回到psql中时会立即执行该命令\e
"\e" 后面也可以指定一个文件名,但要求这个文件必须存在,否则会报错。
也可以用 "\ef" 来编辑一个函数的定义,如果 "\ef" 后面不跟任何参数,则会出现一个编辑函数的模板,如果后面跟一个函数名,则函数定义的内容会出现在编辑器中,保存退出后,再输入 ";" 就会执行所创建函数的SQL语句
同样如果输入 "\ev" 则是对视图进行编辑。需要注意,退出编辑器后,要输入 "\reset" 来清楚psql的命令缓冲区,防止误执行创建的函数与视图\ef
\ev
\reset
输出信息的 "\echo" 命令
与shell一样,"\echo" 会输出一行信息\echo hello world
通常可以写在sql脚本里面cat test.sql
\echo ==========
select * from t
\echo ==========列出当前数据库连接的信息
\conninfo 查看数据库中安装的扩展
\dx
或
select * from pg_extension;获得快捷命令实际执行的SQL
连接数据库的时候使用-E参数即可psql -E postgres
这样连接上数据库之后执行"\d"这些命令都会打印出实际的SQL语句查看数据库、表、索引大小
select pg_size_pretty(pg_database_size('DB_NAME'));select pg_size_pretty(pg_table_size('TABLE_NAME'));select pg_size_pretty(pg_indexes_size('INDEX_NAME'));
psql命令使用
命令 说明
\h help \h create table
\d tb_name 查看表(视图,索引,序列)结构
\du 查看用户列表
\dt 查询数据库所有表(非系统表)
\dS 列出系统表和索引
\di index_name 只查看指定索引
\df 列出函数
\dv 只显示视图
\ds 只显示序列
\dn 列出所有的schema
\db 显示所有的表空间
\dg 列出数据库的所有角色或用户
\dp或者\z 查看表的分配权限
\c [user_name] [db_name] 切换某用户到指定数据库
\timing on/off 显示执行sql的时间
\encoding encode_type 设置客户端编码
\pset [option [value] ] 输出格式设置
\l 显示所有数据库列表
\q 退出
\o filename 文本输出执行结果
\I filename 用于执行存储在外部文件的sql语句或命令
\x 数据按列展示,类似mysql的\G
自动补全:连续单击两次tab键+:对比显示更加详细的信息,例如:\du+ \dt+ \d+
?/* :查询匹配通配符,例如:\d tb?
pgsql -E :可以显示命令执行的对应的SQL语句\pset边框设置
\pset boder 0 :不带任何边框
\pset boder 1 :输出内容有边框
\pset boder 2 :带边框\pset设置文本输出格式
\pset format unaligned (默认分隔符|)
\pset filesep '分隔符' (例如:\t)
PS:本文转自互联网
PostgreSQL psql工具使用方法相关推荐
- PostgreSQL修炼之道之psql工具的使用介绍(五)
目录 第四章 psql工具的使用介绍(一) 4.1 psql介绍 4.2 pslq的简单使用 4.3 psql的常用命令 4.3.1 \d命令 4.3.2 指定字符集编译的命令 4.3.3 pset命 ...
- php 启动管理工具下载,phpPgAdmin|PostgreSQL管理工具(phpPgAdmin)下载v5.0.4 开源版 - 欧普软件下载...
phpPgAdmin是一款功能强大的PostgreSQL数据库管理工具,可以对数据库进行多种操作,适用于PostgreSQL多种版本,新版本修复了bug,兼容性和代码清理功能得到了很大的改进,有需要的 ...
- Ubuntu下搭建postgresql主从服务器(方法1)
Ubuntu下搭建postgresql主从服务器(方法1) 安装略 postgresql主服务器: $ vi /etc/postgresql/9.1/main/postgresql.conf 按a或i ...
- 《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录
----------------------------------------------------------------------------分割线--------------------- ...
- PostgreSQL数据库管理工具pgAdmin4界面如何设置为中文显示
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485130&idx=1 ...
- PostgreSQL 管理工具之 pgAdmin
文章目录 pgAdmin 简介 pgAdmin 特性 下载安装 设置中文界面 连接数据库 我们知道,PostgreSQL 是世界上最先进的开源关系数据库.不过,今天给大家介绍的是一款 PostgreS ...
- linux 进入psql终端,PostgreSQL psql终端命令(PostgreSQL psql terminal command)
PostgreSQL psql终端命令(PostgreSQL psql terminal command) 我试图让psql格式很好,并在这里跟随文档. 现在,每当我对包含大量列的表执行查询时,无论我 ...
- 第3章 psql工具
第 3 章 psql工具 psql 是 PostgreSQL 自带的一个不可或缺的命令行工具,用途广泛,除了执行 SQL 这个基本功能外,还可用于执行脚本.导入导出数据.恢复表数据以及执行其他数据库管 ...
- 《高效团队开发工具与方法》
一直以来都在用所谓的敏捷开发,但是也只是简单的说,用什么用什么,从开始感觉不方便,到后来感觉习惯了,可没有考虑过到底能带来什么改变,所以最近在上下班的地铁上在看完了<高效团队开发工具与方法> ...
最新文章
- oracle ora 14047,ORA-14047: ALTER TABLE|INDEX RENAME 不可以与其它分区组合
- android api版本 闪退_经验分享:从事 Android 开发六年,我学到的那些事
- Lind.DDD.RedisClient~对StackExchange.Redis调用者的封装及多路复用技术
- Visual SourceSafe(VSS)使用手册(转载)
- 【Luogu】P1607庙会班车Fair Shuttle(线段树+贪心)
- 上海医疗救治专家组组长:没有讨价还价!
- More Exceptional C++起步于Exceptional C++驻足之处
- 编译caffe错误查询
- BZOJ.2595.[WC2008]游览计划(DP 斯坦纳树)
- MyBatis:Pagehelper分页
- JDK下载与安装教程(超详细)
- Android自定义gif进度条,Android自定义view-圆形百分比进度条效果
- 飞猪官方揭秘双11爆款产品打造攻略:1个数据银行+5大设计方法论
- UE4-(蓝图)第一百二十课 贴花(蓝图生成示例开枪生成弹孔)
- Ubuntu18.04+TITAN XP+anaconda+cuda10+cudnn+pytorch
- HTML中的单行注释标签是,html如何单行和多行注释呢 ?
- 微信搜索引擎中索引的分布式演进
- 分享一个超大文件编辑器(WINDOWS 文本编辑器)
- 详解科大讯飞语音识别
- 大数据概述:大数据生态系统
热门文章
- 什么是抖动?什么叫抖动
- Excel VLOOKUP实用教程之 09 VLOOKUP 与多个条件一起使用?(教程含数据excel)
- 神经网络与深度学习简史
- 微信免密支付php代码实现,微信刷卡支付接入模式及免密流程
- 【数学】双根号求值域问题
- QAxWidget 打开word、pdf、excel、ppt
- android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)
- 【1】少儿Python编程学习_Microbit展示名字
- 如何把网站打包成安卓/苹果APP?
- 如何在List中放部分实体_适用大部分实体店的引流设计案例:如何用买客户思维设计鱼饵!...