

 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/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# STV\_INFLIGHT
<a name="r_STV_INFLIGHT"></a>

使用 STV\_INFLIGHT 資料表來判斷正在叢集中執行的查詢為何。如果您要進行疑難排解，檢查長時間執行查詢的狀態會很有幫助。

STV\_INFLIGHT 不會顯示僅限於領導節點的查詢。如需詳細資訊，請參閱[僅限領導節點函數](c_SQL_functions_leader_node_only.md)。所有使用者都可看見 STV\_INFLIGHT。超級使用者可以看見所有資料列；一般使用者只能看見自己的資料。如需詳細資訊，請參閱[系統資料表和檢視中資料的可見性](cm_chap_system-tables.md#c_visibility-of-data)。

此資料表中的部份或所有資料也會在 SYS 監控檢視 [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md) 中找到。SYS 監視檢視中的資料會格式化為更易於使用和理解。我們建議您使用 SYS 監控檢視進行查詢。

## 使用 STV\_INFLIGHT 進行疑難排解
<a name="r_STV_INFLIGHT_troubleshooting"></a>

如果您使用 STV\_INFLIGHT 對查詢或查詢集合的效能進行疑難排解，請注意下列事項：
+ 長時間運行的開放交易通常會增加負載。這些開啟的交易可能會導致其他查詢的執行時間較長。
+ 長時間執行的 COPY 和 ETL 任務佔用大量運算資源，可能會影響在叢集上執行的其他查詢。在大多數情況下，將這些長時間執行的工作移至低使用率的時間，可提高報告或分析工作負載的效能。
+ 有些檢視會提供相關資訊給 STV\_INFLIGHT。其中包括擷取 SQL 命令查詢文字的 [STL\_QUERYTEXT](r_STL_QUERYTEXT.md)，以及將 STV\_INFLIGHT 連接至 STL\_QUERYTEXT 的 [SVV\_QUERY\_INFLIGHT](r_SVV_QUERY_INFLIGHT.md)。您也可以搭配 [STV\_RECENTS](r_STV_RECENTS.md) 使用 STV\_INFLIGHT 進行疑難排解。例如，STV\_RECENTS 可以指出特定查詢處於*執行中*或*完成*狀態。將這些資訊與 STV\_INFLIGHT 的結果結合在一起，可以為您提供有關查詢屬性和運算資源影響的更多資訊。

您也可以使用 Amazon Redshift 主控台監控執行中的查詢。

## 資料表欄
<a name="r_STV_INFLIGHT-table-columns"></a>


| 欄名稱  | 資料類型  | Description  | 
| --- | --- | --- | 
| userid  | integer  | 產生項目之使用者的 ID。 | 
| 分割  | integer  | 查詢執行時所在的分割。 | 
| query  | integer  | 查詢 ID。可用於聯結其他系統資料表與檢視。 | 
| label  | character(320)  |  用於執行查詢的檔案名稱，或以 SET QUERY\_GROUP 命令定義的標籤。如果查詢不是檔案型，或未設定 QUERY\_GROUP 參數，則此欄位為空白。 | 
| xid  | bigint  | 交易 ID。 | 
| pid  | integer  | 處理程序 ID。工作階段中的所有查詢都是在相同的處理程序中執行，所以若您在相同的工作階段中執行一系列查詢，則此值通常會保持不變。您可以使用此資料欄來聯結至 [STL\_ERROR](r_STL_ERROR.md) 資料表。 | 
| starttime  | timestamp  | 查詢開始的時間。 | 
| text  | character(100)  | 查詢文字，如果陳述式超過限制，將會截斷為 100 個字元。 | 
| suspended  | integer  | 查詢是否已遭停用。0 = false；1 = true。 | 
| insert\_pristine  | integer  | 當目前查詢正在執行時，寫入查詢是否能夠執行。1 = 不允許寫入查詢。0 = 允許寫入查詢。此欄位適用於偵錯。 | 
| concurrency\_scaling\_status | integer  | 指出查詢是執行於主要叢集或並行擴展叢集，可能的值如下：<br />0 - 執行於主要叢集 <br />1 - 執行於並行擴展叢集  | 

## 範例查詢
<a name="r_STV_INFLIGHT-sample-queries"></a>

若要檢視目前正在資料庫上執行的所有使用中查詢，請輸入下列查詢：

```
select * from stv_inflight;
```

以下範例輸出顯示有兩個查詢正在執行，包括 STV\_INFLIGHT 查詢本身以及從名為 `avgwait.sql` 的指令碼執行的查詢：

```
select slice, query, trim(label) querylabel, pid,
starttime, substring(text,1,20) querytext
from stv_inflight;

slice|query|querylabel | pid |        starttime         |      querytext
-----+-----+-----------+-----+--------------------------+--------------------
1011 |  21 |           | 646 |2012-01-26 13:23:15.645503|select slice, query,
1011 |  20 |avgwait.sql| 499 |2012-01-26 13:23:14.159912|select avg(datediff(
(2 rows)
```

下列查詢會選擇幾個欄，包括 concurrency\_scaling\_status。此欄指出是否要將查詢傳送至並行擴展叢集。如果該值對於某些結果是 `1`，則表示正在使用並行擴展運算資源。如需詳細資訊，請參閱[並行擴展](concurrency-scaling.md)。

```
select userid, 
query,
pid,
starttime,
text,
suspended,
concurrency_scaling_status
 from STV_INFLIGHT;
```

範例輸出會顯示傳送至並行擴展叢集的一個查詢。

```
 query  | pid     |        starttime           |   text                 | suspended     |  concurrency_scaling_status
--------+---------+----------------------------|------------------------|---------------|-------------------------------
1234567 | 123456  | 2012-01-26 13:23:15.645503 | select userid, query...  0                1
2345678 | 234567  | 2012-01-26 13:23:14.159912 | select avg(datediff(...  0                0
(2 rows)
```

如需疑難排解查詢效能的詳細提示，請參閱[查詢故障診斷](queries-troubleshooting.md)。