【发布时间】:2014-02-11 19:19:15
【问题描述】:
我在 Postgres 9.1 数据库中创建了一个名为 inventory 的表。我已经能够从 psql 中选择、插入等。
但是,我正在尝试从 web 应用程序的服务器访问此表。我已将服务器代码(使用 JDBC)安装在与 Postgres 数据库相同的机器上。当我尝试从 JDBC 代码访问库存表时,我收到此错误:
org.postgresql.util.PSQLException:错误:关系“库存”不存在
我已确保我使用相同的用户名,我在用于创建连接的属性、我在 psql 中检查的用户以及从 JDBC 元数据中获取用户名之间保持一致运行时。
奇怪的是,我在笔记本电脑上进行了类似的设置(托管 Tomcat 和 webapp 以及 postgres 安装都在那里),但是当我在服务器上托管 db 和 webapp 时设置不起作用。
由于它适用于一台机器而不是另一台机器,我认为以下是可能的解释:
- 我的用户配置有问题。从服务器上的 JDBC 访问可能是 Postgres 用户权限错误(我没有在服务器上设置 Postgres 安装)。
- 我遇到了错误的架构。我怎么知道?
- 不知何故我打错了机器。我试过
select inet_server_addr();,但它只说127.0.0.1,这不是很有用。有没有更好的检查方法?
在另一个对话中("relation not found" using Postgres within an Eclipse Hibernate application),我看到很多人试图帮助想知道该表是否出现在 psql 中。对于那个问题,答案是否定的,他只需要创建表。对我来说,答案是肯定的,我就是看不到桌子。
知道为什么我可以连接到数据库但看不到我的用户拥有的表吗?
谢谢
【问题讨论】:
标签: postgresql