2011-03-23 3 views
0

postgresql (8.2) 데이터베이스의 일부 테이블을 새 스키마로 이동했습니다. 처음에는 "사용자"가 새 스키마의 테이블을 볼 수 없었지만이 새 스키마를보기 위해 search_path를 설정했습니다.웹 응용 프로그램에서 새 postgresql 스키마의 테이블을 볼 수 없습니다.

최대 절전 모드를 사용하는 간단한 웹 응용 프로그램으로이 테이블에 액세스합니다. 처음에는 "user"사용자를 사용하는 웹 응용 프로그램에서 search_path를 설정 한 후에도 테이블을 볼 수 없었습니다. 나는 결국 최대 절전 모드 설정 파일에 default-schema를 설정했다. 그러나이 속성을 설정하지 말아야한다는 것을 읽었을 때 나는 이해했다. 이 응용 프로그램에서 여전히 새 스키마의 테이블을 볼 수없는 몇 가지 JDBC 쿼리가 있습니다.

postgresql 문서를 탐색했는데 내 문제의 원인을 찾을 수 없습니다. 내가 누락 된 간단한 것이 있습니까?

+0

은 "검색 경로를 변경"않았다 당신은 어떻게 당신이 (즉, "자신")에 로그인 한 사용자를 변경하려면 특별한 권한이 필요하지 않습니다 ? 당신은'ALTER USER'를 사용 했습니까? 아니면 search_path를 설정 했습니까? 'ALTER USER'를 커밋 했습니까? –

+0

ALTER USER없이 "SET search_path TO mystuff, myotherstuff"명령을 사용했습니다. 사용자를 변경할 수있는 권한이 없습니다. – mcgyver5

+2

SET search_path가 지속되지 않는다고 생각합니다. 현재 세션에서만 유효합니다. 변경 사항을 영구히 적용하려면 ALTER USER를 사용해야합니다. 나는 너를 "너 자신"변경할 수 있는다 것을 생각한다. –

답변

1

SET search_path은 유지되지 않습니다. 현재 세션에서만 유효합니다.

당신은 영구적으로 변경하는 ALTER USER를 사용해야하지만,

관련 문제