【 PG 入门系列 】PostgreSQL的客户端工具(五)

PostgreSQL 系列博文讲解(B站同步介绍视频:https://space.bilibili.com/282421760
支持一下,关注一波微信公众号:【 钥道不止 】

1. PG的客户端工具

  • psql(自带),类似于oracle的sqlplus工具
  • pgadmin:PG提供的图形化工具,windows和mac版本会默认安装
  • 第三方工具:DBeaver 等等
#查看客户端所有的连接参数选项
psql -? 或者 psql --help

#远程登录 -h:IP -p:PORT -d:DATABASE -U:USERNAME
psql -h 127.0.0.1 -p 5432 -d postgres -U postgres

# -W 选项的话,默认我们pg_hba.conf文件设置了认证模式为本地为trust所以不需要输入密码也能登陆,当我们切换为md5时候不加参数也会提示输入密码。

# -c 选项 后接执行的sql 
psql -c 'select count(*) from pg_stat_activity;'

# -f 选项 执行sql脚本。 
psql -f checkuser.sql

# -A 选项 设置非对齐输出模式,且返回结果没有空行。
psql -A -c 'select count(*) from pg_stat_activity;'

# -t 选项 输出结果只显示数据,一般于-A结合使用。 
psql -At -c 'select count(*) from pg_stat_activity;'

# -q 选项 界面输出不显示信息,一般与-f参数,-c参数结合使用,在输出信息不重要的时候。
psql -q -f test.sql

# -v 传递参数变量。
psql -v v_id=1 -f test2.sql

2. 元命令

psql进入到数据库之后,可以使用元命令,注意是反斜杠 \

\l 列出数据库  

\d(+)会显示详细信息
\di 显示索引 
\dv 显示视图  
\dt 显示表  
\db 显示表空间  
\df 显示函数  
\dn 显示模式 
\du或\dg:显示用户和角色
\ds 显示序列

\x 换行输出  
\timing 执行耗时,显示执行时间
\c 连接的数据库及对应用户(\c database username	或	\c - username) 
\i 执行外部脚本  
\q 退出(或者ctrl +D)

\copy 元命令,可以导出数据为text、csv、binary格式,还不支持导出为sql语句。普通用户也能执行 \copy test ,客户端操作 copy sql命令,只能超级用户执行,服务端操作,效率更高
#导出数据
\copy TABLENAME to '/home/postgres/a.txt';
#指定导出为csv格式
\copy TABLENAME to '/home/postgres/a.csv' with csv header;
#导入数据,追加方式
\copy TABLENAME from '/home/postgres/a.txt';

tab键位自动补全,箭头键支持上下翻阅历史sql命令(安装了readline包)

#显示元命令的实际SQL,进入时用-E参数或进入后再开启
psql -E
或
\set ECHO_HIDDEN on|off

#执行计划
explain analyze xxoo;

3. 字符集

#显示DB编码
\encoding
#查看客户端编码
show client_encoding
#设定客户端编码
set client_encoding to 'GBK';
\encoding utf8

4. 事务控制

缺省是自动提交

# 查看是否是自动提交,\echo:输出一段文本
\echo :AUTOCOMMIT 
# 会话级别关闭自动提交(小写无效)
\set AUTOCOMMIT off
# 语句级关闭自动提交
begin;
rollback;
end;

5. 免密配置文件( .pgpass )

# 进入postgres用户
su - postgres
# 在用户根目录下创建 .pgpass 文件,并按格式编写
vi ~/.pgpass 

##VIPhostname:port:database:username:password
192.168.56.103:5432:postgres:pg14:Pgdb@123

# 授于文件权限
chmod 0600 ~/.pgpass
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值