

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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\_path
<a name="r_search_path"></a>

## 值 (粗體為預設值)
<a name="r_search_path-values"></a>

**'$user', public, ***schema\_names*

以逗號分隔的現有結構描述名稱清單。如果有 **'$user'**，清單會取代和 `SESSION_USER` 相同名稱的結構描述；如果沒有，則會忽略清單。

## 說明
<a name="r_search_path-description"></a>

當以簡單名稱參考物件 (如資料表或函數) 且不提供結構描述元件時，指定搜尋結構描述的順序：
+ 外部結構描述和外部資料表不支援搜尋路徑。外部資料表必須以外部結構描述明確限定。資料共用會作為外部資料，因此不支援作為搜尋路徑。
+ 建立物件時若沒有指定特定目標結構描述，系統會將物件置於搜尋路徑中列出的第一個結構描述。如果搜尋路徑是空的，系統會傳回錯誤。
+ 當其他結構描述中有同名的物件時，會使用搜尋路徑中先找到的那一個。
+ 物件若不在搜尋路徑裡的任何結構描述中，則只能使用它的完整名稱 (指定包含它的結構描述) 來參考它。
+ 一定會搜尋系統目錄結構描述 pg\_catalog。如果路徑中有它，會依指定順序搜尋。如果沒有，會先搜尋它再搜尋路徑中的項目。
+ 一定會搜尋目前工作階段的暫時資料表結構描述 pg\_temp\_nnn (如果存在)。可以使用 alias pg\_temp 將它明確列在路徑中。如果路徑中沒有它，則會先搜尋它 (甚至在 pg\_catalog 之前)。不過，只會搜尋暫時結構描述中的關係名稱 (資料表、名稱)。不會搜尋函數名稱。

## 範例
<a name="r_search_path-example"></a>

下列範例會建立 ENTERPRISE 結構描述，並將 search\_path 設為新的結構描述。

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

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

下列範例會將 ENTERPRISE 結構描述加入預設的 search\_path 中。

```
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)
```