database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6749 게시물 읽기
No. 6749
Relation ... does not exist
작성자
dba
작성일
2006-06-22 16:19
조회수
4,146

수고하십니다.

풀백업을 받아 놓은 파일을 테스트로 복원을 해봤습니다.

똑같은 DB버전을 다시 설치해서요.

그런데 아래의 에러가 남아있던데, 원인이 뭘까요?

 

ERROR: Relation 'view_servers' does not exist

 

복원된 디비에서 view_servers라는 뷰가 만들어져 있는 것은 확인했거든요?

이건 무슨 에러일까요?

이 글에 대한 댓글이 총 4건 있습니다.

"view_servers" 로 감싸보시거나

view_servers 라는 뷰가 있는 스키마(네임스페이스)를 search_path에 넣고 해보세요

신기배(소타)님이 2006-06-22 16:22에 작성한 댓글입니다.

원인을 알았습니다.

풀백업 덤프 파일을 열어보니,

 

REVOKE ALL on "view_servers" from PUBLIC;
GRANT SELECT on "view_servers" to PUBLIC;
GRANT ALL on "view_servers" to "test";

 

\connect - test

CREATE VIEW "view_servers" as SELECT server_master.name AS server, domain_master.name AS domain, server_master.server AS code FROM s
erver_master, domain_master WHERE (domain_master.domain = server_master.domain);

이렇게 되어 있더군요.

결국 view_servers는 뷰인데, 뷰가 만들어지기 전에 권한을 삭제하고 할당을 하는 작업을 하니 에러가 나는거였습니다.

결국은 풀덤프시 postgresql이 view_server의 생성 작업을 먼저 해줘야 하는데, 이 순서를 바꿔서 하는 군요. 이건 postgresql의 버그인가요.

아래와 같이 풀덤프 되어 있어야 정상인데요...

\connect - test

CREATE VIEW "view_servers" as SELECT server_master.name AS server, domain_master.name AS domain, server_master.server AS code FROM s
erver_master, domain_master WHERE (domain_master.domain = server_master.domain);

 

REVOKE ALL on "view_servers" from PUBLIC;
GRANT SELECT on "view_servers" to PUBLIC;
GRANT ALL on "view_servers" to "test";

 

 

dba님이 2006-06-22 18:03에 작성한 댓글입니다. Edit

8.0 초기 버전까지 그 버그가 있었습니다.

그 버그: 각 객체들의 순서를 DB가 판단해서 restore 할 때 의존성이 앞서는 것부터 restore 하는 것이 정상적이지 않는 버그

 

어떤 버전을 쓰는지 한번 살펴보세요.

 

select version();

 

만일 최신 버전이면, 아직 고쳐지지 않았다고 버그 보고를 해야겠네요.

김상기(ioseph)님이 2006-06-23 03:02에 작성한 댓글입니다.

아 그런 버그가 있었군요.

7.1.1 버전입니다.

 

 

 

dba님이 2006-06-23 09:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6752결과값을 from에서 사용하려면?.. [3]
Andy
2006-06-26
2870
6751사용자 강제 접속해제 방법은?? [2]
김명범
2006-06-26
3411
6750pg_dump 할때 > 말고 >>로 할 수 도 있나요? [1]
초심자
2006-06-25
3124
6749Relation ... does not exist [4]
dba
2006-06-22
4146
6748카타오카씨에게 허락을 받았습니다. [4]
채민석
2006-06-20
3114
6747PL/pgSQL에서 GET DIAGNOSTICS 의 사용방법 좀 알려주세요.. [1]
채민석
2006-06-19
3086
6745중복아이디 생성 [7]
초보
2006-06-15
3825
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.015초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다