dropdb mydbname
我在shell中尝试。它没有给出任何错误。但是当我打电话时\l
它仍然存在。
我使用sudo -u postgres psql
.
除了我主要关心的问题之外,我还需要知道如何进入数据库,而不仅仅是呆在数据库之外。(例如,如果我想列出表格)
dropdb mydbname
我在shell中尝试。它没有给出任何错误。但是当我打电话时\l
它仍然存在。
我使用sudo -u postgres 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 数据库。您需要指定数据库:sudo -u postgres psql mydbname
然后您可以使用元数据命令,如 \d、\dt、\dv、...
当你说“shell”时......你的意思是psql
shell,而不是unix命令行shell?
我会说你遇到了这个问题:
Postgresql 未使用“createdb”作为超级用户创建数据库,但未输出错误
即,当它是一个 unix shell 命令时,您正试图dropdb
用作 psql 命令。因此,您不会收到错误消息:
您没有用分号终止命令。
服务器应该正在运行,然后:
dropdb <database name>
如果服务器没有运行,首先尝试:
pg_ctl start -D <mylocal_db_path> -l <mylogfile.log>
您是否缺少逗号(;)?这个命令对我有用:
drop database <database_name>;