PG数据库管理-PostgreSQL 常用命令行元命令汇总

PostgreSQL 常用命令行元命令汇总

PostgreSQL 的 psql 命令行工具提供了大量元命令(以反斜杠 \ 开头的命令),用于管理数据库、查询元数据和调整输出格式等。以下分类总结常用命令:

信息查询与元数据
  • \l\list

    列出所有数据库,包含名称、所有者、编码和访问权限。

  • \d

    显示当前数据库中的表、视图、序列等对象列表。
    \d+ 显示更详细的描述信息。

  • \d table_name

    查看指定表的结构(列名、类型、约束等)。
    \d+ table_name 包含额外信息如存储参数和注释。

  • \dn

    列出所有模式(schema)。

  • \df

    列出函数。可搭配 \df+ function_name 查看函数定义。

  • \du\dg

    列出角色和用户权限。

格式控制
  • \x\expanded

    切换输出格式为垂直展开模式(适合宽表数据),再次执行切回水平模式。

  • \pset format unaligned

    设置输出为无对齐格式(适合导出数据到文件)。

  • \pset border 0|1|2

    控制表格边框显示(0无边框,1内部分隔线,2完整边框)。

  • \H\html

    切换输出为 HTML 格式。

性能与统计
  • \timing

    切换 SQL 执行时间显示,开启后会显示每条语句的执行耗时。

  • \watch [interval]

    重复执行当前查询(如 **\watch 5 每 5 秒执行一次**)。

连接与操作
  • \c dbname\connect dbname

    切换到指定数据库。

  • \q

    退出 psql 会话。

  • \! command

    在 shell 中执行外部命令(如 \! ls 列出当前目录)。

文件操作
  • \i filename

    执行指定 SQL 文件中的命令。

  • \o filename

    将后续查询结果重定向到文件,\o 取消重定向。

其他实用命令
  • \e

    打开默认编辑器编辑当前查询缓冲区,保存后执行。

  • \cd directory

    更改当前工作目录。

  • \prompt [text] variable

    提示用户输入并保存到变量(如 \prompt 'Enter name:' name)。

  • \set [name [value]]

    设置或显示变量(如 \set AUTOCOMMIT off)。

示例组合用法
  1. 查看表结构并统计查询时间:

    sql 复制代码
    \timing
    \d users
  2. 导出查询结果到文件:

    sql 复制代码
    \o output.csv
    SELECT * FROM orders;
    \o
  3. 监控动态数据:

    sql 复制代码
    SELECT COUNT(*) FROM logs WHERE created_at > NOW() - INTERVAL '1 hour';
    \watch 60

这些命令能显著提升 PostgreSQL 命令行操作效率,建议结合 \? 查看完整帮助文档。

相关推荐
廿一夏6 小时前
MySql存储引擎与索引
数据库·sql·mysql
曲幽6 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
lzhdim8 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室8 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)9 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU10 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng10 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿11 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-11 小时前
Redis 命令
数据库·redis·缓存
小江的记录本12 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven