postgresql的/d命令

ostgreSQL-psql常用命令

文章索引
[隐藏]

\d命令

 

 

1 2 3 格式: \d [ pattern ] \d [ pattern ] +

该命令将显示每个匹配关系(表,视图,索引,序列)的信息,包括对象所有的列,它们的类型,表空间(如果不是默认的)和任何特殊属性(如NOT NULL或默认值等)。与唯一约束相关的索引,规则,约束,触发器也同样会显示出来。如果关系是一个视图,还会显示视图的定义。
1.如果\d命令什么都不带,将列出当前数据库中的所有表。

 

1 2 3 4 5 6 7 8 9 10 11 12 sample_db=# \d              List of relations Schema |      Name      | Type  |  Owner   +++ public | account        | table | postgre public | book           | table | postgre public | customers      | table | postgre public | fruits         | table | postgre ... public | view_t         | view  | postgre public | view_t2        | view  | postgre (42 rows)

2.\d后面跟一个表名,表示显示这个表的结构定义。

 

1 2 3 4 5 6 7 8 9 10 11 12 sample_db=# \d tb_dept2            Table “public.tb_dept2”   Column  |         Type          | Modifiers ++ id       | integer               | not null name     | character varying(22) | location | character varying(50) | Indexes:     “tb_dept2_pkey” PRIMARY KEY, btree (id)     “tb_dept2_name_key” UNIQUE CONSTRAINT, btree (name) Referenced by:     TABLE “tb_tmp” CONSTRAINT “fk_emp_dept” FOREIGN KEY (deptid) REFERENCES tb_dept2(id)

3.\d也可以显示索引信息

 

1 2 3 4 5 6 sample_db=# \d tb_dept2_pkey Index “public.tb_dept2_pkey” Column |  Type   | Definition ++ id     | integer | id primary key, btree, for table “public.tb_dept2”

4.\d后面可以跟一通配符”*”或”?”

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 sample_db=# \d boo?                   Table “public.book”       Column      |          Type          | Modifiers ++ bookid           | integer                | not null bookname         | character varying(255) | not null authors          | character varying(255) | not null info             | character varying(255) | comment          | character varying(255) | year_publication | date                   | not null Indexes:     “uniqididx” UNIQUE, btree (bookid)     “bkcmtidx” btree (comment)     “bknameidx” btree (bookname) sample_db=# \d a*        Table “public.account” Column |     Type      | Modifiers ++ id     | integer       | name   | character(20) | Triggers:     account_stamp BEFORE INSERT ON account FOR EACH ROW EXECUTE PROCEDURE account_stam()

5.\d+命令,该命令将显示比\d命令更详细的信息,除了前面介绍的那些,它还会显示任何与表列关联的注释,以及表中出现的ODI。

 

1 2 3 4 5 6 7 sample_db=# \d+ t                            Table “public.t”   Column  |  Type   | Modifiers | Storage | Stats target | Description +++++ quantity | integer |           | plain   |              | price    | integer |           | plain   |              | Has OIDs: no

6.匹配不同对象类型的\d命令

 

1 2 3 4 5 如果想只显示匹配的表,可以使用 \dt命令 如果想只显示索引,可以使用 \di命令 如果想只显示序号,可以使用 \ds命令 如果想只显示视图,可以使用 \dv命令 如果想只显示函数,可以使用 \df命令

7.如果想显示SQL已执行的时间,可以用\timing命令

 

1 2 3 4 5 6 7 8 9 sample_db=# \timing on Timing is on. sample_db=# select count(*) from t; count      1 (1 row)   Time: 0.348 ms

8.列出所有的schemas可以使用\dn命令

 

1 2 3 4 5 6 sample_db=# \dn List of schemas   Name  |  Owner   + public | postgre (1 row)

9.显示所有的表空间可以用\db命令

 

1 2 3 4 5 6 7 sample_db=# \db        List of tablespaces     Name    |  Owner  | Location ++ pg_default | postgre | pg_global  | postgre | (2 rows)

表空间就是对一个目录,放在这个表空间的表,就是把表的数据文件放到这个表空间下。
10.列出数据库所有角色或用户\du或\dg

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 sample_db=# \dg                              List of roles Role name |                   Attributes                   | Member of ++ bob       |                                                | {} linux78   |                                                | {} post4     |                                                | {} post5     | Superuser, Cannot login                        | {} post6     | Create DB, Cannot login                        | {} post7     | Create role, Cannot login                      | {} post8     | Cannot login                                   | {} postgre   | Superuser, Create role, Create DB, Replication | {}   sample_db=# \du                              List of roles Role name |                   Attributes                   | Member of ++ bob       |                                                | {} linux78   |                                                | {} post4     |                                                | {} post5     | Superuser, Cannot login                        | {} post6     | Create DB, Cannot login                        | {} post7     | Create role, Cannot login                      | {} post8     | Cannot login                                   | {} postgre   | Superuser, Create role, Create DB, Replication | {}

11.\dp或\z命令用于显示表的权限分配情况

   

1 2 3 4 5 6 sample_db=# \dp t                           Access privileges Schema | Name | Type  | Access privileges | Column access privileges ++++ public | t    | table |                   | (1 row)
    原文作者:PostgreSQL
    原文地址: https://www.cnblogs.com/huajiezh/p/6130633.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞