Postgres 9.1 데이터베이스에 inventory라는 테이블을 생성했습니다. psql에서 선택, 삽입 등을 할 수있었습니다.Postgres 테이블이 jdbc가 아닌 psql에 표시됩니다.
그러나 웹app의 서버에서이 테이블에 액세스하려고합니다. Postgres 데이터베이스와 동일한 컴퓨터에 (JDBC를 사용하여) 서버 코드를 설치했습니다. 속성을 만드는 데 사용 사이에 내가 일관되고있어 것을, 나는 동일한 사용자 이름을 사용하고 있는지 확인 만든
org.postgresql.util.PSQLException: ERROR: relation "inventory" does not exist
: 나는 JDBC 코드에서 재고 테이블에 액세스하려고하면이 오류를 얻을 수 연결, psql을 검사하는 사용자, 그리고 런타임시 JDBC 메타 데이터에서 사용자 이름을 가져 오는 것입니다.
이상하게도 내 랩톱 (Tomcat과 webapp 및 postgres 설치 호스팅)에서 비슷한 설정으로 성공했지만 서버에서 db와 webapp를 호스팅 할 때 설치가 작동하지 않습니다 . 그것은 하나의 기계가 아닌 다른 작동하기 때문에
, 나는 가능한 설명은 다음과 생각 :
- I은 사용자 구성에 뭔가 문제가있다. 아마도 Postgres 사용자 권한이 서버의 JDBC에서 액세스 할 때 잘못되었습니다 (서버에 Postgres 설치를 설정하지 않은 것 같습니다).
- 잘못된 스키마가 나타납니다. 내가 어떻게 알 겠어?
- 어떻게 든 잘못된 컴퓨터를 치고 있습니다. 나는
select inet_server_addr();
을 시도했지만, 127.0.0.1은 매우 유용하지 않습니다. 확인하는 더 좋은 방법이 있습니까?
다른 대화 ("relation not found" using Postgres within an Eclipse Hibernate application)에서 나는 많은 사람들이 도움을 받아서 psql에서 테이블이 나타나는지 알고 싶어했습니다. 그 문제에 대한 대답은 '아니오'였고 그는 테이블을 만들면되었습니다. 나에게 대답은 '예'이다. 나는 그 표를 볼 수 없다.
데이터베이스에 연결할 수 있지만 내 사용자가 소유하고있는 테이블을 볼 수없는 이유는 무엇입니까? 이것은 몇 가지 가능성 중 하나이어야한다
감사
감사합니다. 문제는 비슷한 이름의 데이터베이스가 2 개 있었는데 잘못된 데이터베이스에 연결하는 중이었습니다. pg_stat_activity의 쿼리는 그 것을 명확하게 만들었습니다. – user3221325