

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# search\$1path
<a name="r_search_path"></a>

## 값(기본값은 굵은 글꼴로 표시)
<a name="r_search_path-values"></a>

** '\$1 user', 공개, ***schema\$1names*

기존 스키마 이름이 쉼표로 구분된 목록입니다. ** '\$1 user'**가 있으면 `SESSION_USER` 과 같은 이름을 가진 스키마가 대체되고, 그렇지 않으면 무시됩니다.

## Description
<a name="r_search_path-description"></a>

스키마 구성요소가 없는 단순 이름으로 객체(테이블, 함수 등)를 참조할 때 스키마의 검색 순서를 지정합니다.
+ 외부 스키마 및 테이블에서는 검색 경로가 지원되지 않습니다. 외부 테이블은 명시적으로 외부 스키마로 정규화해야 합니다. 데이터 공유는 외부 데이터로 작동하므로 검색 경로로 지원되지 않습니다.
+ 특정 대상 스키마 없이 생성된 객체는 검색 경로에서 첫 번째 스키마 자리에 위치합니다. 검색 경로가 비어 있으면 시스템이 오류를 반환합니다.
+ 다른 스키마에 동일한 이름의 객체가 존재할 경우 검색 경로에서 먼저 발견되는 객체가 사용됩니다.
+ 검색 경로에서 어떤 스키마에도 존재하지 않는 객체는 정규화(점으로 구분된) 이름으로 자신이 속하는 스키마를 지정해야만 참조할 수 있습니다.
+ 시스템 카탈로그 스키마인 pg\$1catalog는 항상 검색됩니다. 이 스키마가 경로에 언급되면 지정된 순서에 따라 검색됩니다. 그렇지 않으면 모든 경로 항목 이전에 검색됩니다.
+ 현재 세션의 임시 테이블 스키마인 pg\$1temp\$1nnn은 존재하는 경우에 한해 항상 검색됩니다. 별칭인 pg\$1temp를 사용하여 경로에 명시적으로 나열할 수도 있습니다. 경로에 나열되지 않으면 pg\$1catalog까지도 앞서서 가장 먼저 검색됩니다. 다만 임시 스키마에서는 릴레이션 이름(테이블, 뷰)만 검색됩니다. 함수 이름은 검색되지 않습니다.

## 예제
<a name="r_search_path-example"></a>

다음은 ENTERPRISE 스키마를 생성한 후 search\$1path를 새로운 스키마로 설정하는 예입니다.

```
create schema enterprise;
set search_path to enterprise;
show search_path;

 search_path
-------------
 enterprise
(1 row)
```

다음은 ENTERPRISE 스키마를 기본 search\$1path에 추가하는 예입니다.

```
set search_path to '$user', public, enterprise;
show search_path;

         search_path
-----------------------------
 "$user", public, enterprise
(1 row)
```

다음은 FRONTIER 테이블을 ENTERPRISE 스키마에 추가하는 예입니다.

```
create table enterprise.frontier (c1 int);
```

이때 PUBLIC.FRONTIER 테이블을 동일한 데이터베이스에 생성한 후에 사용자가 쿼리에서 스키마 이름을 지정하지 않으면 PUBLIC.FRONTIER가 ENTERPRISE.FRONTIER보다 우선합니다.

```
create table public.frontier(c1 int);
insert into enterprise.frontier values(1);
select * from frontier;

frontier
----
(0 rows)

select * from enterprise.frontier;

c1
----
1
(1 row)
```