sql >> データベース >  >> RDS >> PostgreSQL

アクティブな接続がある場合にPostgreSQLデータベースを削除するにはどうすればよいですか?

    これにより、あなた以外の既存の接続が削除されます:

    クエリpg_stat_activity 強制終了するpid値を取得してから、SELECT pg_terminate_backend(pid int)を発行します。 彼らに。

    PostgreSQL 9.2以降:

    SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
      AND pid <> pg_backend_pid();
    

    PostgreSQL 9.1以下:

    SELECT pg_terminate_backend(pg_stat_activity.procpid)
    FROM pg_stat_activity
    WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
      AND procpid <> pg_backend_pid();
    

    全員を切断したら、切断して、ドロップしようとしているデータベースではない別のデータベースからの接続からDROPDATABASEコマンドを発行する必要があります。

    procpidの名前の変更に注意してください pidへの列 。このメーリングリストのスレッドをご覧ください。



    1. CentOS6にCassandrav3をインストールする方法

    2. データベース設計

    3. Oracleにレコードが存在するかどうかを確認する最も効率的な方法は何ですか?

    4. FORCEPLANを使用してT-SQL結合のクエリオプティマイザをオーバーライドする