分享一幅PostgreSQL命令行工具--psql的元素周期表

概述

今天主要分享下psql的元素周期表,下面一起来看看吧~


一、psql优点

psql 可谓是最强大的数据库命令行客户端,具备以下优点:

  • 支持丰富的LIST对象信息的功能(包括数据库、权限、类型、聚合、域、转换、外部表、外部server、大对象、全文检索、逻辑订阅、插件、事件触发器….等数据库所有对象),
  • 支持编程
  • 支持query buffer管理
  • 支持IO操作
  • 其他,支持格式、变量、操作系统命令等。
  • 支持行列变换。
  • 支持大对象操作。

二、psql元素周期表

分享一幅PostgreSQL命令行工具--psql的元素周期表


三、psql 命令详情

postgres=# \?

分享一幅PostgreSQL命令行工具--psql的元素周期表

分享一幅PostgreSQL命令行工具--psql的元素周期表

分享一幅PostgreSQL命令行工具--psql的元素周期表


四、实例

1、列出psql 帮助

\? [commands] show help on backslash commands 
 \? options show help on psql command-line options 
 \? variables show help on special variables

分享一幅PostgreSQL命令行工具--psql的元素周期表

2、列出SQL COMMAND语法帮助

\h [NAME] help on syntax of SQL commands, * for all commands

分享一幅PostgreSQL命令行工具--psql的元素周期表

3、对查询结果进行行列变换

\crosstabview [ colV [ colH [ colD [ sortcolH ] ] ] ]

Executes the current query buffer (like \g) and shows the results in a crosstab grid.

create table abc (uid int, class text, score float); 
insert into abc select random()*100, (array['语文','数学','英语','物理','化学'])[ceil(random()*5)::int], round((random()*100)::numeric,0) from generate_series(1,500); 
select * from abc limit 10; 
select class, level, count(*) from (select *,width_bucket(score,0,101,5) as level from abc) t group by 1,2 order by 1,2;

分享一幅PostgreSQL命令行工具--psql的元素周期表

--指定X轴、Y周进行变换,执行前一条SQL(当前query buffer的SQL)。
postgres=# \crosstabview level class

分享一幅PostgreSQL命令行工具--psql的元素周期表

4、打印当前query buffe

\p

\w FILE write query buffer to file

postgres=# select 1; 
postgres=# \p 
--将QUERY BUFFER写入文件
postgres=# \w '/tmp/abc' 
--执行操作系统命令 \! 
postgres=# \! cat '/tmp/abc'

分享一幅PostgreSQL命令行工具--psql的元素周期表

5、打印所有query buffer(实际上是.psql_history)

\s [FILE] display history or save it to file

分享一幅PostgreSQL命令行工具--psql的元素周期表


psql还有很多其他用法,篇幅有限,就介绍到这了,觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

分享一幅PostgreSQL命令行工具--psql的元素周期表