PostgresSqlデータベースを一度削除してエラーを報告することを忘れないでください:データベースソリューションを使用している他のセッションはN個あります

1.データベースの構築

1、yum指定ディレクトリインストール

https://blog.csdn.net/llwy1428/article/details/105143053

2、yumは直接インストールします

https://blog.csdn.net/llwy1428/article/details/102486414

3.コンパイルしてインストールします

https://blog.csdn.net/llwy1428/article/details/95444151

4.PostgreSqlの基本操作

https://blog.csdn.net/llwy1428/article/details/102598732

2.発生した問題

PostgreSQL 9.2以降では、次のステートメントを実行します。

postgres=# drop database dbtest;
# 执行删除指定数据库的时候,报以下错误
ERROR:  database "dbtest" is being accessed by other users
DETAIL:  There is 2 other session using the database.

または、Navicatなどのサードパーティのデータベース接続ツールを使用して、指定したデータベースを削除するときに次のエラーを報告します。

これは、現時点で2つのクライアントがこのデータベースに接続しており、現時点ではデータベースを削除できないことを意味します。

このデータベースを強制的に削除する場合は、次のコマンドを実行してください。

 

postgres=# SELECT pg_terminate_backend(pg_stat_activity.pid)
postgres-# FROM pg_stat_activity
postgres-# WHERE datname='dbtest' AND pid<>pg_backend_pid();
 pg_terminate_backend 
----------------------
 t
 t
 t
(3 rows)

上記のステートメントを実行した後、DROP操作を実行した後、データベースを削除できます。
上記のステートメントは説明します:

pg_terminate_backend:データベースとの接続を終了するために使用されるプロセスIDの機能。

pg_stat_activity:サービスプロセスの属性とステータスを格納するために使用されるシステムテーブルです。

pg_backend_pid():現在のセッションに接続されているサーバープロセスのIDを取得するシステム関数です。

 

このとき、データベースを削除する操作を行ってください。

postgres=# drop database dbtest;
DROP DATABASE

データベースを強制的に削除しました!

 

この時点で、データベースを削除するとエラーが報告されます。データベースを使用する他のN個のセッションの問題は正常に解決されました。

 

展開

1.YumはPgAdmin4をインストールして構成します

https://blog.csdn.net/llwy1428/article/details/102486511

2.データベースインストール拡張機能

https://blog.csdn.net/llwy1428/article/details/105167524

おすすめ

転載: blog.csdn.net/llwy1428/article/details/103681734