1

dropdb mydbnameシェルで試します。エラーは発生しません。しかし、私が呼び出す\lと、まだそこにあります。

を使用してpostgresサーバーにログインしましたsudo -u postgres psql

私の主な関心事以外に、データベースの外にいるだけでなく、データベースに入る方法を知る必要があります。(テーブルをリストしたい場合の例として)

4

4 に答える 4

5

「シェル」と言うときは... psqlunixコマンドラインシェルではなく、シェルを意味しますか?

この問題に直面していると思います:

Postgresql は、スーパーユーザーとして「createdb」を使用してデータベースを作成していませんが、エラーを出力していません

dropdbつまり、UNIX シェル コマンドの場合、psql コマンドとして使用しようとしています。次の理由により、エラーは発生しません。

psql で、一部のコマンドが効果がないのはなぜですか?

コマンドをセミコロンで終了していません。

于 2012-11-16T23:52:18.807 に答える
5

データベースを削除するには、SQL コマンドを使用できます (ただし、dropdb が機能しなかった理由がわかりません) DROP DATABASE mydbname

sudo -u postgres psql -c "DROP DATABASE mydbname"

データベースが使用されていないかどうかを確認することをお勧めします。

select * from pg_stat_activity where datname = 'mydbname';

sudo -u postgres psqlpostgres データベースに接続します。database: を指定する必要がありsudo -u postgres psql mydbname、\d、\dt、\dv などの metdata コマンドを使用できます。

于 2012-11-16T15:18:53.000 に答える
0

コンマ (;) がありませんか? このコマンドは私のために働いた:

drop database <database_name>;
于 2019-06-04T20:46:49.590 に答える