PostgreSQL psql命令行工具使用详解_功能解析与操作指南

2025-05-02 28

Image

PostgreSQL psql 命令行工具使用详解

psql 是 PostgreSQL 的交互式终端工具,是与 PostgreSQL 数据库交互的主要命令行界面。以下是 psql 的详细使用指南:

基本连接与退出

连接数据库

psql -h 主机名 -p 端口 -U 用户名 -d 数据库名

例如:

psql -h localhost -p 5432 -U postgres -d mydb

退出 psql

\q

常用元命令

psql 提供了一系列以反斜杠()开头的元命令:

数据库信息

  • \l\list - 列出所有数据库
  • \c[onnect] [数据库名] - 连接到另一个数据库
  • \dt - 列出当前数据库的所有表
  • \d [表名] - 显示表结构
  • \du - 列出所有用户和角色
  • \dn - 列出所有 schema

查询与执行

  • \e - 在编辑器中打开并编辑当前查询缓冲区
  • \ef [函数名] - 编辑函数定义
  • \i 文件名 - 从文件执行 SQL 命令
  • \o [文件名] - 将查询结果输出到文件
  • \g - 执行当前查询缓冲区中的命令
  • \gexec - 执行查询并将每行结果作为 SQL 执行

显示设置

  • \x - 切换扩展显示模式(垂直显示结果)
  • \timing - 切换命令计时开关
  • \pset [选项] - 设置输出格式选项
    • \pset format aligned - 对齐格式(默认)
    • \pset format unaligned - 不对齐格式
    • \pset border 2 - 设置边框样式

帮助信息

  • \? - 显示所有 psql 命令帮助
  • \h [命令] - 显示 SQL 命令语法帮助

高级功能

变量与替换

\set [变量名] [值]  -- 设置变量
\echo :变量名      -- 使用变量

事务控制

  • \set AUTOCOMMIT off - 关闭自动提交
  • BEGIN; - 开始事务
  • COMMIT; - 提交事务
  • ROLLBACK; - 回滚事务

历史命令

  • 使用上下箭头键浏览历史命令
  • \s - 显示命令历史
  • \s [文件名] - 将历史保存到文件
  • \r - 重置查询缓冲区

配置与自定义

.psqlrc 文件

在用户主目录创建 .psqlrc 文件可以自定义 psql 启动行为:

-- 示例 .psqlrc 内容
\set PROMPT1 '%n@%/%R%# '
\set PROMPT2 '[more] %R> '
\timing on
\pset null '(null)'

命令行选项

常用选项:

  • -E - 显示元命令生成的 SQL
  • -f 文件名 - 执行文件中的 SQL 然后退出
  • -v 变量=值 - 设置变量
  • -A - 非对齐输出模式
  • -H - HTML 输出模式

实用技巧

  1. 查看执行计划
EXPLAIN ANALYZE SELECT * FROM users WHERE id = 1;
  1. 复制数据
\copy (SELECT * FROM table) TO '/path/to/file.csv' WITH CSV HEADER
  1. 查看服务器版本
SELECT version();
  1. 查看当前连接信息
SELECT * FROM pg_stat_activity;
  1. 使用分页显示
\pset pager always

psql 是一个功能强大的工具,熟练掌握它可以大大提高 PostgreSQL 数据库的管理效率。

(本文来源:https://www.nzw6.com)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关