gpt4 book ai didi

postgresql - 在 PostgreSQL 中看不到表

转载 作者:行者123 更新时间:2023-12-03 13:41:02 29 4
gpt4 key购买 nike

我在我的 PostgreSQL 数据库中创建了一个 Hibernate 使用的模式,创建表,持久化实体等等。在我将 Ubuntu 14.04 更新到 16.04 后,我再也看不到这些表格了。不过,操作模式及其表中数据的应用程序仍然可以执行此操作。

这是我使用 sudo -u postgres psql 登录后的一些命令的输出:

postgres=# \dt
No relations found.
postgres=# \dn
List of schemas
Name | Owner
--------+----------
jcat | postgres
public | postgres
(2 rows)

postgres=# \dn+
List of schemas
Name | Owner | Access privileges | Description
--------+----------+----------------------+------------------------
jcat | postgres | postgres=UC/postgres+|
| | =UC/postgres |
public | postgres | postgres=UC/postgres+| standard public schema
| | =UC/postgres |
(2 rows)

我从我发现的几个问题中尝试了以下方法:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA jcat TO public;
grant ALL on SCHEMA jcat to public;

但我仍然看不到我的 table 。任何提示?

编辑:这是要求的信息。
postgres-# \d jcat.*
Did not find any relation named "jcat.*".
postgres-# show search_path
postgres-#

最佳答案

我怀疑您手动连接到的数据库与 ORM 或代码连接的数据库不同(或者至少我遇到了与您相同的问题,结果证明这就是我正在做的)。

如果您使用良好的 GUI 工具在数据库中环顾四周以帮助您找出表的实际结束位置,它可以帮助消除很多困惑。 PGAdmin4 是我选择的工具,可能值得一试:https://www.pgadmin.org/download/pgadmin-4-windows/

通过 psql 连接时,您还可以尝试从命令行设置搜索路径。在 Ubuntu 上看起来像这样:

PGOPTIONS='-c search_path=jcat' psql -h your.host -U youruser

关于postgresql - 在 PostgreSQL 中看不到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543078/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com