728x90
반응형

 

PostgreSQL Schema 접근 에러

 

스키마, 테이블도 만든 상태이나

테이블 조회시 아래와 같은 오류가 나는 경우

"ERROR: 오류: "TABLE_NAME" 이름의 릴레이션(relation)이 없습니다."

 

 

해결방법

1. 스키마명.테이블명으로 조회

2. 바라보고 있는 스키마 변경

 

=============== 요 약 ===============

1. SELECT * FROM 스키마명.테이블명;

 

2-1. SHOW search_path;

2-2. SET search_path TO "적용할스키마명", public;

2-3. SELECT pg_reload_conf();

==================================

 

 

 

 =========================추가 설명=========================

2-1. SHOW search_path; 실행하기

["$user", public] 혹은 ["현재적용된스키마명", public] 으로 나타난다.

조회하고자 하는 테이블의 스키마가 다른경우 해당 테이블을 조회할 수 없고 

"테이블명" 이름의 릴레이션(relation)이 없습니다." 라고 에러 메시지가 나타난다.

 

 

2.1-A) 현재 사용하고자 하는 툴 내에서만 변경할 경우

> SET search_path TO "적용할스키마명", public;

다시 해당 테이블을 조회하면 정상 작동하는 것을 확인할 수 있다.

 

 

2.1-B) 영구적으로 해당 스키마를 적용할 경우

"postgresql.conf" 파일을 찾아 search_path를 수정해줘야 한다.

 

아래 쿼리로 파일의 위치를 찾는다.

SELECT * FROM pg_settings WHERE category = 'File Locations';

 

postgresql.conf 파일을 에디터로 열어 search_path를 수정한다.

 

접근한 사용자로 적용할 경우 아래와 같이 적용하면 된다.

search_path='"$user", public'

 

2-3. SELECT pg_reload_conf(); 실행하기

다시 해당 테이블을 조회하면 정상 작동하는 것을 확인할 수 있다.

 

728x90
반응형

+ Recent posts