我是PostgreSQL的新手,我对我认为简单的命令DROP DATABASE
和DROPDB
有疑问。为什么以下命令不会删除我的数据库?
postgres=# drop database clientms
postgres-# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------------+----------+-------------+-------------+-----------------------
clientms | clientmsuser | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres-# dropdb clientms
postgres-# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------------+----------+-------------+-------------+-----------------------
clientms | clientmsuser | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
答案 0 :(得分:18)
您在命令后忘记了分号;
。尝试:
DROP DATABASE clientms;
提示符表示不完整的命令:-
而不是=
。这是为了允许多行命令。
答案 1 :(得分:1)
令人讨厌我已经解决了这个问题,然后一年又一次又遇到了它并以不同的方式解决了它因为我没有注意到我已经记录了如何修复它。以下是我的笔记:
http://www.itsupportforum.net/topic/unable-to-delete-drop-postgresql-database/
总之,我无法删除数据库,因为它正被我用来删除它的接口使用。哑。
答案 2 :(得分:1)
使用PGAdmin: 检查您是否与服务器连接,转到数据库并右键单击它并删除数据库。 刷新数据库或再次重新打开服务器!
手动执行:
$ sudo -u postgres psql
# \l // check db in list
# q // to quit that menu
# Drop Database <db_name>;
答案 3 :(得分:0)
显然destroydb clientms
有效(虽然我接受了很多挖掘) [link]