psql常用命令大全(转)

psql常用命令大全

\d [ table ]

列出数据库中的表,或(如果声明了)表 table 的列/字段.如果表名是用统配符 (“*”)声明的,列出所有表和表的列/字段信息.

\da

列出所有可用聚集.

\dd object

列出 pg_description 里对声明的对象的描述,对象可以是一个表,表中的列/字段,类型,操作符或聚集. 

小技巧:并非所有对象在 pg_description 里有描述.此后期命令在快速获取 Postgres 内部特性时很有用.

\df

列出函数.

\di

只列出索引.

\do

只列出操作符.

\ds

只列出序列.

\dS

列出系统表和索引.

\dt

只列出非系统表.

\dT

列出类型.

\e [ filename ]

编辑当前查询缓冲或文件 filename 的内容.

\E [ filename ]

编辑当前查询缓冲或文件 filename 的内容并且在编辑结束后执行之.

\f [ separator ]

设置域分隔符.缺省是单个空白.

\g [ { filename | |command } ]

将当前查询输入缓冲送给后端并且(可选的)将输出放到 filename 或通过管道将输出送给一个分离的Unix shell 用以执行 command.

\h [ command ]

给出声明的 SQL 命令的语法帮助.如果 command 不是一个定义的 SQL 命令(或在 psql 里没有文档),或没有声明 command ,这时 psql将列出可获得帮助的所有命令的列表.如果命令 command 是一个通配符(“*”),则给出所有 SQL 命令的语法帮助.

\H

切换 HTML3 输出.等效于 -H 命令行选项.

\i filename

从文件 filename 中读取查询到输入缓冲.

\l   

列出服务器上所有数据库.

\m

切换老式监视器样的表输出,这时表周围有边界字符包围着.这是标准 SQL 输出.缺省时,psql 只包括列/字段间的分隔符.

\o [ { filename | |command } ]

将后面的查询结果输出到文件 filename 或通过管道将后面结果输出到一个独立的Unix shell 里执行 command.如果没有声明参数,将查询结果输出到 stdout.

\p

打印当前查询缓冲区.

\q

退出 psql 程序.

\r

重置(清空)查询缓冲区.

\s [ filename ]

将命令行历史打印出或是存放到 filename.如果省略 filename ,将不会把后继的命令存放到历史文件中.此选项只有在 psql 配置成使用输入行时才有效.

\t

切换输出的列/字段名的信息头和行记数脚注(缺省是开).

\T table_options

允许你在使用HTML 3.0 格式输出时声明放在表 table ... 中的标记选项.例如,border 将给你的表以边框.这必须和 \H 后期命令一起使用.

\x

切换扩展行格式.当打开时,每一行将在左边打印列/字段名而在右边打印列/字段值.这对于那些不能在一行输出的超长行是很有用的.HTML 行输出模式也支持这个标记.

\w filename

将当前查询缓冲区输出到文件 filename.

\z

生成一个带有正确 ACL(赋予/禁止 权限)的数据库中所有表的输出列表.

\! [ command ]

回到一个独立的Unix shell或执行一个Unix 命令 command.

\?

获得关于反斜杠 (“\”) 命令的帮助.

 

 

一般选项

\c[onnect] [数据库名|- [用户名称]]

联接到新的数据库 (当前为 "test")

\cd [目录名]                  改变当前的工作目录

\copyright         显示 PostgreSQL 用法和发布信息

\encoding [编码]                       显示或设置客户端编码

\h [名字]         SQL 命令的语法帮助, 用 * 可以看所有命令的帮助

\q                退出 psql

\set [名字 [值]]                       设置内部变量, 如果没有参数就列出所有

\timing            查询计时开关切换 (目前是 关闭)

\unset 名字        取消(删除)内部变量

\! [命令]           在 shell 里执行命令或者开始一个交互的 shell

 

信息选项

 

\d [名字]        描述表, 索引, 序列, 或者视图

\d{t|i|s|v|S} [模式] (加 "+" 获取更多信息)

列出表/索引/序列/视图/系统表

\da [模式]       列出聚集函数

\db [模式]       列出表空间 (加 "+" 获取更多的信息)

\dc [模式]       列出编码转换

\dC             列出类型转换

\dd [模式]       显示目标的注释

\dD [模式]       列出域

\df [模式]       列出函数 (加 "+" 获取更多的信息)

\dg [模式]       列出组

\dn [模式]       列出模式 (加 "+" 获取更多的信息)

\do [名字]       列出操作符

\dl             列出大对象, 和 \lo_list 一样

\dp [模式]       列出表, 视图, 序列的访问权限

\dT [模式]       列出数据类型 (加 "+" 获取更多的信息)

\du [模式]       列出用户

\l               列出所有数据库 (加 "+" 获取更多的信息)

\z [模式]        列出表, 视图, 序列的访问权限 (和 \dp 一样)

 

 

 

命令: ABORT

描述:     终止当前事务

语法:

ABORT [ WORK | TRANSACTION ]

 

命令: ALTER DATABASE

描述:     改变一个数据库

语法:

ALTER DATABASE 名字 SET 参数 { TO | = } { 值 | DEFAULT }

ALTER DATABASE 名字 RESET 参数

ALTER DATABASE 名字 RENAME TO 新名字

ALTER DATABASE 名字 OWNER TO 新属主

 

命令: ALTER GROUP

描述:     改变一个用户组

语法:

ALTER GROUP 组名称 ADD USER 用户名称 [, ... ]

ALTER GROUP 组名称 DROP USER 用户名称 [, ... ]

ALTER GROUP 组名称 RENAME TO 新名称

 

命令: ALTER INDEX

描述:     改变一个索引的定义

语法:

ALTER INDEX 索引名称

动作 [, ... ]

ALTER INDEX 索引旧名称

RENAME TO 索引新名称

动作为以下之一:

OWNER TO 新属主

SET TABLESPACE indexspace_name

 

命令:  ALTER SEQUENCE

描述:     改变一个序列生成器的定义

语法:

ALTER SEQUENCE 名字 [ INCREMENT [ BY ] 递增 ]

[MINVALUE 最小值 | NO MINVALUE ] [ MAXVALUE 最大值 | NO MAXVALUE ]

[ RESTART [ WITH ] 开始 ] [ CACHE 缓存 ] [ [ NO ] CYCLE ]

 

命令: ALTER TABLE

描述:     改变一个表的定义

语法:

ALTER TABLE [ ONLY ] 表名 [ * ]

action [, ... ]

ALTER TABLE [ ONLY ] 表名 [ * ]

RENAME [ COLUMN ] 字段名 TO 新字段名

ALTER TABLE 表名

RENAME TO 新表名

action 为下面的一种:

ADD [ COLUMN ] 字段名 类型 [ 字段约束 [ ... ] ]

DROP [ COLUMN ] 字段名 [ RESTRICT | CASCADE ]

ALTER [ COLUMN ] 字段名 TYPE 类型 [ USING 表达式 ]

ALTER [ COLUMN ] 字段名 SET DEFAULT 表达式

ALTER [ COLUMN ] 字段名 DROP DEFAULT

ALTER [ COLUMN ] 字段名 { SET | DROP } NOT NULL

ALTER [ COLUMN ] 字段名 SET STATISTICS integer

ALTER [ COLUMN ] 字段名 SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }

ADD 表约束

DROP CONSTRAINT 约束名字 [ RESTRICT | CASCADE ]

CLUSTER ON 索引名称

SET WITHOUT CLUSTER

SET WITHOUT OIDS

OWNER TO 新属主

SET TABLESPACE 表空间名字

 

命令: ALTER TRIGGER

描述:     改变一个触发器的定义

语法:

ALTER TRIGGER 名字 ON 表 RENAME TO 新名字

 

命令: ALTER USER

描述:     改变一个数据库用户

语法:

ALTER USER name [ [ WITH ] option [ ... ] ]

where option can be:

CREATEDB | NOCREATEDB

| CREATEUSER | NOCREATEUSER

| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'

| VALID UNTIL 'abstime'

ALTER USER name RENAME TO newname

ALTER USER name SET parameter { TO | = } { value | DEFAULT }

 

命令: COPY

描述:     在一个文件和一个表之间拷贝数据

语法:

COPY 表名 [ ( 字段 [, ...] ) ]

FROM { '文件名' | STDIN }

[ [ WITH ]

[ BINARY ]

[ OIDS ]

[ DELIMITER [ AS ] 'delimiter' ]

[ NULL [ AS ] 'null string' ]

[ CSV [ QUOTE [ AS ] 'quote' ]

[ ESCAPE [ AS ] 'escape' ]

[ FORCE NOT NULL column [, ...] ]

 

COPY 表名 [ ( 字段 [, ...] ) ]

TO { '文件名' | STDOUT }

[ [ WITH ]

[ BINARY ]

[ OIDS ]

[ DELIMITER [ AS ] 'delimiter' ]

[ NULL [ AS ] 'null string' ]

[ CSV [ QUOTE [ AS ] 'quote' ]

[ ESCAPE [ AS ] 'escape' ]

[ FORCE QUOTE column [, ...] ]

 

命令: CREATE TABLE

描述:     定义一个新的表

语法:

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (

{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]

| table_constraint

| LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] } [, ... ]

)

[ INHERITS ( parent_table [, ... ] ) ]

[ WITH OIDS | WITHOUT OIDS ]

[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]

[ TABLESPACE tablespace ]

 

where column_constraint is:

 

[ CONSTRAINT constraint_name ]

{ NOT NULL |

NULL |

UNIQUE [ USING INDEX TABLESPACE tablespace ] |

PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |

CHECK (expression) |

REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]

[ ON DELETE action ] [ ON UPDATE action ] }

[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

 

and table_constraint is:

 

[ CONSTRAINT constraint_name ]

{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |

PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |

CHECK ( expression ) |

FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]

[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }

[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

转载于:https://www.cnblogs.com/jinshoucai/archive/2011/11/14/2247824.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值