Skip to main content
 首页 » 数据库

PostgreSql psql 中必须掌握的一组常用命令

2022年07月19日137tuyile006

PostgreSql psql 中必须掌握的一组常用命令

本文带你学习PostgreSql中一组常用命令,帮助你更快、更有效从PostgreSql中查询数据。

  1. 连接PostgreSQL 数据库

下面命令指定用户连接至数据库,回车后输入对应密码。

psql -d database -U  user -W 

举例postgres用户连接postgres数据库:

psql -d postgres -U postgres -W 
用户 postgres 的口令: 
psql (10.15) 
 
postgres=# 

如果数据库非本机,则需要增加-h选项:

psql -h host -d database -U user -W 

使用SSL方式连接,使用下面命令:

psql -U user -h host "dbname=db sslmode=require" 
  1. 切换新数据库连接

连接数据库之后,当前用户可能需要切换至其他数据库。切换之后则前面的连接关闭,如果忽略user参数则默认为当前用户。

\c dbname username 

举例:

postgres=# \c TestDb 
口令: 
您现在已经连接到数据库 "TestDb",用户 "postgres". 
TestDb=# 

成功从postgres切换到TestDb数据库。

  1. 列出有效数据库

列出当前数据库服务器上的所有数据库,使用\l命令:

\l 
  1. 列出当前数据库所有表使用 \dt命令:
\dt 
  1. 查看表结构

查看表结构,如列、类型、列修饰符等,使用下面命令:

\d table_name 
  1. 列出有效schema

列出当前连接数据库所有scheam,使用\dn命令:

\dn 
  1. 列出有效函数

列出当前数据库的有效函数,使用\df命令:

\df  
  1. 列出有效试图

列出当前数据库有效试图,使用\dv命名:

\dv 
  1. 列出用户及其角色

列出用户及其赋予的角色,使用\du命令:

  1. 执行前面命令

通过version()函数返回当前postgreSql服务器的版本:

SELECT version(); 

现在你想节省时间,再次执行上一次命令,使用\g命名:

\g 

psql会再次执行SELECT version();

  1. 命令历史

显示命令历史使用 \s命令。

\s  

保存命令历史到文件,需要指定文件名称:

\s filename 
  1. 从文件执行psql命令

从文件中执行命令使用 \i命令:

\i filename 

示例:

\i 'e:\\init.sql' 

执行e盘init.sql文件.

  1. 获取命令帮助

要知道所有psql命令,使用 ?命令:

\? 

获取特定PostgreSQL语句帮助,使用\h命令。举例,获取ALTER TABLE 语句的帮助,使用下面命令:

\h ALTER TABLE 
  1. 开启查询执行时间

开启查询执行时间,使用 \timing 命令:

postgres=# \timing 
启用计时功能. 
postgres=# select count(*) from tbl_partition; 
 count 
------- 
     0 
(1 行记录) 
 
时间:0.461 ms 
postgres=# 

可以再次使用相同命令关闭计时功能:

postgres=# \timing 
停止计时功能. 
postgres=# 
  1. 编辑器编辑命令

如果能在编辑器中编辑命令会更方便。psql提供\e命令,psql会打开文本编辑器,并自动加载最近的命令,让你编辑执行。
在这里插入图片描述

在编辑器中编辑之后,保存并关闭,psql将执行命令并返回结果。
在这里插入图片描述

更有用的是在编辑器中编辑函数。

在这里插入图片描述

\ef [function name] 
  1. 切换输出选型

psql支持某些类型的输出格式,并允许您动态地定制输出格式。

  • \a 命令 从对齐切换至不对齐列输出
  • \H 命令 格式化输出为HTMLT格式
postgres=# \H 
输出格式是 html。 
postgres=# select * from tbl_partition; 
<table border="1"> 
  <tr> 
    <th align="center">id</th> 
    <th align="center">name</th> 
    <th align="center">gender</th> 
    <th align="center">join_date</th> 
    <th align="center">dept</th> 
  </tr> 
</table> 
<p>(0 行记录)<br /> 
</p> 
 
postgres=# 
 
  1. 退出psql

使用\q命令退出psql,回车后结束psql.

\q 

好了,常用的命令差不多就这些,应付PostgreSQL中常用任务应该够了,遇到问题别忘了使用? 。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/109709818
阅读延展