我对开发者世界很陌生,所以如果我没有清楚地表达我的问题,我会道歉,如果我做错了,请不要犹豫。谢谢。
在类型命令no relations found
上设置PostgreSQL数据库timlin=# \d
时遇到了这个问题。
我确实尝试过以下解决方案来修复,但它没有用。 postgresql database owner can't access database - "No relations found."
以下是我的情况
timlin=# \dn+
List of schemas
Name | Owner | Access privileges | Description
--------+--------+-------------------+————————————
public | timlin | timlin=UC/timlin +| standard public schema
| | =UC/timlin |
(1 row)
timlin=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------+--------+----------+-------------+-------------+--------------------
postgres | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
psqlapp | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
psqlapp_development | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
psqlapp_test | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
psqlappdemo | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/timlin +
| | | | | timlin=CTc/timlin +
| | | | | psqlapp=CTc/timlin
template0 | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/timlin +
| | | | | timlin=CTc/timlin
template1 | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/timlin +
| | | | | timlin=CTc/timlin
timlin | timlin | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(8 rows)
timlin=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
psqlapp | | {}
timlin | Superuser, Create role, Create DB, Replication | {}
我检查每一个,并且找不到先前的灵魂之间的任何差异。 我试试的时候
timlin=# \d
我仍然得到了结果: 没有找到任何关系。
我错过了什么?我该如何解决? 请在建议中给予建议并感谢所有人。
答案 0 :(得分:2)
这意味着数据库 timlin 不包含公共架构中的任何表格(\d
通常会列出这些表格。“
听起来你创建了一个空数据库,例如:
createdb -h localhost -U postgres timlin
在这种情况下,创建后,\d
会立即返回:
没有发现任何关系。
您需要显式创建一个或多个表,以便查看\d
输出中列出的任何内容。
e.g。如果您执行以下操作:
create table foo (id serial, val text);
然后执行\d
,将产生以下输出:
List of relations
Schema | Name | Type | Owner
--------+------------+----------+----------
public | foo | table | postgres
public | foo_id_seq | sequence | postgres
(2 rows)