psql commands


psql commands

在本节中,我们将看到最常用的psql commands列表,它们帮助我们更快、更有效地从 PostgreSQL 数据库服务器查询数据。

SQL shell(psql) 中,我们有 n 个commands,但在这里我们将讨论一些最常用的commands。

连接PostgreSQL数据库如果我们想连接特定用户下的PostgreSQL数据库,我们将按照以下流程进行:

首先,我们将在本地系统中打开commands提示符并复制我们安装 PostgreSQL 的路径。

然后我们将使用以下commands:

psql -d database -U user -W

一旦我们编写了上述commands并按Enter 键,PostgreSQL将请求用户的密码。

例如

要连接到Postgres用户下的javatpoint数据库,我们使用以下commands:

C:\Program Files\PostgreSQL\12\bin>psql -d javatpoint -U postgres -W  
Password:  
Javatpoint=#

输出

正如我们在下面的屏幕截图中看到的:

psql commands

如果我们想连接到另一个主机上存在的数据库,我们在上面的commands中添加-h选项:

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

如果我们需要使用SSL 模式进行连接,请按照以下commands定义它:

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

一旦我们连接到数据库,我们就可以将连接切换到用户指定的用户下的新数据库。

\c database_name

上面的语句将连接到postgres用户下的javatpoint数据库:

postgres=# \c javatpoint

psql commands

  • 列出可用的数据库

要列出当前 PostgreSQL 数据库服务器中的所有数据库,我们将使用以下commands:

\l

例如

如果我们执行上述commands,我们将获得以下输出以查看 PostgreSQL 中存在的现有数据库。

psql commands

  • 列出可用表

要列出当前数据库中的所有表,我们将使用以下commands:

\dt

例如

如果我们执行上面的commands,我们将得到以下输出,我们可以在其中看到 PostgreSQL 中存在的现有数据库。

psql commands

注意:上述commands仅指定当前链接到数据库的那些表。

  • 描述一张表

下面的commands用于描述一个表,如类型、列、列的修饰符等。

\d table_name

例如,假设我们有一个名为Station1 的现有表,我们想借助上述commands来描述它:

\d Station1

输出

执行上述commands后,我们将得到以下输出:

psql commands

  • 列出可用功能

我们可以使用以下commands查看现有数据库中可用的函数列表。

\df

输出

如果我们执行上面的commands,我们将得到以下输出窗口:

psql commands

  • 列出可用模式

下面的commands用于查看当前连接的数据库的所有模式的可用列表。

\dn

输出

执行上述commands后,我们将得到以下输出窗口:

psql commands

  • 列出用户及其角色

在 psql 中,我们将使用以下commands列出所有用户及其分配的角色。

\du

输出

执行上述commands后,我们将得到以下输出窗口:

psql commands

  • 列出可用视图

我们将使用以下commands获取现有数据库中可用视图的列表。

\dv

输出

执行上述commands后,我们将得到以下输出:

psql commands

  • 执行上一条commands

我们将在以下commands中使用version() 函数来恢复 PostgreSQL 服务器的现有版本。

SELECT version();

输出

执行上述commands后,我们将得到以下输出:

psql commands

我们可以使用下面的commands来实现上一个commands,因为下面的commands将帮助我们节省我们再次输入上一个commands的时间。

\g

输出

正如我们在下面的输出中看到的,与之前的commands相比,我们将得到相同的结果:

psql commands

注意:在psql中,我们可以再次执行上一条commands,即SELECTcommands。

  • 从文件执行 psql commands

如果我们想从文件中实现 psql commands,我们可以使用以下commands:

\i filename
  • 获取有关 psql commands的帮助

我们将使用以下commands来了解所有可用的 psql commands。

\?

输出

执行上述commands后,我们将得到以下输出窗口:

psql commands

并且,我们可以使用以下语句来获取有关特定 PostgreSQL commands的帮助。

\h

输出

执行上述commands后,我们将得到以下输出窗口:

psql commands

例如,如果我们想了解有关ALTER TABLEcommands的详细信息,我们将键入以下commands:

\h ALTER TABLE

输出

一旦我们执行上述commands,我们将得到以下结果:

psql commands

开启查询执行时间

我们将使用以下commands开启查询执行时间。

\timing

输出

一旦我们执行上述commands,我们将得到以下结果:

psql commands

如果我们想查看 Station1 表中的计数,我们将使用以下commands:

Select count(*) from station1;

psql commands

要关闭它,我们可以使用与上面相同的commands:

\timing

输出

正如我们在下面的输出中看到的那样,时间是关闭的

psql commands

  • 在编辑器中编辑commands

如果我们想在任何编辑器中编写commands,我们将使用以下commands:

\e

输出

执行上述commands后,psql 将打开由我们的编辑器环境变量指定的文本编辑**器**,我们可以在其中编写任何commands,如下面的屏幕截图所示:

psql commands

在编辑器中输入以下commands后,首先,我们将其保存,然后关闭编辑器。

Select * from Station1;

关闭编辑器后,psql 将执行commands并返回输出,如下图所示:

psql commands

  • 退出 psql

我们将使用以下commands退出 psql,然后按任意键退出 psql。

\q

输出

执行上述commands后,我们将得到以下输出:

psql commands