在 PostgreSQL 中显示连接
pg_stat_activity
是一个数据库视图。该视图是一个虚拟表,出于安全原因使用它。
它基于数据库中的一个或多个表存储查询,而不是重复编写相同的查询。
PostgreSQL 中连接/查询的状态
pg_stat_activity
显示与当前活动相关的信息。pg_stat_activity
中有一个列类型列表。
其中,所有都不是必需的。假设你想查看 psql 中的活动连接。
因此,你可以运行以下命令。
SELECT
pid
,datname
,usename
,application_name
,client_hostname
,client_port
,backend_start
,query_start
,query
,state
FROM pg_stat_activity
WHERE state = 'active';
输出:
postgres-# WHERE state = 'active';
pid | datname | usename | application_name | client_hostname | client_port | backend_start | query_start | query | state
-------+----------+----------+------------------+-----------------+-------------+------------------------------+-------------------------------+-------------------------+--------
24256 | postgres | postgres | psql | | 1068 | 2022-04-02 16:03:07.20189+06 | 2022-04-02 16:03:10.382665+06 | SELECT +| active
| | | | | | | | pid +|
| | | | | | | | ,datname +|
| | | | | | | | ,usename +|
| | | | | | | | ,application_name +|
| | | | | | | | ,client_hostname +|
| | | | | | | | ,client_port +|
| | | | | | | | ,backend_start +|
| | | | | | | | ,query_start +|
| | | | | | | | ,query +|
| | | | | | | | ,state +|
| | | | | | | | FROM pg_stat_activity +|
| WHERE state = 'active'; |
(1 row)
postgres=#
有列类型列表。其中一些我们在上面的 SQL 命令中使用。
这是表中的描述。
列名 | 描述 |
---|---|
datname |
数据库名称 |
application_name |
连接到此后端的应用程序。 |
client_host-name |
对于 localhost ,它将是空白的,但会有一个用于远程连接的主机名。 |
client_port |
客户端用于与后端通信的 TCP 端口。 |
backend_start |
此时间戳显示客户端何时连接。 |
query_start |
此时间戳显示此查询何时开始。如果数据库被禁用,它将显示上次查询的开始时间。 |
query |
此文本显示实际查询。 |
status |
这显示了数据库的状态。 |
这是所有列名和有关它的详细信息。
在 PostgreSQL 中删除数据库
删除数据库的一般命令如下所示。
DROP DATABASE [IF EXISTS] <database_name>;
但是当你与数据库建立活动连接时,可能会出现问题。在这种情况下,你需要执行以下操作。
-
首先,检查数据库是否处于活动状态。使用以下查询,你可以查看特定数据库的所有详细信息。
SELECT * FROM pg_stat_activity WHERE datname = <name of the database>;
-
然后,你需要杀死那个数据库的进程。假设你有一个名为
Shop
的活动数据库。现在让我们终止该数据库的进程。
SELECT pg_terminate_backend (pid) FROM pg_stat_activity WHERE pg_stat_activity = 'Shop';
现在,你已成功终止该过程。
-
执行
DROP
命令,如下所示。DROP DATABASE Shop
通过执行这些步骤,你应该能够删除任何活动的数据库。
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。
在 PostgreSQL 中将平均值舍入到小数点后 2 位
发布时间:2023/03/20 浏览次数:186 分类:PostgreSQL
-
本文介绍如何将 PostgreSQL 中的平均值四舍五入到小数点后 2 位。