我在postgres中创建了一个数据库。它有3个空表。该表的用户tom
为Superuser
以及root
。我以tom
身份登录并连接到mydb
数据库。但是命令\d
或\dt
仍然给出了no relations found
。
postgresql中有SHOW TABLE
的替代?
无法找到解决方案here
我从 - \dt *.*
得到了结果。
答案 0 :(得分:6)
您的search_path
不是问题,可能是您所描述的in the answer here架构权限问题。请与\dn+
一起检查public
架构是否指示postgres
角色的权限,如果没有,则授予它们:GRANT ALL ON SCHEMA public TO public;
答案 1 :(得分:4)
我使用双引号解决了我的问题,例如 \d "Table_name"。因为我的表名像 Foo, Bar 一样大写。希望能帮到人。
答案 2 :(得分:0)
如果您在不同端口上的服务器上运行着不同的postgres实例,那么当您使用特定端口psql -p 5432 databasename(或psql -p 5433 databasename等)连接数据库时,这会有所帮助
答案 3 :(得分:0)
你一定没有在最后添加分号,这就是我经常发生的事情我总是忘记我的分号 -> create table nameoftable()