psql 常用命令

来源:互联网 发布:手机审批软件 编辑:程序博客网 时间:2024/05/14 03:10

/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 .

/?

用于列出所有的专用命令信息. (其实通过这个命令就可以很方便的查看这些PSQL专用命令了)

 



一般选项

/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 一样)

外一个很有用的命令是/h

用于列出所有SQL命令清单

aligputf8=# /h

Available help:

  ABORT                     CREATE LANGUAGE           DROP TYPE                

  ALTER AGGREGATE           CREATE OPERATOR CLASS     DROP USER                

  ALTER CONVERSION          CREATE OPERATOR           DROP VIEW                

  ALTER DATABASE            CREATE RESOURCE QUEUE     END                      

  ALTER DOMAIN              CREATE ROLE               EXECUTE                  

  ALTER FUNCTION            CREATE RULE               EXPLAIN                  

  ALTER GROUP               CREATE SCHEMA             FETCH                    

  ALTER INDEX               CREATE SEQUENCE           GRANT                    

  ALTER LANGUAGE            CREATE TABLE              INSERT                    

  ALTER OPERATOR CLASS      CREATE TABLE AS           LISTEN                   

  ALTER OPERATOR            CREATE TABLESPACE         LOAD                     

  ALTER RESOURCE QUEUE      CREATE TRIGGER            LOCK                     

  ALTER ROLE                CREATE TYPE               MOVE                     

  ALTER SCHEMA              CREATE USER               NOTIFY                   

  ALTER SEQUENCE            CREATE VIEW               PREPARE                  

  ALTER TABLE               DEALLOCATE                PREPARE TRANSACTION      

  ALTER TABLESPACE          DECLARE                   REASSIGN OWNED           

  ALTER TRIGGER             DELETE                    REINDEX                  

  ALTER TYPE                DROP AGGREGATE            RELEASE SAVEPOINT        

  ALTER USER                DROP CAST                 RESET                    

  ANALYZE                   DROP CONVERSION           REVOKE                   

  BEGIN                     DROP DATABASE             ROLLBACK                 

  CHECKPOINT                DROP DOMAIN               ROLLBACK PREPARED        

  CLOSE                     DROP EXTERNAL TABLE       ROLLBACK TO SAVEPOINT    

  CLUSTER                   DROP FUNCTION             SAVEPOINT                

  COMMENT                   DROP GROUP                SELECT                   

  COMMIT                    DROP INDEX                SELECT INTO              

  COMMIT PREPARED           DROP LANGUAGE             SET                      

  COPY                      DROP OPERATOR CLASS       SET CONSTRAINTS          

  CREATE AGGREGATE          DROP OPERATOR             SET ROLE                 

  CREATE CAST               DROP OWNED                SET SESSION AUTHORIZATION

  CREATE CONSTRAINT TRIGGER DROP RESOURCE QUEUE       SET TRANSACTION          

  CREATE CONVERSION         DROP ROLE                 SHOW                     

  CREATE DATABASE           DROP RULE                 START TRANSACTION        

  CREATE DOMAIN             DROP SCHEMA               TRUNCATE                 

  CREATE EXTERNAL TABLE     DROP SEQUENCE             UNLISTEN                 

  CREATE FUNCTION           DROP TABLE                UPDATE                    

  CREATE GROUP              DROP TABLESPACE           VACUUM                   

  CREATE INDEX              DROP TRIGGER              VALUES                   

 

如果要得到特定SQL命令的帮助信息,可以使用”/h SQL命令动词”

aligputf8=# /h commit

Command:     COMMIT

Description: commit the current transaction

Syntax:

COMMIT [ WORK | TRANSACTION ]