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.データベースインストール拡張機能