PostgreSQL——元命令

PostgreSQL 元命令详解

PostgreSQL 提供了一系列元命令(meta-commands),这些命令以反斜杠(\)开头,用于执行各种数据库管理任务。这些命令在 psql 命令行工具中特别有用。

连接相关命令

  • \c\connect [dbname [username] [host] [port]] -连接到新数据库
  • \conninfo - 显示当前连接信息
  • \password [username] - 更改用户密码

信息查询命令

  • \l\list - 列出所有数据库
  • \dt\dt+ - 列出当前数据库中的表(+显示更多信息)
  • \dn - 列出所有模式
  • \d [object] - 描述数据库对象(表、视图、索引等)
  • \du\du+ - 列出所有用户和角色
  • \df - 列出函数
  • \dv - 列出视图
  • \di - 列出索引
  • \ds - 列出序列
  • \dp\z - 列出表、视图和序列的访问权限
  • \db - 列出表空间
  • \dT - 列出数据类型
  • \dD - 列出域
  • \dF - 列出文本搜索配置
  • \dS - 列出系统表

执行控制命令

  • \e\edit - 使用外部编辑器编辑查询
  • \ef [function] - 编辑函数定义
  • \g\g [file] - 执行前一个查询(可选输出到文件)
  • \gx - 以扩展格式执行前一个查询
  • \gexec - 执行前一个查询的每个结果作为SQL语句
  • \i\include filename - 从文件执行SQL
  • \o\out [filename] - 将查询结果重定向到文件
  • \q - 退出psql

格式化命令

  • \a - 切换对齐/非对齐输出模式
  • \C [title] - 设置查询结果的标题
  • \f [separator] - 设置字段分隔符
  • \H - 切换HTML输出模式
  • \pset [option [value]] - 设置打印选项(border, format, null等)
  • \t - 切换只显示行/显示标题和行
  • \T [table_options] - 设置HTML表格属性
  • \x - 切换扩展格式输出

变量和别名

  • \set [name [value]] - 设置psql变量
  • \unset name - 取消设置psql变量
  • \prompt [text] name - 提示用户输入并存储到变量
  • \echo [text] - 输出文本到标准输出
  • \qecho [text] - 输出文本到查询输出流
  • \a - 切换对齐/非对齐输出模式

事务控制

  • \begin - 开始事务块
  • \commit - 提交当前事务
  • \rollback - 回滚当前事务

其它使用命令

  • \! [command] - 执行shell命令
  • \cd [directory] - 更改当前工作目录
  • \timing - 切换命令计时开关
  • \watch [seconds] - 定期执行前一个查询
  • \copy - 执行COPY操作,但数据流通过客户端
  • \lo_export, \lo_import, \lo_list, \lo_unlink - 大对象操作

高级用法示例

查看表结构:

\d+ table_name

将查询结果导出到文件​:

\o results.txt
SELECT * FROM users;
\o

定时执行查询​:

SELECT now(), * FROM orders WHERE status = 'pending';
\watch 5

使用变量​:

\set myvar 10
SELECT * FROM products WHERE id = :myvar;

编辑并执行查询​:

\e

以扩展格式显示结果​:

\x
SELECT * FROM large_table LIMIT 1;

执行SQL文件​:

\i /path/to/script.sql

查看执行计划:

EXPLAIN ANALYZE SELECT * FROM large_table WHERE condition;
\watch 2

汇总表

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值