dropdb mydbname
シェルで試します。エラーは発生しません。しかし、私が呼び出す\l
と、まだそこにあります。
を使用してpostgresサーバーにログインしましたsudo -u postgres psql
。
私の主な関心事以外に、データベースの外にいるだけでなく、データベースに入る方法を知る必要があります。(テーブルをリストしたい場合の例として)
dropdb mydbname
シェルで試します。エラーは発生しません。しかし、私が呼び出す\l
と、まだそこにあります。
を使用してpostgresサーバーにログインしましたsudo -u postgres psql
。
私の主な関心事以外に、データベースの外にいるだけでなく、データベースに入る方法を知る必要があります。(テーブルをリストしたい場合の例として)
「シェル」と言うときは... psql
unixコマンドラインシェルではなく、シェルを意味しますか?
この問題に直面していると思います:
Postgresql は、スーパーユーザーとして「createdb」を使用してデータベースを作成していませんが、エラーを出力していません
dropdb
つまり、UNIX シェル コマンドの場合、psql コマンドとして使用しようとしています。次の理由により、エラーは発生しません。
コマンドをセミコロンで終了していません。
データベースを削除するには、SQL コマンドを使用できます (ただし、dropdb が機能しなかった理由がわかりません) DROP DATABASE mydbname
。
sudo -u postgres psql -c "DROP DATABASE mydbname"
データベースが使用されていないかどうかを確認することをお勧めします。
select * from pg_stat_activity where datname = 'mydbname';
はsudo -u postgres psql
postgres データベースに接続します。database: を指定する必要がありsudo -u postgres psql mydbname
、\d、\dt、\dv などの metdata コマンドを使用できます。
コンマ (;) がありませんか? このコマンドは私のために働いた:
drop database <database_name>;