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. Django练习项目之搭建博客

    背景:自从今年回家过年后,来到公司给我转了试用,我的学习效率感觉不如从前,而且刚步入社会我总是想要怎么想明白想清楚一些事,这通常会花掉,消耗我大量的精力,因为我想把我的生活管理规划好了,而在it技术学 ...

  2. php和js根据子网掩码和ip计算子网

    php $ip = '192.168.6.1'; $mask = '255.255.2.0'; $sub_net = array();//子网 $ip_explode = explode('.', $ ...

  3. compser 执行命令提示do not run composer as root/super !

    这个是因为composer为了防止非法脚本在root下执行,解决办法随便切换到非root用户即可

  4. phpmyadmin数据导入最大限制的解决方法

    mysql导入文件最大限制更改解决方法:phpmyadmin库导入出错:You probably tried to upload too large file. Please refer to doc ...

  5. Uninstall office15 click-to-run extensibility Component

    Summary : Uninstall office15 click-to-run extensibility Component,How to resolve Uninstall office15 ...

  6. (转) 关于成为linux运维工程师需要掌握的技能

    曾经在一年多前写了一篇关于要成为linux运维需要掌握哪些技能和工具的贴子,然后不小心被好几个网友抄袭转发到其它网站上,当然有些是认识的,最后还很幸运地被某些热心的学习者把那段内容剪下来当作圣经般的参 ...

  7. js中的字符串

    JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下. 字符串相 ...

  8. C#(asp.net)备份还原mssql数据库代码【转】

    采集自互联网,未验证..... 如果我们使用虚拟主机为网站空间,这时如果需要备份和还原msssql数据库是非常麻烦,如果在网站后台管理当中加入对msssql数据库的操纵,可以使我们对数据库的备份和还原 ...

  9. java程序编译

    Empoyee.java package Company; public class Empoyee { String name = ""; public Empoyee(Stri ...

  10. bzoj 1006: [HNOI2008]神奇的国度 弦图的染色问题&&弦图的完美消除序列

    1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 1788  Solved: 775[Submit][Stat ...