孝感市网站建设_网站建设公司_支付系统_seo优化
2026/1/19 22:53:29 网站建设 项目流程

目录

  • 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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询