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)

时间: 2024-08-01 17:16:20

postgresql的/d命令的相关文章

postgresql的SQL命令

db=# \help可用的说明:   ABORT  ALTER AGGREGATE  ALTER COLLATION  ALTER CONVERSION  ALTER DATABASE  ALTER DEFAULT PRIVILEGES  ALTER DOMAIN  ALTER EVENT TRIGGER  ALTER EXTENSION  ALTER FOREIGN DATA WRAPPER  ALTER FOREIGN TABLE  ALTER FUNCTION  ALTER GROUP 

linux下操作PostgreSQL的常用命令

一般性: \copyright 显示PostgreSQL的使用和发行许可条款          \g [文件] or; 执行查询 (并把结果写入文件或 |管道) \h [名称] SQL命令语法上的说明,用*显示全部命令的语法说明 \q 退出 psql 查询缓存区 \e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件) \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义 \p 显示查询缓存区的内容 \r 重置(清除)查询缓存区 \s [文件] 显示历史记录或将

postgreSql 入门常用命令

1. 命令行登录数据库 psql -U username -d dbname -h hostip -p port 2. 列出所有数据库 \l 3. 切换数据库 \c dbname 4. 列出当前数据库的所有表 \d 5. 查看指定表的所有字段 \d tablename 6. 查看指定表的基本情况 \d+ tablename 7. 退出操作 q 8. 新建表 create table REL_CROSS_NODE(ID integer, CROSS_ID integer); 9. 删除表 drop

PostgreSQL数据库pg_dump命令行不输入密码的方法

对于PostgreSQL数据库的备份按照官方手册的方法之一就是采用"SQL Dump"的方式(另一种方式是直接备份文件系统中的文件,可参考官方手册). 基本用法如下: pg_dump dbname > outfile 首先,正如命令行所展示的,pg_dump是将命令结果输出到标准输出中. 其次,pg_dump并不影响数据库工作过程中的其他操作(主要是关心pg_dump会不会产生读写锁(read lock.write lock)),但也有例外,那就是哪些需要使用互斥锁(exclus

Postgresql数据库实用命令

Postgresql 命令 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 启动数据库 createuser charblus -P 创建用户 createdb zx-internal-db -O charblus -E UTF8 -e 创建数据库 POSTGRESQL 数据库导入导出 导入整个数据库?psql -U postgres(用户名)? 数据库名(缺省时同用户名) < /data

postgresql的psql命令

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

PostgreSQL常用查看命令

1. 查看当前库sehcma大小,并按schema排序 SELECT schema_name, pg_size_pretty(sum(table_size)::bigint) as "disk space", (sum(table_size) / pg_database_size(current_database())) * 100 as "percent" FROM ( SELECT pg_catalog.pg_namespace.nspname as schem

postgresql数据库常用命令

--获取数据库软件版本select version();--获取数据库启动时间select pg_postmaster_start_time();--获取配置文件最近load时间select pg_conf_load_time();--获取当前数据库时区show timezone;--获取当前实例中所有数据库psql -l--获取当前数据库用户select user;select current_user;--获取当前会话用户select session_user;--获取会话客户端地址及端口s

[杂记]PostgreSQL命令行使用

关于PostgreSQL的使用 平台: Ubuntu 12.04 & 14.04 版本: PostgreSQL 9.3.4 PostgreSQL安装 详见官网安装过程 添加用户 初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户.这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户. 当然,也可以生成其它用户. 开始使用 切换到postgres用户登陆 $ sudo su - postgres PostgreSQL内置命令 Postg