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. WinpCap 使用线程发数,明明发了,返回值0是OK的啊,怎么抓包看不到,难道不支持多线程。。。

    if (!m_adapterHandle){    return false;}int rst = pcap_sendpacket((pcap_t*)m_adapterHandle,data ,dat ...

  2. LINUX 添加定时任务

    LINUX 添加定时任务 crontab - l按 i:x 先按 esc然后 敲入 命令 :x*/5 3 * * 0 /root/ v.sh ..重启服务 service crond restart

  3. 【随记】关于List集合用Linq GroupBy分组过后的遍历小记

    List<LeaderKaoQin> lstLeader = new List<LeaderKaoQin>();//一个List集合IGrouping<string, L ...

  4. 2013年12月26日 星期四 doxygen入门--很好

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  5. web系统

    现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务器来说 ...

  6. [Python笔记]第十六篇:web框架之Tornado

    Tornado是一个基于python的web框架,xxxxx 安装 python -m pip install tornado 第一个Tornado程序 安装完毕我们就可以新建一个app.py文件,放 ...

  7. 10055 - Hashmat the Brave Warrior

    Problem A Hashmat the brave warrior Input: standard input Output: standard output Hashmat is a brave ...

  8. SQL server聚合函数、数学函数、字符串函数

    一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件

  9. java中执行js代码

    要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...

  10. So many interfaces!

    http://stackoverflow.com/questions/4817369/why-does-does-it-really-listt-implement-all-these-interfa ...