[解決済み] Postgres のデータベース削除エラー: pq: 現在開いているデータベースを削除できません。
質問内容
現在接続しているデータベースをこのように落とそうとしているのですが、このようなエラーが出てしまいます。
pq: cannot drop the currently open database
DROP DATABASEステートメントを実行するためにdbConn.Execを使用することができないと思うので、接続を閉じなければならない場合、データベースをドロップすることをどのように期待されているのか、よく理解できません。
dbConn *sql.DB
func stuff() error {
_, err := dbConn.Exec(fmt.Sprintf(`DROP DATABASE %s;`, dbName))
if err != nil {
return err
}
return dbConn.Close()
}
別のデータベースに接続して、その接続で実行すればいいのでしょうが、それがうまくいくかどうかもわからないし、別のデータベースを落とすためだけに新しいデータベースに接続しなければならないのは本当におかしいと思うのです。何かアイデアはありますか?ありがとうございます。
解決方法は?
なぜなら、あなたが実行しようとしているのは
dropDb
コマンドを実行します。
postgresのドキュメントによると。
<ブロッククオート削除しようとしているデータベースには接続できません。代わりに、template1または他のデータベースに接続し、このコマンドを再度実行してください。
データベース全体を削除すると、そのデータベースを参照しているすべての接続が無効になるため、別のデータベースに接続して、このコマンドを再度実行することが推奨されるからです。
もし、別のクライアントがデータベースに接続している状況で、どうしてもそのデータベースを削除したい場合は、その特定のデータベースからすべてのクライアントを強制的に切断することができます。
例えば、データベースからすべてのクライアントを強制的に切断するには、次のようにします。
mydb
:
PostgreSQL 9.2 の場合
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';
エルゼ
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';
注 このコマンドはスーパーユーザー権限が必要です。
次に、別のデータベースに接続して
dropDb
コマンドを再度実行します。
関連
-
[解決済み】PG COPY エラー: 整数の入力構文が無効です
-
[解決済み] カラムのNULL値がNOT-NULL制約に違反する PostgreSQL
-
[解決済み] 私のシステムでpostgresを実行することができません。postgres is not in the sudoers file.と表示されます。この件は報告されます` [closed].
-
[解決済み] それぞれが外部キーである要素の PostgreSQL 配列
-
[解決済み] PostgreSQLのインストール中にデータベースクラスタへのSQLモジュールのロードに失敗しました。
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] PostgreSQLデータベースにアクティブな接続がある場合、そのデータベースを削除する方法は?
-
[解決済み] Postgres の全テーブルの行数を求めるには?
-
[解決済み] Postgres で、あるデータベースから別のデータベースにテーブルをコピーする
-
[解決済み】現在実行中のファイルのディレクトリを取得するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Postgresql 9.2 pg_dump のバージョンの不一致
-
[解決済み] PostgreSQLを使用するRailsでエラー 'fe_sendauth: no password supplied' を解決するにはどうすればよいですか?
-
[解決済み] psql: FATAL: データベース "<user>" が存在しない
-
[解決済み] SequelizeConnectionRefusedError: ECONNREFUSED 127.0.0.1:5432 を接続し、docker を使用して sequelize を使用する場合。
-
[解決済み] ERROR: 読み取り専用トランザクションで CREATE TABLE を実行できません。
-
[解決済み] 私のシステムでpostgresを実行することができません。postgres is not in the sudoers file.と表示されます。この件は報告されます` [closed].
-
[解決済み] PostgreSQL: 権限不足
-
PostgreSQL学習パート5 - ローカルpsqlのパスワードの有無の設定
-
複雑なクエリのPG実行でERROR: unknownからtextへの変換関数が見つからなかった
-
Windows10でPostgresqlをインストールし、エラーを解決する。" データベースクラスタへのSQLモジュールのロードに失敗しました。"