FC2ブログ

    nEST's SPACE-Blog

    コンピュータ、旅行などがテーマの日記帳です

    PostgreSQLのデータベースにアクセスしているセッションを切断する

     
    突然のDARK SOULS2 DLC延期にもめげずに更新。
    今回はPostgreSQLの覚え書き。

    ●環境:PostgreSQL8.4.21

    リネームしようとしたデータベースに誰かが接続している場合など、下記のエラーによりSQL処理が中断する事がある。
    ERROR:データベース"SampleDatabase"は他のユーザからアクセスされています
    DETAIL:他にこのデータベースを使っている?個のセッションがあります。
    このような場合は対象のデータベースにアクセスしているセッションのPIDを確認した後、該当セッションを手動で切断してやればよい。

    ●特定のデータベースにアクセスしているセッションのPIDを調べるSQL

    現在実施中の処理内容や開始時間を確認できるビュー:pg_stat_activity」に対してSelect文を実行し、PIDの格納されている列「procpid」の値を求める。
    また、ビュー:pg_stat_activityの詳細は「コチラのページ」が非常に参考になる。

    実行例.
    # select procpid,datname from pg_stat_activity where datname='SampleDatabase';

    procpid| datname
    --------+--------------
    11111 | SampleDatabase

    ●データベースにアクセスしている任意のセッションを切断するSQL

    前の手順で確認したprocpidを指定し、セッションを切断する。

    実行例.
    # select pg_terminate_backend (11111);

    pg_terminate_backend
    ----------------------
     t
    (1 行 )
    上記SQLの実行後に先のSQL「# select procpid,datname from pg_stat_activity where datname='SampleDatabase';」を再度実行し、該当のprocpidがヒットしなければ成功。

     
     
    関連記事
    スポンサーサイト
    1. 2014/09/25(木) 00:03:01|
    2. PostgreSQL
    3. | トラックバック:0
    4. | コメント:0
    <<失ってはじめてわかるモノ | ホーム | pcAnywhere販売終了について>>

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバック URL
    http://nestblog.blog.fc2.com/tb.php/86-36a71df9
    この記事にトラックバックする(FC2ブログユーザー)

    プロフィール

    管理人NEST

    Author:管理人NEST
    nEST's SPACEへようこそ。
    書きたい事を適当に書き連ねています。
    HP
    自転車ブログ nEST's SPACE-Bicycleもよろしく。

    最新記事

    最新コメント

    最新トラックバック

    月別アーカイブ

    カテゴリ

    未分類 (1)
    GAME (20)
    雑記 (57)
    PostgreSQL (7)
    Windows (45)
    サイト運営 (6)
    MANGA (1)
    スマートフォン (19)
    Oracle (6)
    健康 (2)
    Linux (21)
    仮想化 (4)
    車 (7)
    自転車旅行 (3)
    自転車パーツ・ウェア (2)
    自転車イベント (5)
    自転車 (15)

    ブログ用カウンター

    検索フォーム

    RSSリンクの表示

    リンク

    このブログをリンクに追加する

    Powered By FC2ブログ

    今すぐブログを作ろう!

    Powered By FC2ブログ