当前位置: 首页 > news >正文

(四)PostgreSQL的psql命令

PostgreSQL的psql命令

基础信息
OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:16.2
pg软件目录:/home/pg16/soft
pg数据目录:/home/pg16/data
端口:5777

psql 是 PostgreSQL 数据库的命令行界面,允许用户与数据库交互、管理数据库、执行 SQL 语句等。它提供了许多内部命令以及能力来执行复杂的查询和数据库操作。以下是一些常用的 psql 命令:

连接和断开数据库

  • 连接到数据库:

    psql -d database_name -U user_name
    
  • 断开当前数据库连接:

    \q
    

查看数据库对象

  • 列出所有数据库:

    \l 或 \list
    
  • 切换当前数据库:

    \c database_name
    
  • 列出当前数据库中的所有表:

    \dt
    
  • 列出特定模式中的所有表:

    \dt schema_name.*
    
  • 显示表的结构:

    \d table_name
    
  • 列出所有模式:

    \dn
    
  • 列出所有可用的命令和系统视图:

    \?
    

执行 SQL 语句

  • 执行 SQL 文件:

    psql -d database_name -f file.sql
    
  • 执行 SQL 语句(在 psql 内部):

    SELECT * FROM table_name;
    

调整 psql 行为

  • 打开或关闭查询结果的分页显示:

    \pset pager off   # 关闭
    \pset pager on    # 打开
    
  • 设置输出格式为垂直格式而不是默认的横向格式:

    \x
    

脚本和自动化

  • 执行 psql 命令而不进入交互界面:

    psql -d database_name -c "SELECT * FROM table_name;"
    
  • psql 命令行中执行系统命令:

    \! ls
    
  • 将查询结果导出到文件:

    \o output_file.txt
    SELECT * FROM table_name;
    \o
    

杂项

  • 显示当前 psql 版本:

    \! psql -V
    
  • 获取帮助信息:

    • 对于 SQL 命令的帮助:\h\h COMMAND_NAME
    • 对于 psql 命令的帮助:\?
[pg16@test ~]$ psql -d postgres -U postgres
psql (16.2)
Type "help" for help.postgres=# 
postgres=# 
postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type:  \copyright for distribution terms\h for help with SQL commands\? for help with psql commands\g or terminate with semicolon to execute query\q to quit
postgres=# \h
Available help:ABORT                            CLOSE                            CREATE VIEW                      DROP USER MAPPINGALTER AGGREGATE                  CLUSTER                          DEALLOCATE                       DROP VIEWALTER COLLATION                  COMMENT                          DECLARE                          ENDALTER CONVERSION                 COMMIT                           DELETE                           EXECUTEALTER DATABASE                   COMMIT PREPARED                  DISCARD                          EXPLAINALTER DEFAULT PRIVILEGES         COPY                             DO                               FETCHALTER DOMAIN                     CREATE ACCESS METHOD             DROP ACCESS METHOD               GRANTALTER EVENT TRIGGER              CREATE AGGREGATE                 DROP AGGREGATE                   IMPORT FOREIGN SCHEMAALTER EXTENSION                  CREATE CAST                      DROP CAST                        INSERTALTER FOREIGN DATA WRAPPER       CREATE COLLATION                 DROP COLLATION                   LISTENALTER FOREIGN TABLE              CREATE CONVERSION                DROP CONVERSION                  LOADALTER FUNCTION                   CREATE DATABASE                  DROP DATABASE                    LOCKALTER GROUP                      CREATE DOMAIN                    DROP DOMAIN                      MERGEALTER INDEX                      CREATE EVENT TRIGGER             DROP EVENT TRIGGER               MOVEALTER LANGUAGE                   CREATE EXTENSION                 DROP EXTENSION                   NOTIFYALTER LARGE OBJECT               CREATE FOREIGN DATA WRAPPER      DROP FOREIGN DATA WRAPPER        PREPAREALTER MATERIALIZED VIEW          CREATE FOREIGN TABLE             DROP FOREIGN TABLE               PREPARE TRANSACTIONALTER OPERATOR                   CREATE FUNCTION                  DROP FUNCTION                    REASSIGN OWNEDALTER OPERATOR CLASS             CREATE GROUP                     DROP GROUP                       REFRESH MATERIALIZED VIEWALTER OPERATOR FAMILY            CREATE INDEX                     DROP INDEX                       REINDEXALTER POLICY                     CREATE LANGUAGE                  DROP LANGUAGE                    RELEASE SAVEPOINTALTER PROCEDURE                  CREATE MATERIALIZED VIEW         DROP MATERIALIZED VIEW           RESETALTER PUBLICATION                CREATE OPERATOR                  DROP OPERATOR                    REVOKEALTER ROLE                       CREATE OPERATOR CLASS            DROP OPERATOR CLASS              ROLLBACKALTER ROUTINE                    CREATE OPERATOR FAMILY           DROP OPERATOR FAMILY             ROLLBACK PREPAREDALTER RULE                       CREATE POLICY                    DROP OWNED                       ROLLBACK TO SAVEPOINTALTER SCHEMA                     CREATE PROCEDURE                 DROP POLICY                      SAVEPOINTALTER SEQUENCE                   CREATE PUBLICATION               DROP PROCEDURE                   SECURITY LABELALTER SERVER                     CREATE ROLE                      DROP PUBLICATION                 SELECTALTER STATISTICS                 CREATE RULE                      DROP ROLE                        SELECT INTOALTER SUBSCRIPTION               CREATE SCHEMA                    DROP ROUTINE                     SETALTER SYSTEM                     CREATE SEQUENCE                  DROP RULE                        SET CONSTRAINTSALTER TABLE                      CREATE SERVER                    DROP SCHEMA                      SET ROLEALTER TABLESPACE                 CREATE STATISTICS                DROP SEQUENCE                    SET SESSION AUTHORIZATIONALTER TEXT SEARCH CONFIGURATION  CREATE SUBSCRIPTION              DROP SERVER                      SET TRANSACTIONALTER TEXT SEARCH DICTIONARY     CREATE TABLE                     DROP STATISTICS                  SHOWALTER TEXT SEARCH PARSER         CREATE TABLE AS                  DROP SUBSCRIPTION                START TRANSACTIONALTER TEXT SEARCH TEMPLATE       CREATE TABLESPACE                DROP TABLE                       TABLEALTER TRIGGER                    CREATE TEXT SEARCH CONFIGURATION DROP TABLESPACE                  TRUNCATEALTER TYPE                       CREATE TEXT SEARCH DICTIONARY    DROP TEXT SEARCH CONFIGURATION   UNLISTENALTER USER                       CREATE TEXT SEARCH PARSER        DROP TEXT SEARCH DICTIONARY      UPDATEALTER USER MAPPING               CREATE TEXT SEARCH TEMPLATE      DROP TEXT SEARCH PARSER          VACUUMALTER VIEW                       CREATE TRANSFORM                 DROP TEXT SEARCH TEMPLATE        VALUESANALYZE                          CREATE TRIGGER                   DROP TRANSFORM                   WITHBEGIN                            CREATE TYPE                      DROP TRIGGER                     CALL                             CREATE USER                      DROP TYPE                        CHECKPOINT                       CREATE USER MAPPING              DROP USER                        
postgres=# \?
General\bind [PARAM]...       set query parameters\copyright             show PostgreSQL usage and distribution terms\crosstabview [COLUMNS] execute query and display result in crosstab\errverbose            show most recent error message at maximum verbosity\g [(OPTIONS)] [FILE]  execute query (and send result to file or |pipe);\g with no arguments is equivalent to a semicolon\gdesc                 describe result of query, without executing it\gexec                 execute query, then execute each value in its result\gset [PREFIX]         execute query and store result in psql variables\gx [(OPTIONS)] [FILE] as \g, but forces expanded output mode\q                     quit psql\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N timesHelp\? [commands]          show help on backslash commands\? options             show help on psql command-line options\? variables           show help on special variables\h [NAME]              help on syntax of SQL commands, * for all commandsQuery Buffer\e [FILE] [LINE]       edit the query buffer (or file) with external editor\ef [FUNCNAME [LINE]]  edit function definition with external editor\ev [VIEWNAME [LINE]]  edit view definition with external editor\p                     show the contents of the query buffer\r                     reset (clear) the query buffer\s [FILE]              display history or save it to file\w FILE                write query buffer to fileInput/Output\copy ...              perform SQL COPY with data stream to the client host\echo [-n] [STRING]    write string to standard output (-n for no newline)\i FILE                execute commands from file\ir FILE               as \i, but relative to location of current script\o [FILE]              send all query results to file or |pipe\qecho [-n] [STRING]   write string to \o output stream (-n for no newline)\warn [-n] [STRING]    write string to standard error (-n for no newline)Conditional\if EXPR               begin conditional block\elif EXPR             alternative within current conditional block\else                  final alternative within current conditional block\endif                 end conditional blockInformational(options: S = show system objects, + = additional detail)\d[S+]                 list tables, views, and sequences\d[S+]  NAME           describe table, view, sequence, or index\da[S]  [PATTERN]      list aggregates\dA[+]  [PATTERN]      list access methods\dAc[+] [AMPTRN [TYPEPTRN]]  list operator classes\dAf[+] [AMPTRN [TYPEPTRN]]  list operator families\dAo[+] [AMPTRN [OPFPTRN]]   list operators of operator families\dAp[+] [AMPTRN [OPFPTRN]]   list support functions of operator families\db[+]  [PATTERN]      list tablespaces\dc[S+] [PATTERN]      list conversions\dconfig[+] [PATTERN]  list configuration parameters\dC[+]  [PATTERN]      list casts\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\dD[S+] [PATTERN]      list domains\ddp    [PATTERN]      list default privileges\dE[S+] [PATTERN]      list foreign tables\des[+] [PATTERN]      list foreign servers\det[+] [PATTERN]      list foreign tables\deu[+] [PATTERN]      list user mappings\dew[+] [PATTERN]      list foreign-data wrappers\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]list [only agg/normal/procedure/trigger/window] functions\dF[+]  [PATTERN]      list text search configurations\dFd[+] [PATTERN]      list text search dictionaries\dFp[+] [PATTERN]      list text search parsers\dFt[+] [PATTERN]      list text search templates\dg[S+] [PATTERN]      list roles\di[S+] [PATTERN]      list indexes\dl[+]                 list large objects, same as \lo_list\dL[S+] [PATTERN]      list procedural languages\dm[S+] [PATTERN]      list materialized views\dn[S+] [PATTERN]      list schemas\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]list operators\dO[S+] [PATTERN]      list collations\dp[S]  [PATTERN]      list table, view, and sequence access privileges\dP[itn+] [PATTERN]    list [only index/table] partitioned relations [n=nested]\drds [ROLEPTRN [DBPTRN]] list per-database role settings\drg[S] [PATTERN]      list role grants\dRp[+] [PATTERN]      list replication publications\dRs[+] [PATTERN]      list replication subscriptions\ds[S+] [PATTERN]      list sequences\dt[S+] [PATTERN]      list tables\dT[S+] [PATTERN]      list data types\du[S+] [PATTERN]      list roles\dv[S+] [PATTERN]      list views\dx[+]  [PATTERN]      list extensions\dX     [PATTERN]      list extended statistics\dy[+]  [PATTERN]      list event triggers\l[+]   [PATTERN]      list databases\sf[+]  FUNCNAME       show a function's definition\sv[+]  VIEWNAME       show a view's definition\z[S]   [PATTERN]      same as \dpLarge Objects\lo_export LOBOID FILE write large object to file\lo_import FILE [COMMENT]read large object from file\lo_list[+]            list large objects\lo_unlink LOBOID      delete a large objectFormatting\a                     toggle between unaligned and aligned output mode\C [STRING]            set table title, or unset if none\f [STRING]            show or set field separator for unaligned query output\H                     toggle HTML output mode (currently off)\pset [NAME [VALUE]]   set table output option(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 [on|off]            show only rows (currently off)\T [STRING]            set HTML <table> tag attributes, or unset if none\x [on|off|auto]       toggle expanded output (currently off)Connection\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}connect to new database (currently "postgres")\conninfo              display information about current connection\encoding [ENCODING]   show or set client encoding\password [USERNAME]   securely change the password for a userOperating System\cd [DIR]              change the current working directory\getenv PSQLVAR ENVVAR fetch environment variable\setenv NAME [VALUE]   set or unset environment variable\timing [on|off]       toggle timing of commands (currently off)\! [COMMAND]           execute command in shell or start interactive shellVariables\prompt [TEXT] NAME    prompt user to set internal variable\set [NAME [VALUE]]    set internal variable, or list all if no parameters\unset NAME            unset (delete) internal variable

总结

psql 命令提供了一个强大的界面,用于执行和管理 PostgreSQL 数据库。学习和熟悉这些命令可以帮助提高数据库管理和查询的效率。

谨记:心存敬畏,行有所止。

http://www.lryc.cn/news/338209.html

相关文章:

  • 前端使用minio传输文件
  • [大模型] BlueLM-7B-Chat WebDemo 部署
  • 一文了解ERC404协议
  • iOS cocoapods pod FrozenError and RuntimeError
  • 【鸿蒙开发】第二十章 Camera相机服务
  • JS阅读笔记
  • 基于spring boot的留守儿童爱心管理系统
  • python输入某年某月某日判断这一天是这一年的第几天
  • docker 上达梦导入dump文件报错:本地编码:PG GBK,导入女件编码:PGGB18030
  • 一起学习python——基础篇(19)
  • 数模 初见数建
  • windows系统搭建OCR半自动标注工具PaddleOCR
  • 01、ArcGIS For JavaScript 4.29对3DTiles数据的支持
  • Spark_SparkSql写入Oracle_Undefined function.....将长字符串写入Oracle中方法..
  • 2023数据要素白皮书(免费下载)
  • kafka学习记录
  • 无线网络2.4和5G的区别
  • 大模型笔记:Prompt tuning
  • 【Ambari】Ansible自动化部署大数据集群
  • RTSP/Onvif视频安防监控平台EasyNVR调用接口返回匿名用户名和密码的原因排查
  • opencv基础图行展示
  • GIF在线生成器
  • 使用JavaScript制作一个简单的天气应用
  • 说说对WebSocket的理解?应用场景?
  • 网路维护基础知识
  • 【GD32】MQ-3酒精检测传感器
  • 如何在极狐GitLab 启用依赖代理功能
  • ES6中 Promise的详细讲解
  • 网站建设也会涉及商标侵权,需要注意些!
  • Leetcode算法训练日记 | day25