我在shell中尝试dropdb mydbname
。它不会给出任何错误。但仍然当我打电话给\l
它仍然在那里。drop db in postgres
我使用sudo -u postgres psql
登录到postgres服务器。
除了我主要关心的问题之外,我需要知道如何进入数据库,而不是仅仅停留在数据库之外。 (作为一个例子,如果我要列出表)
我在shell中尝试dropdb mydbname
。它不会给出任何错误。但仍然当我打电话给\l
它仍然在那里。drop db in postgres
我使用sudo -u postgres psql
登录到postgres服务器。
除了我主要关心的问题之外,我需要知道如何进入数据库,而不是仅仅停留在数据库之外。 (作为一个例子,如果我要列出表)
为了放弃你可以使用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等metdata命令...
dropdb应该做同样的事情 –
99%的管理PostgreSQL数据库的任务不需要'postgres'系统用户的su或sudo。 – titanofold
当您说“shell”...您的意思是psql
shell,而不是unix命令行shell?
我说你正在运行到这个问题:
Postgresql not creating db with “createdb” as superuser, yet not outputting errors
即你正在尝试使用dropdb
作为psql的命令,当它是一个UNIX shell命令。你没有得到一个错误,因为这样:
In psql, why do some commands have no effect?
你没有用分号终止命令。
您能否重新说明这个问题。我无法理解你正在尝试做什么 –
你能否显示你的终端输出为'dropdb mydbname'和psql的'\ l'元命令? – mys
您确定要连接到正确的Postgres服务器吗? –