news 2026/9/3 7:18:10

2.pg工具介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2.pg工具介绍

目录

  • psql 介绍
    • 特点
    • psql 的常用命令
      • "h" 命令
      • "d" 命令
        • 案例
        • 匹配不同对象类型的 "d" 命令
        • 其他相关命令
      • 指定客户端字符集的命令
      • 格式化输出的 \pset 命令
      • "\x" 命令
      • "\i" 命令
      • 输出信息的 "echo" 命令
      • 命令 "e"
      • 其他命令
  • clusterdb – cluster a PostgreSQL database
    • 用途
    • 案例
    • 查询聚簇索引表
    • 缺点
  • pgbench 简单介绍
  • 其他工具介绍

psql 介绍

psql 是 PostgreSQL 中的一个命令行交互式客户端工具,类似于 MySQL 中的 mysql client 以及 Oracle 中的 sqlplus。

特点

  • 使用起来简单,支持很多简便命令。
  • 单击 Tab 键自动补全的强大功能。
  • 对于初学者来说,也可以使用 PostgreSQL 中图形化客户端工具(如 pgAdmin)来操作 PostgreSQL 数据库。

psql 的常用命令

psql -h查看如何连接 pg-server。

“h” 命令

使用 psql 工具需要记住的第一个命令是\h,该命令用于查询 SQL 语句的语法。使用\h命令可以查看各种 SQL 语句的语法,非常方便,比如忘记如何创建 user。


“d” 命令

该命令将显示每个匹配 “pattern”(表、视图、索引、序列)的信息,包括对象中所有的列、各列的数据类型、表空间(如果不是默认的)和所有特殊属性(诸如 “NOT NULL” 或默认值等)等。

案例
  • \d命令后什么都不带,将列出当前数据库中的所有表。
  • \d命令后面跟一个表名,表示显示这个表的结构定义。
  • \d命令也可以用于显示索引信息。
  • \d命令后面的表名或索引名中也可以使用通配符如*?等。
  • 使用\d+命令可以显示比\d命令的执行结果更详细的信息,除了前面介绍的信息,还会显示所有与表的列关联的注释,以及表中出现的 OID。
匹配不同对象类型的 “d” 命令
  • 如果只想显示匹配的表,可以使用\dt命令。
  • 如果只想显示索引,可以使用\di命令。
  • 如果只想显示序列,可以使用\ds命令。
  • 如果只想显示视图,可以使用\dv命令。
  • 如果想显示函数,可以使用\df命令。
其他相关命令
  • \timing显示执行 SQL 语句的时间。
  • 要想列出数据库中的所有角色或用户,可以使用\du\dg命令。

指定客户端字符集的命令

使用\encoding utf8;命令设置客户端的字符编码为 “utf8”。


格式化输出的 \pset 命令

psql 中执行 SQL 语句后输出的内容默认只有内边框。

  • \pset border 2像 MySQL 一样有内外边框。
  • \pset border 0可以不用边框展示。
  • \o file可以把查询导出到文件。

示例:

\o111.txtselect*fromtttorderbyname;

“\x” 命令

使用\x命令可以把按行展示的数据变成按列展示。


“\i” 命令

用于执行存储在外部文件中的 SQL 语句或命令,等同于psql -x -f getrunsql


输出信息的 “echo” 命令

\echo命令用于输出一行信息。

示例:

osdba=# \echo hello world hello world

命令 “e”

可以用于编辑文件,也可用于编辑系统中已存在的函数或视图定义。编辑完成后退出编辑器并回到 psql 中时会立即执行该命令。


其他命令

\?命令来显示帮助。


clusterdb – cluster a PostgreSQL database

CLUSTER指示 PostgreSQL 基于index_name指定的索引聚簇由table_name指定的表。这个索引必须是表table_name上已定义的索引。

用途

如果对某些特定数据的访问较多,而且有一个索引将这些数据分组,那么使用CLUSTER会非常有益处。如果从一个表中请求一定索引范围的值,或者是一个索引值对应多行,CLUSTER 也会有助于应用,因为如果索引标识出第一匹配行所在的存储页,所有其它行也可能已经在同一个存储页里了,这样便节省了磁盘访问的时间,加速了查询。

案例

  1. 按照索引employees_ind的顺序对 employees 表进行聚簇:

    CLUSTER employeesUSINGemployees_ind;
  2. 使用以前用过的同一个索引对 employees 表进行聚簇:

    CLUSTER employees;
  3. 对以前聚簇过的所有表重新聚簇:

    CLUSTER;

查询聚簇索引表

SELECTindexname,indexedFROMpg_indexesWHEREtablename='ttt';

缺点

CLUSTER 在聚簇的处理过程中,系统先创建一个按照索引顺序建立的表的临时拷贝。同时也建立表上的每个索引的临时拷贝。因此,需要磁盘上有足够的剩余空间,至少是表大小和索引大小的和。


pgbench 简单介绍

pgbench 是 PostgreSQL 附带的一个性能测试工具,它执行一系列相同的 SQL 语句,然后进行一些事务操作,最终计算平均事务,用来衡量数据库性能。同时该工具也支持用户自定义测试脚本。

以下是该工具的一些参数与含义:

  • -i测试表初始化
  • -sscale,比例因子,该比例因子乘上 10,000,000 为 pgbench_accounts 表中数据数
  • -c客户端连接数
  • -jpgbench 运行客户端的线程数
  • -t每个客户端执行的事务数,默认为 10,该参数与-T互斥
  • -T在一定时间内执行测试,度量可执行的事务数,而不是固定事务数,该参数与-t互斥
  • -f采用自定义脚本进行测试

示例测试命令:

pgbench -h10.172.172.172 -U postgres -s500-p5432-f mytest -t10-c5000-j5000test

其他工具介绍

  • pg_amcheck- checks for corruption in one or more PostgreSQL databases
  • pg_basebackup- take a base backup of a PostgreSQL cluster
  • pgbench- run a benchmark test on PostgreSQL
  • pg_config- retrieve information about the installed version of PostgreSQL
  • pg_dump- extract a PostgreSQL database into a script file or other archive
  • pg_dumpall- extract a PostgreSQL database cluster into a script file
  • pg_isready- check the connection status of a PostgreSQL server
  • pg_receiveval- stream write-ahead logs from a PostgreSQL server
  • pg_recvlogical- control PostgreSQL logical decoding streams
  • pg_restore- restore a PostgreSQL database from an archive file created by
  • pg_verifybackup- verify the integrity of a base backup of a PostgreSQL cluster
  • psql- PostgreSQL interactive terminal
  • reindexdb- reindex a PostgreSQL database
  • vacuumdb- garbage-collect and analyze a PostgreSQL database

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:49:13

AI视觉时代来临:直播美颜SDK与动态贴纸SDK的技术开发新趋势

如果说过去十年是“移动互联网红利期”,那么现在,我们正站在一个全新的拐点上——AI视觉时代。直播、电商、短视频、社交、虚拟人、元宇宙,这些看似不同的赛道,其实都指向同一个核心能力:实时视觉处理技术。而在这个时…

作者头像 李华
网站建设 2026/9/2 23:24:09

嵌入模型推理加速:ONNX Runtime在AI原生应用中的使用教程

嵌入模型推理加速:ONNX Runtime在AI原生应用中的使用教程 一、引言:为什么你的嵌入模型跑得比蜗牛还慢? 1.1 一个真实的痛点:RAG应用的"卡脖子"时刻 上周凌晨三点,我收到了创业公司朋友的求助消息&#xff1…

作者头像 李华
网站建设 2026/9/2 21:48:24

【课程设计/毕业设计】大数据基于网络爬虫的安客居二手房屋信息采集系统基于django+网络爬虫的安客居二手房屋信息采集系统的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/2 23:23:32

先知AI洞察 | 男装创意的枯竭,是否已让您彻夜难眠?

当下男装市场同质化严重,设计灵感仿佛陷入循环,你是否也感受到了这份挥之不去的创意焦虑?从趋势预测到图案设计,传统的创作流程耗时费力,且难以突破固有思维。这不仅是设计师的困境,更是品牌面对快速迭代的…

作者头像 李华
网站建设 2026/9/2 21:48:24

计算机django毕设实战-基于django+网络爬虫数据可视化的安客居二手房屋信息采集系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/2 21:49:06

(新卷,100分)- 完美走位(Java JS Python)

(新卷,100分)- 完美走位(Java & JS & Python)题目描述在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。假设玩家每按动一次键盘,游戏任…

作者头像 李华