1

dropdb mydbname我在shell中尝试。它没有给出任何错误。但是当我打电话时\l它仍然存在。

我使用sudo -u postgres psql.

除了我主要关心的问题之外,我还需要知道如何进入数据库,而不仅仅是呆在数据库之外。(例如,如果我想列出表格)

4

4 回答 4

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 psql连接到 postgres 数据库。您需要指定数据库:sudo -u postgres psql mydbname然后您可以使用元数据命令,如 \d、\dt、\dv、...

于 2012-11-16T15:18:53.000 回答
5

当你说“shell”时......你的意思是psqlshell,而不是unix命令行shell?

我会说你遇到了这个问题:

Postgresql 未使用“createdb”作为超级用户创建数据库,但未输出错误

即,当它是一个 unix shell 命令时,您正试图dropdb用作 psql 命令。因此,您不会收到错误消息:

在psql中,为什么有些命令没有效果?

您没有用分号终止命令。

于 2012-11-16T23:52:18.807 回答
1

服务器应该正在运行,然后:

dropdb <database name>

如果服务器没有运行,首先尝试:

pg_ctl start -D <mylocal_db_path> -l <mylogfile.log>
于 2020-06-07T21:01:32.763 回答
0

您是否缺少逗号(;)?这个命令对我有用:

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