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. Vive开发教程汇总

    最近在整理在HTC Vive平台上开发VR应用程序的教程,现在把结果全部汇总在下面的表格里,希望更多的开发者参与到VR内容的开发之中,真的很好玩.现在主流的开发VR应用的引擎是Unity3D和Unre ...

  2. jQuery插件综合应用(三)发布文章页面

    一.使用的插件 一个折叠的功能导航,由Akordeon插件实现.Nanoscroller插件与Tagit插件主要用于美化页面.这里只是测试,其实还可以综合使用其它的插件,例如将Akordeon插件换成 ...

  3. C#.Net网页加载等待效果漂亮并且简单

    最近网页加载数据比较多,点击后给用户就是白板很不友好,想了很久找了些资料,在网页加载中显示等待画面给客户,页面加载完成自动隐藏等待效果. 在网页后台cs代码:    protected void Pa ...

  4. 隐藏input边框(ie6、ie7)

    去掉元素的边框,我们一贯使用border:none; 但在ie6.ie7下的input[type=text]元素,并没有去掉. 两种解决方案: 1. border:none; 并设置背景backgro ...

  5. 【转】使用spring @Scheduled注解执行定时任务

    http://blog.csdn.net/sd4000784/article/details/7745947 以前框架使用quartz框架执行定时调度问题. 老大说这配置太麻烦.每个调度都需要多加在s ...

  6. MyEclips:Struts 2 + Hibernate 4 + SQL Server2008

    步骤一:准备 1.下载 sqlJDBC.jar的下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=21599 Hibernate ...

  7. C++11的新特性lambda的小试牛刀RAII

    C/C++的资源是手动管理的 这导致程序员在申请资源时,最后用完了偶尔会忘记回收 C++语言的发明者倡导RAII,资源获取即初始化 使用对象来管理资源的生命周期,在超出作用域时,析构函数自动释放资源 ...

  8. Nginx配置免费SSL证书StartSSL,解决Firefox不信任问题

    先在StartSSL上申请免费一年的SSL证书,具体过程网上很多教程.然后把申请到的key和crt文件上传到服务器,比如/usr/local/nginx/certs/. Nginx配置SSL证书 直接 ...

  9. Junit4学习笔记

    一.初始化标注 在老Junit4提供了setUp()和tearDown(),在每个测试函数调用之前/后都会调用. @Before: Method annotated with @Before exec ...

  10. struts2表单验证

    1:采用手工编写代码实现. 通过继承ActionSupport类,然后重写vlidate方法,validate方法会校验跟execute同样签名的方法,当某个数据校验失败时,我们应该调用addFiel ...