美文网首页
psql客户端命令介绍

psql客户端命令介绍

作者: Jerry_1116 | 来源:发表于2021-12-07 17:15 被阅读0次

    1 环境

    postgresql-server版本 :13.2
    psql版本:14.1
    客户端操作系统:Windows 10

    2 如何链接数据库postgresql

    打开powershell(Linux下打开Terminal),输入.\psql.exe --help,即可查看如何链接数据库postgresql。

    > .\psql.exe --help
    psql是PostgreSQL 的交互式客户端工具。
    使用方法:
      psql [选项]... [数据库名称 [用户名称]]
    通用选项:
      -c, --command=命令       执行单一命令(SQL或内部指令)然后结束
      -d, --dbname=DBNAME      指定要连接的数据库 (默认:"jianglei02")
      -f, --file=文件名        从文件中执行命令然后退出
      -l, --list               列出所有可用的数据库,然后退出
      -v, --set=, --variable=NAME=VALUE
                               设置psql变量NAME为VALUE
                               (例如,-v ON_ERROR_STOP=1)
      -V, --version            输出版本信息, 然后退出
      -X, --no-psqlrc          不读取启动文档(~/.psqlrc)
      -1 ("one"), --single-transaction
                               作为一个单一事务来执行命令文件(如果是非交互型的)
      -?, --help[=options]     显示此帮助,然后退出
          --help=commands      列出反斜线命令,然后退出
          --help=variables     列出特殊变量,然后退出
    
    输入和输出选项:
      -a, --echo-all           显示所有来自于脚本的输入
      -b, --echo-errors        回显失败的命令
      -e, --echo-queries       显示发送给服务器的命令
      -E, --echo-hidden        显示内部命令产生的查询
      -L, --log-file=文件名    将会话日志写入文件
      -n, --no-readline        禁用增强命令行编辑功能(readline)
      -o, --output=FILENAME    将查询结果写入文件(或 |管道)
      -q, --quiet              以沉默模式运行(不显示消息,只有查询结果)
      -s, --single-step        单步模式 (确认每个查询)
      -S, --single-line        单行模式 (一行就是一条 SQL 命令)
    
    输出格式选项 :
      -A, --no-align           使用非对齐表格输出模式
          --csv                CSV(逗号分隔值)表输出模式
      -F, --field-separator=STRING
                               为字段设置分隔符,用于不整齐的输出(默认:"|")
      -H, --html               HTML 表格输出模式
      -P, --pset=变量[=参数]   设置将变量打印到参数的选项(查阅 \pset 命令)
      -R, --record-separator=STRING
                               为不整齐的输出设置字录的分隔符(默认:换行符号)
      -t, --tuples-only        只打印记录i
      -T, --table-attr=文本    设定 HTML 表格标记属性(例如,宽度,边界)
      -x, --expanded           打开扩展表格输出
      -z, --field-separator-zero
                               为不整齐的输出设置字段分隔符为字节0
      -0, --record-separator-zero
                               为不整齐的输出设置记录分隔符为字节0
    
    联接选项:
      -h, --host=主机名        数据库服务器主机或socket目录(默认:"本地接口")
      -p, --port=端口          数据库服务器的端口(默认:"5432")
      -U, --username=用户名    指定数据库用户名(默认:"jianglei02")
      -w, --no-password        永远不提示输入口令
      -W, --password           强制口令提示 (自动)
    
    更多信息,请在psql中输入"\?"(用于内部指令)或者 "\help"(用于SQL命令),
    或者参考PostgreSQL文档中的psql章节.
    
    臭虫报告至<pgsql-bugs@lists.postgresql.org>.
    PostgreSQL 主页: <https://www.postgresql.org/>
    

    连接postgresql数据库的示例:

    > .\psql.exe -h {ip} -p 5432 -U {user1} -d db1
    用户 {user1} 的口令:
    psql (14.1, 服务器 13.2 (Debian 13.2-1.pgdg100+1))
    输入 "help" 来获取帮助信息.
    
    db1=>
    

    3 psql如何操作数据库

    在psql链接postgresql成功之后,输入\?即可查看所有可以操作数据库对象的psql命令。

    db1=> \?
    一般性
      \copyright             显示PostgreSQL的使用和发行许可条款
      \crosstabview [COLUMNS] 执行查询并且以交叉表显示结果
      \errverbose            以最冗长的形式显示最近的错误消息
      \g [(OPTIONS)] [FILE]  执行查询(并将结果发送到文件或|管道);
                             不带参数的\g等价于分号
      \gdesc                 描述查询结果,而不执行它
      \gexec                 执行策略,然后执行其结果中的每个值
      \gset [PREFIX]         执行查询并把结果存到psql变量中
      \gx [(OPTIONS)] [FILE] 就像\g,但强制扩展输出模式
      \q                     退出 psql
      \watch [SEC]           每隔SEC秒执行一次查询
    
    帮助
      \? [commands]          显示反斜线命令的帮助
      \? options             显示 psql 命令行选项的帮助
      \? variables           显示特殊变量的帮助
      \h [NAME]              SQL命令语法上的说明,用*显示全部命令的语法说明
    
    查询缓存区
      \e [FILE] [LINE]       使用外部编辑器编辑查询缓存区(或文件)
      \ef [FUNCNAME [LINE]]  使用外部编辑器编辑函数定义
      \ev [VIEWNAME [LINE]]  用外部编辑器编辑视图定义
      \p                     显示查询缓存区的内容
      \r                     重置(清除)查询缓存区
      \w 文件                将查询缓存区的内容写入文件
    
    输入/输出
      \copy ...              执行 SQL COPY,将数据流发送到客户端主机
      \echo [-n] [STRING]    将字符串写到标准输出(-n表示没有换行符)
      \i 文件                从文件中执行命令
      \ir FILE               与 \i类似, 但是相对于当前脚本的位置
      \o [文件]              将全部查询结果写入文件或 |管道
      \qecho [-n] [STRING]   将字符串写入\o输出流(-n表示无换行)
      \warn [-n] [STRING]    将字符串写入标准错误(-n 表示无换行)
    
    条件
      \if EXPR               开始条件块
      \elif EXPR             当前条件块内的备选方案
      \else                  当前条件块内的最终备选方案
      \endif                 条件块的结尾
    
    资讯性
      (选项: S = 显示系统对象, + = 其余的详细信息)
      \d[S+]                 列出表,视图和序列
      \d[S+]  名称           描述表,视图,序列,或索引
      \da[S]  [模式]         列出聚合函数
      \dA[+]  [模式]         列出访问方法
      \dAc[+] [AMPTRN [TYPEPTRN]]  列出运算符
      \dAf[+] [AMPTRN [TYPEPTRN]]  列出运算符集合
      \dAo[+] [AMPTRN [OPFPTRN]]   列出运算符集合
      \dAp[+] [AMPTRN [OPFPTRN]]   列出运算符集合所支持的功能
      \db[+]  [模式]         列出表空间
      \dc[S+] [模式]         列表转换
      \dC[+]  [模式]         列出类型强制转换
      \dd[S]  [模式]         显示没有在别处显示的对象描述
      \dD[S+] [模式]         列出共同值域
      \ddp    [模式]         列出默认权限
      \dE[S+] [模式]         列出引用表
      \des[+] [模式]         列出外部服务器
      \det[+] [模式]         列出引用表
      \deu[+] [模式]         列出用户映射
      \dew[+] [模式]         列出外部数据封装器
      \df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]
                             列出 [only agg/normal/procedure/trigger/window] 函数
      \dF[+]  [模式]         列出文本搜索配置
      \dFd[+] [模式]         列出文本搜索字典
      \dFp[+] [模式]         列出文本搜索解析器
      \dFt[+] [模式]         列出文本搜索模版
      \dg[S+] [模式]         列出角色
      \di[S+] [模式]         列出索引
      \dl                    列出大对象, 功能与\lo_list相同
      \dL[S+] [模式]         列出所有过程语言
      \dm[S+] [模式]         列出所有物化视图
      \dn[S+] [模式]         列出所有模式
      \do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]
                             列出运算符
      \dO[S+] [模式]         列出所有校对规则
      \dp     [模式]         列出表,视图和序列的访问权限
      \dP[itn+] [PATTERN]    列出[仅表/索引]分区关系[n=nested]
      \drds [ROLEPTRN [DBPTRN]] list per-database role settings
      \dRp[+] [模式]         列出复制发布
      \dRs[+] [模式]         列出复制订阅
      \ds[S+] [模式]         列出序列
      \dt[S+] [模式]         列出表
      \dT[S+] [模式]         列出数据类型
      \du[S+] [模式]         列出角色
      \dv[S+] [模式]         列出视图
      \dx[+]  [模式]         列出扩展
      \dX     [PATTERN]      列出扩展统计信息
      \dy[+]  [PATTERN]      l列出所有事件触发器
      \l[+]   [模式]         列出所有数据库
      \sf[+]  FUNCNAME       显示一个函数的定义
      \sv[+]  VIEWNAME       显示一个视图的定义
      \z      [模式]         和\dp的功能相同
    
    格式化
      \a                     在非对齐模式和对齐模式之间切换
      \C [字符串]            设置表的标题,或如果没有的标题就取消
      \f [字符串]            显示或设定非对齐模式查询输出的字段分隔符
      \H                     切换HTML输出模式 (目前是 关闭)
      \pset [NAME [VALUE]]   设置表输出选项
                             (border|columns|csv_fieldsep|expanded|fieldsep|
                             fieldsep_zero|footer|format|linestyle|null|
                             numericlocale|pager|pager_min_lines|recordsep|
                             recordsep_zero|tableattr|title|tuples_only|
                             unicode_border_linestyle|unicode_column_linestyle|
                             unicode_header_linestyle
      \t [开|关]             只显示记录 (目前是关闭)
      \T [字符串]            设置HTML <表格>标签属性, 或者如果没有的话取消设置
      \x [on|off|auto]       切换扩展输出模式(目前是 关闭)
    
    连接
      \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
                             连接到新数据库(当前是"znbase8")
      \conninfo              显示当前连接的相关信息
      \encoding [编码名称]   显示或设定客户端编码
      \password [USERNAME]   安全地为用户更改口令
    
    操作系统
      \cd [目录]             更改目前的工作目录
      \setenv NAME [VALUE]   设置或清空环境变量
      \timing [开|关]        切换命令计时开关 (目前是关闭)
      \! [命令]              在 shell中执行命令或启动一个交互式shell
    
    变量
      \prompt [文本] 名称    提示用户设定内部变量
      \set [名称 [值数]]     设定内部变量,若无参数则列出全部变量
      \unset 名称            清空(删除)内部变量
    
    大对象
      \lo_export LOBOID 文件
      \lo_import 文件 [注释]
      \lo_list
      \lo_unlink LOBOID      大对象运算
    

    4 查看postgresql的SQL命令使用方法

    在psql链接postgresql成功之后,输入\h即可查看所有操作数据库对象的SQL命令;输入\h sql_command可以查看具体SQL sql_command的使用方法。

    db1=> \h
    可用的说明:
      ABORT                            CREATE USER
      ALTER AGGREGATE                  CREATE USER MAPPING
      ALTER COLLATION                  CREATE VIEW
      ALTER CONVERSION                 DEALLOCATE
      ALTER DATABASE                   DECLARE
      ALTER DEFAULT PRIVILEGES         DELETE
      ALTER DOMAIN                     DISCARD
      ALTER EVENT TRIGGER              DO
      ALTER EXTENSION                  DROP ACCESS METHOD
      ALTER FOREIGN DATA WRAPPER       DROP AGGREGATE
      ALTER FOREIGN TABLE              DROP CAST
      ALTER FUNCTION                   DROP COLLATION
      ALTER GROUP                      DROP CONVERSION
      ALTER INDEX                      DROP DATABASE
      ALTER LANGUAGE                   DROP DOMAIN
      ALTER LARGE OBJECT               DROP EVENT TRIGGER
      ALTER MATERIALIZED VIEW          DROP EXTENSION
      ALTER OPERATOR                   DROP FOREIGN DATA WRAPPER
      ALTER OPERATOR CLASS             DROP FOREIGN TABLE
      ALTER OPERATOR FAMILY            DROP FUNCTION
      ALTER POLICY                     DROP GROUP
      ALTER PROCEDURE                  DROP INDEX
      ALTER PUBLICATION                DROP LANGUAGE
      ALTER ROLE                       DROP MATERIALIZED VIEW
      ALTER ROUTINE                    DROP OPERATOR
      ALTER RULE                       DROP OPERATOR CLASS
      ALTER SCHEMA                     DROP OPERATOR FAMILY
      ALTER SEQUENCE                   DROP OWNED
      ALTER SERVER                     DROP POLICY
      ALTER STATISTICS                 DROP PROCEDURE
      ALTER SUBSCRIPTION               DROP PUBLICATION
      ALTER SYSTEM                     DROP ROLE
      ALTER TABLE                      DROP ROUTINE
      ALTER TABLESPACE                 DROP RULE
      ALTER TEXT SEARCH CONFIGURATION  DROP SCHEMA
      ALTER TEXT SEARCH DICTIONARY     DROP SEQUENCE
      ALTER TEXT SEARCH PARSER         DROP SERVER
      ALTER TEXT SEARCH TEMPLATE       DROP STATISTICS
      ALTER TRIGGER                    DROP SUBSCRIPTION
      ALTER TYPE                       DROP TABLE
      ALTER USER                       DROP TABLESPACE
      ALTER USER MAPPING               DROP TEXT SEARCH CONFIGURATION
      ALTER VIEW                       DROP TEXT SEARCH DICTIONARY
      ANALYZE                          DROP TEXT SEARCH PARSER
      BEGIN                            DROP TEXT SEARCH TEMPLATE
      CALL                             DROP TRANSFORM
      CHECKPOINT                       DROP TRIGGER
      CLOSE                            DROP TYPE
      CLUSTER                          DROP USER
      COMMENT                          DROP USER MAPPING
      COMMIT                           DROP VIEW
      COMMIT PREPARED                  END
      COPY                             EXECUTE
      CREATE ACCESS METHOD             EXPLAIN
      CREATE AGGREGATE                 FETCH
      CREATE CAST                      GRANT
      CREATE COLLATION                 IMPORT FOREIGN SCHEMA
      CREATE CONVERSION                INSERT
      CREATE DATABASE                  LISTEN
      CREATE DOMAIN                    LOAD
      CREATE EVENT TRIGGER             LOCK
      CREATE EXTENSION                 MOVE
      CREATE FOREIGN DATA WRAPPER      NOTIFY
      CREATE FOREIGN TABLE             PREPARE
      CREATE FUNCTION                  PREPARE TRANSACTION
      CREATE GROUP                     REASSIGN OWNED
      CREATE INDEX                     REFRESH MATERIALIZED VIEW
      CREATE LANGUAGE                  REINDEX
      CREATE MATERIALIZED VIEW         RELEASE SAVEPOINT
      CREATE OPERATOR                  RESET
      CREATE OPERATOR CLASS            REVOKE
      CREATE OPERATOR FAMILY           ROLLBACK
      CREATE POLICY                    ROLLBACK PREPARED
      CREATE PROCEDURE                 ROLLBACK TO SAVEPOINT
      CREATE PUBLICATION               SAVEPOINT
      CREATE ROLE                      SECURITY LABEL
      CREATE RULE                      SELECT
      CREATE SCHEMA                    SELECT INTO
      CREATE SEQUENCE                  SET
      CREATE SERVER                    SET CONSTRAINTS
      CREATE STATISTICS                SET ROLE
      CREATE SUBSCRIPTION              SET SESSION AUTHORIZATION
      CREATE TABLE                     SET TRANSACTION
      CREATE TABLE AS                  SHOW
      CREATE TABLESPACE                START TRANSACTION
      CREATE TEXT SEARCH CONFIGURATION TABLE
      CREATE TEXT SEARCH DICTIONARY    TRUNCATE
      CREATE TEXT SEARCH PARSER        UNLISTEN
      CREATE TEXT SEARCH TEMPLATE      UPDATE
      CREATE TRANSFORM                 VACUUM
      CREATE TRIGGER                   VALUES
      CREATE TYPE                      WITH
    
    db1=>
    db1=> \h create type
    命令:       CREATE TYPE
    描述:       建立新的数据类型
    语法:
    CREATE TYPE 名称 AS
        ( [ 属性_名称 数据_类型 [ COLLATE 校对规则 ] [, ... ] ] )
    
    CREATE TYPE 名称 AS ENUM
        ( [ '标签' [, ... ] ] )
    
    CREATE TYPE 名称 AS RANGE (
        SUBTYPE = 子类型
        [ , SUBTYPE_OPCLASS = subtype_operator_class(子类型_操作符_类) ]
        [ , COLLATION = 校对规则 ]
        [ , CANONICAL = 标准_函数 ]
        [ , SUBTYPE_DIFF = subtype_diff_function(子类型_区分_函数) ]
        [ , MULTIRANGE_TYPE_NAME = multirange_type_name ]
    )
    
    CREATE TYPE 名称 (
        INPUT = 输入_函数,
        OUTPUT = 输出_函数
        [ , RECEIVE = 接收_函数 ]
        [ , SEND = 发送_函数 ]
        [ , TYPMOD_IN = 类型修改器数组输入函数名称 ]
        [ , TYPMOD_OUT = 类型修改器输出函数名称 ]
        [ , ANALYZE = 分析_函数 ]
        [ , SUBSCRIPT = subscript_function ]
        [ , INTERNALLENGTH = { 内部长度 | VARIABLE } ]
        [ , PASSEDBYVALUE ]
        [ , ALIGNMENT = 顺序排列(alignment) ]
        [ , STORAGE = 存储 ]
        [ , LIKE = LIKE类型(like_type) ]
        [ , CATEGORY = 类型 ]
        [ , PREFERRED = 优先 ]
        [ , DEFAULT = 默认 ]
        [ , ELEMENT = 成员项 ]
        [ , DELIMITER = 分隔符 ]
        [ , COLLATABLE = 要校对的 ]
    )
    
    CREATE TYPE 名称
    
    URL: https://www.postgresql.org/docs/14/sql-createtype.html
    
    
    db1=>
    

    相关文章

      网友评论

          本文标题:psql客户端命令介绍

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