dropdb mydb在postgres中不起作用

时间:2017-07-18 16:57:22

标签: sql database postgresql

我是postgresql的完全初学者。我创建了一个名为iswdp的测试数据库,现在我想删除它。当我这样做时:

dropdb iswdp

该命令不返回任何输出,当我列出表时,iswdp仍然存在。

dropdb iswdp;

返回:

错误:“dropdb”或附近的语法错误 第1行:dropdb iswdp

我用过:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname = current_database()
AND pid <> pg_backend_pid();

我从另一个stackoverflow帖子中发现要断开与所有数据库的连接,然后再次尝试dropdb iswdp,结果相同。

我被困住了,有人能帮帮我吗?我正在使用bash终端在linux mint上做这个。

2 个答案:

答案 0 :(得分:3)

命令dropdb是从shell提示符发出的命令。从sql提示符(如psql)开始,您需要发出DROP DATABASE命令。

我建议打开psql并发出DROP DATABASE iswdp;。这应该有用。

您可能会收到类似ERROR: cannot drop the currently open database的错误,如果您连接到iswdp并尝试删除它,就会发生错误。如果发生这种情况,请尝试连接到postgres数据库,并发出相同的DROP DATABASE命令。它应该工作。

答案 1 :(得分:1)

dropdb是一个来自shell的命令,而不是来自psql程序,来自psql,commnado是drop database iswp;