psql元命令使用说明


版本说明:

  PostgresQL 10.9


  psql的名字从字面上看起来有点像plsql,注意千万不要弄混。psql提供了丰富的元命令,以“\”开头,使用元命令可以高效、便捷的对数据库进行管理。psql命令的格式是用反斜线后面直接跟上一个命令动词,然后是一些参数。

  在使用前可以使用“\?”来获取帮助信息,了解可以使用的命令清单。

$ psql

 
psql (10.9)


Type "help" for help.

 
 
postgres=# \?

由于篇幅限制,输出的内容不在这里描述,以下内容将介绍几种常用的元命令。

1 查看当前数据库的连接信息(\conninfo)

2 修改当前工作路径(\cd [directory])

如果不带参数,则切换到当前用户的主目录。\! pwd用来显示当前工作路径(叹号后有空格)。

3 查看表、视图和序列的访问权限(\dp)

列出表、视图和序列,包括与它们相关的访问特权。

4 查看已定义的配置信息(\drds)

列出已定义的配置设置。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。

5 查看数据库角色信息(\du)

6 查看字符集编码(\encoding)

7 查看最近发生的错误信息(\errverbose)

将以最详细程度展示出最近的服务器错误消息。

8 显示执行时间(\timing on | off)

9 转义到shell(\! [command])

有参数时,执行shell命令;

无参数时,转义到子shell;当子shell退出时,psql会恢复。

10 查看数据库列表(\l)

\符号后面为小写的“L”

11 查看表空间列表(\db)

postgres=# \db

12 查看表定义(\d table_name)

--创建测试表
$ psql mydb pguser

mydb=> create table t1(id int4,name text,create_time timestamp without time zone default clock_timestamp());

CREATE TABLE

mydb=> alter table t1 add primary key(id);

ALTER TABLE

   

 ​13 查看表占用空间大小(\dt+table_name)

--为测试表插入50万条数据
$ psql mydb pguser

mydb=> insert into t1(id,name) select n,n || '_tank' from generate_series(1,500000) n;

INSERT 0 500000

mydb=> \dt+t1

14 查看索引占用空间大小(\di+table_name&index_name)

15 设置标题(\C title_name)

16 执行当前查询缓冲区(\g)

如果当前查询缓冲区为空,则最新发送的查询将被重新执行。

17 将当前缓冲区打印到标准输出(\p)

18 重置缓冲区(\r)

19 查看函数代码(\sf function_name)

20 设置查询结果输出格式(\x)

21 获取元命令的对应代码(psql [-E])

使用psql连接时加上“-E”的选项,在执行元命令后就可以获取对应的SQL代码。

 

参考资料:

《PostgresSQL 10.9》-VI. 参考-PostgreSQL 客户端应用-psql

《PostgreSQL实战》-第2章 客户端工具-2.2 psql功能及应用

https://blog.csdn.net/claroja/article/details/82786379(元命令清单)


Tank

2019.7.20

 

Email:pgertank@126.com

https://blog.csdn.net/pgertank

https://www.cnblogs.com/pgertank

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM