

 Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post [ del ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) blog pubblicato il 30 giugno 2025. 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Interrogazione delle tabelle di sistema
<a name="discovering-metadata-system-tables"></a>

Se né l'API dei metadati dei driver né `SHOW` i comandi soddisfano le tue esigenze, puoi interrogare direttamente le tabelle del catalogo PostgreSQL (), lo schema informativo (`pg_*`) o le viste del sistema Amazon Redshift. `information_schema` `SVV_TABLE_INFO`

Questo approccio è utile per attività di esplorazione, debug o amministrative ad hoc eseguite da query SQL interattive, ad esempio nell'editor di query Amazon Redshift v2 o. `psql` Tuttavia, le strutture dei cataloghi di sistema possono cambiare tra le versioni di Amazon Redshift. Non è consigliabile affidarsi alle interrogazioni dirette sulle tabelle di sistema come interfaccia di metadati per le integrazioni delle applicazioni di produzione.

Quando interroghi le tabelle di sistema, segui queste pratiche:
+ **Specifica database, schema e tabella**. Per ottenere prestazioni ottimali, includi il nome del database, il nome dello schema e il nome della tabella nei filtri delle query. La riduzione dell'ambito riduce la quantità di metadati che Amazon Redshift deve scansionare e restituire.
+ **Usa i filtri Equality o LIKE. ** Usa l'uguaglianza (`=`) o `LIKE` i predicati nella tua `WHERE` clausola per restringere i risultati. Evita le interrogazioni non filtrate su visualizzazioni di catalogo di grandi dimensioni. Possono essere lente nei cluster con molti oggetti.
+ **Evita le funzioni nei ** predicati dei filtri. Non utilizzate funzioni come `LOWER()` la concatenazione di stringhe nella `WHERE` clausola quando filtrate le query delle tabelle di sistema. Questi impediscono una ricerca efficiente dei metadati e possono ridurre significativamente le prestazioni delle query.

## Anti-pattern Esempio vs. Domande consigliate
<a name="r_QUERY_LIST-examples"></a>

```
-- Avoid:
SELECT * FROM svv_all_columns;

-- Recommended:
SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public' AND table_name = 'sales';
```

```
-- Avoid:
SELECT * FROM svv_all_columns WHERE LOWER(schema_name) = 'public';

-- Recommended:
SELECT * FROM svv_all_columns WHERE schema_name = 'public' AND table_name LIKE 'sales%';
```

```
-- Avoid:
SELECT * FROM svv_all_columns WHERE database_name || '.' || schema_name || '.' || table_name = 'dev.public.sales';

-- Recommended:
SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public' AND table_name = 'sales';
```

```
-- Avoid:
SELECT * FROM svv_all_columns WHERE CONCAT(database_name, '.', schema_name) = 'dev.public';

-- Recommended:
SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public';
```