PostgreSQL - 没有找到任何关系。

时间:2015-05-14 04:26:58

标签: postgresql

我对开发者世界很陌生,所以如果我没有清楚地表达我的问题,我会道歉,如果我做错了,请不要犹豫。谢谢。

在类型命令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

我仍然得到了结果:     没有找到任何关系。

我错过了什么?我该如何解决? 请在建议中给予建议并感谢所有人。

1 个答案:

答案 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)