[解決済み] postgresql のセッション/接続を切断する
2022-03-21 03:56:12
質問
Postgresql の接続をすべて切断するにはどうすればよいですか?
を試しています。
rake db:drop
が、出る。
ERROR: database "database_name" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.
から見えるプロセスをシャットダウンしてみました。
ps -ef | grep postgres
が、これもうまくいきません。
kill: kill 2358 failed: operation not permitted
解決方法は?
を使用することができます。 pg_terminate_backend() を使用して接続を切断します。この関数を使用するには、スーパーユーザーである必要があります。これはすべてのオペレーティングシステムで同じように動作します。
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'database_name'
;
このクエリを実行する前に リブーク のCONNECT権限で、新規の接続を回避することができます。
REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
Postgres 8.4-9.1 を使用している場合、pid の代わりに procpid を使用します。
SELECT
pg_terminate_backend(procpid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
procpid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'database_name'
;
関連
-
[解決済み] psql: FATAL: データベース "<user>" が存在しない
-
ORA-01034 を解決する: ORACLE は利用できません ORA-27101: 共有メモリ領域が存在しない
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] PostgreSQLデータベースへのSQLダンプのインポート
-
[解決済み] redis-serverを停止するにはどうすればよいですか?
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
INSERT EXEC文は入れ子にできません。
-
01. プロシージャの結果セットを持つ一時テーブルへのSELECT INTO
-
MongoDBコマンド
-
ORA-06550 "の解決策。1 行目、7 列目"
-
mysql: この操作には (少なくとも 1 つの) RELOAD 権限が必要です。
-
pymongo.errors.OperationFailure:オーバーフローソートステージのバッファリングデータの使用量が内部制限を超える
-
[解決済み] データベースの水平方向と垂直方向の拡大縮小の違い【終了しました
-
[解決済み] PostgreSQLデータベースにアクティブな接続がある場合、そのデータベースを削除する方法は?
-
[解決済み] アプリケーション開発者が陥りやすいデータベース開発の失敗例【終了しました
-
[解決済み] PostgreSQLでタイムスタンプを自動更新する方法