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的/d命令的更多相关文章

  1. PostgreSQL增删数据命令示例

    在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢? 此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的): (1)生成一万条测试数据的表foo mydb=# ...

  2. linux下操作PostgreSQL的常用命令

    一般性: \copyright 显示PostgreSQL的使用和发行许可条款          \g [文件] or; 执行查询 (并把结果写入文件或 |管道) \h [名称] SQL命令语法上的说明 ...

  3. PostgreSql的Explain命令详解

    http://toplchx.iteye.com/blog/2091860 使用EXPLAIN PostgreSQL为每个收到的查询设计一个查询规划.选择正确的匹配查询结构和数据属性的规划对执行效率是 ...

  4. Postgresql数据库实用命令

    Postgresql 命令 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 启动数据库 cr ...

  5. Postgresql的一些命令

    显示所有数据表: \dt 显示表结构:  \d YOUR_TABLE 进入数据库: psql DATABASE_NAME 显示所有数据库: \list 退出: \q 删除数据库: dropdb DAT ...

  6. postgresql的psql命令

    1:不进入数据库而执行SQL命令,用参数-c 2:把SQL命令保存在一个外部文件中,用 -f 参数导入并执行 a1.txt文件内容 select * from student; 在shell中用如下命 ...

  7. PostgreSQL常用查看命令

    1. 查看当前库sehcma大小,并按schema排序 SELECT schema_name, pg_size_pretty(sum(table_size)::bigint) as "dis ...

  8. postgresql数据库常用命令

    --获取数据库软件版本select version();--获取数据库启动时间select pg_postmaster_start_time();--获取配置文件最近load时间select pg_c ...

  9. PostgreSQL增强版命令行客户端(pgcli)

    效果: 安装: https://www.pgcli.com/install 官网: https://www.pgcli.com/

随机推荐

  1. LATEX学习笔记1

    LATEX源文件的结构分三大部分,依次为:文档类声明.序言(可选).正文. 文档结构 \documentclass{article} \usepackage{amsmath} \usepackage{ ...

  2. 接触.net5年了,感觉自己的知识面很狭隘。

    08年毕业找工作期间开始接触网页开发,由于在学校了混了4年时间,我只能从html标记语言开始学习,后来应聘到一个网站建设公司,开始学习ps.Dreamweaver和asp.由于基础薄弱,一个月后离开了 ...

  3. 好用的自适应表格插件-bootstrap table (支持固定表头)

    最近工作中找到了一款十分好用的表格插件,不但支持分页,样式,搜索,事件等等表格插件常有的功能外,最主要的就是他自带的冻结表头功能,让开发制作表格十分容易,不过网上大多都是英文文档,第一次使用会比较麻烦 ...

  4. [我的疑问]String? = "Skiy Chan" 中的问号是什么意思?

    var optionalName : String? = "Skiy Chan" String? = "Skiy Chan" 中的问号是什么意思?目前还在看ap ...

  5. jQuery 侧栏菜单点击body消失

    其实就在弹出菜单时 让菜单外部有个全屏大小的遮罩层

  6. ExecuteReader

    最近在做winform的编程,想到一真没有使用过ExecuteReader.可能以前以后它的用户不大,或者 不大好用,故没有用过.今天在这里将学习记录写下来,供读者参考: 1.MSDN上说:Sends ...

  7. 精通 Oracle+Python,第 6 部分:Python 支持 XML

    无可辩驳的是,XML 现在是软件中信息交换的实际标准. 因此,Oracle 数据库附带了各种与 XML 相关的增强和工具,它们统称为 Oracle XML DB.XML DB 包含一系列嵌入到数据库中 ...

  8. linq 多个left join 和 sql union all -> linq union 方法

     (   from s in Base_SysMenus   join r in Base_RoleRights on s.Menu_Id equals r.Menu_Id into temp   f ...

  9. golang中设置Host Header的小Tips

    前言 笔者最近时间一直在学习和写Ruby和Go,尤其是Go,作为云计算时代的标准语言,写起来还是相当有感觉的,难过其会越来越火. 不过写的过程中,也遇到了一些小问题,本文就是分享关于go语言设置 HT ...

  10. Contest 高数题 樹的點分治 樹形DP

    高数题 HJA最近在刷高数题,他遇到了这样一道高数题.这道高数题里面有一棵N个点的树,树上每个点有点权,每条边有颜色.一条路径的权值是这条路径上所有点的点权和,一条合法的路径需要满足该路径上任意相邻的 ...