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

Postgresドロップデータベースエラー:pq:現在開いているデータベースをドロップできません

    なぜなら、dropDbを実行しようとしているからです。 接続を開いているデータベースに対するコマンド。

    postgresのドキュメントによると:

    データベース全体を削除すると、そのデータベースを参照している開いている接続がすべて無効になるため、これは理にかなっています。したがって、別のデータベースに接続して、このコマンドを再度実行することをお勧めします。

    別のクライアントがデータベースに接続されていて、本当にデータベースを削除したいという状況に直面している場合は、その特定のデータベースからすべてのクライアントを強制的に切断できます。

    たとえば、データベース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を実行できます。 もう一度コマンドします。



    1. PL / Python&postgreSQL:多くの列のテーブルを返すための最良の方法は何ですか?

    2. ルームライブラリを使用してstrftimeとdatetimeを正しく使用するにはどうすればよいですか?

    3. php password_verify()ハッシュとパスが一致しません

    4. Oracleで複数列の合計を計算する方法