无法在 Postgres 中删除数据库
Posted
技术标签:
【中文标题】无法在 Postgres 中删除数据库【英文标题】:Unable to drop database in Postgres 【发布时间】:2019-06-02 02:18:15 【问题描述】:我是一般数据库的新手,尤其是 Postgres。 我做错了,因为我无法删除数据库。
我搜索过类似的问题,但总是有人丢失或不知道 ID/密码。在这种情况下,所有者和超级用户是 postgres,但我仍然无法删除我的测试数据库。
test
是一个空数据库,test_creation
是一个表。
【问题讨论】:
请edit您的帖子并将数据显示为文本,而不是图像。此外,您的用户fmavianemac
不属于任何组,也没有权限。因此,作为该用户,您无法对 test
数据库执行任何操作。你的确切问题是什么?也许你想问如何恢复/重置数据库的root
/postgres
密码?
***.com/questions/10845998/…
【参考方案1】:
您需要使用以下方式连接到psql
:
PGPASSWORD=your_password_here psql -h localhost -U your_usename;
然后尝试删除数据库。对于 UI,您可以使用任何软件,例如 pgAdmin III,因为您是 Postgres 新手,所以对您来说会更容易
【讨论】:
【参考方案2】:只有超级用户或数据库所有者才能删除它。
您的提示显示您没有以超级用户身份连接,并且您显然不是数据库所有者。
要删除数据库,您还必须确保没有人连接到它。
【讨论】:
我不明白。我作为 postgress 连接,在角色中被标记为超级用户。 现在我得到它 '>' for user '#' for root @Treizh:psql postgres
将您连接到名为 postgres 的数据库,而不是作为用户 postgres。要以超级用户身份连接,您需要使用 psql -U postgres ...
@a_horse_with_no_name:谢谢,所以如果我连接了一个类型 psql postgres 作为我连接的哪个用户?
如果不指定数据库用户,默认取自PGUSER
环境变量,如果没有设置,则使用操作系统用户名以上是关于无法在 Postgres 中删除数据库的主要内容,如果未能解决你的问题,请参考以下文章