ブログBLOG

\ Web・ゲーム開発に関する情報を発信中 /

【簡単】PostgreSQLデータベースの接続セッションの切断と再構築する手順を解説

PostgreSQL , Django
django , postgresql
20240429_postgresql-database-session-remove-tmb

ご覧いただきありがとうございます!
領護(りょうご)です。

PostgreSQLデータベースの接続セッションの切断と再構築する手順を解説します。

目次

実行環境

Ubuntu・・・20.04.4 LTS
PostgreSQL・・・14.2

データベースのセッションを切断する

まず、PostgreSQLのセッションを切断する方法を解説します。

sudo su - postgres
postgres@IPアドレス$

PostgreSQLの管理者であるpostgresユーザーにログインしてユーザーを切り替えます。

psql
postgres=#

「psql」と入力し、PostgreSQLのターミナルにアクセスします。

SELECT pg_terminate_backend(pid)
  FROM pg_stat_activity
 WHERE datname = 'データベース名'
   AND pid <> pg_backend_pid();

SELECT pg_terminate_backend(pid)
  FROM pg_stat_activity
 WHERE datname = 'test_db'
   AND pid <> pg_backend_pid();

指定したデータベースのセッションを切断します。
「データベース名」にはセッションを切断したいデータベース名を入力してください。
これでデータベースのセッションが切断されました。

データベースを削除する

次に、データベースの削除方法を解説します。

drop database データベース名;

drop database test_db;

「データベース名」には削除したいデータベース名を入力してください。

DROP DATABASE

削除が完了すると DROP DATABASEと表示されます。
これでデータベースの削除が完了しました。

データベースを作成する

次に、新しいデータベースを作成する方法を解説します。

postgres@IPアドレス$

「Ctrl」+「Z」を入力して、PostgreSQLのターミナルから離脱します。
postgresユーザーのシェルに戻ります。

createdb データベース名 --owner ユーザー名

createdb test_db --owner user

「データベース名」「ユーザー名」を指定して新しいデータベースを作成します。
「ユーザー名」は、Ubuntuのユーザー名にしておくとログインが便利です。

データベースを確認する

最後に、データベースが正しく再構築されたか確認します。

exit

「exit」と入力して、postgresユーザーからログアウトし、Ubuntuユーザーに戻ります。

psql -U ユーザー名 -d データベース名

psql -U user -d test_db

作成したデータベースに接続します。
作成時に指定した「ユーザー名」「データベース名」を入力して接続します。

データベース名=>\d
Did not find any relations.
(リレーションが見つかりませんでした。)

データベースのターミナルに接続できたら、「\d」と入力して、テーブル一覧を表示します。
テーブルがまだ作成されていない場合は、Did not find any relations.と表示されます。
これで、PostgreSQLデータベースの接続セッションの切断と再構築手順が完了しました。

最後に

PostgreSQLのデータベースの接続セッションを切断して削除する方法を解説しました。
Djangoなどで使用する場合は、セッションが接続されたままデータベースが削除できないことがあります。
是非この方法をお試しください!


\ よかったらシェアしてね /

関連記事