美文网首页
关系型数据库PostgreSQL 命令

关系型数据库PostgreSQL 命令

作者: nagioswork | 来源:发表于2016-04-25 17:00 被阅读61次

    记录在此,备查。

    \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 [名字 [值]]
    设置内部变量, 如果没有参数就列出所有
    <b>\timing 查询计时开关切换 (目前是 关闭)</b>
    \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 ]

    相关文章

      网友评论

          本文标题:关系型数据库PostgreSQL 命令

          本文链接:https://www.haomeiwen.com/subject/ymcqrttx.html