

 O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na [publicação do blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) publicada em 30 de junho de 2025. 

# Consulta a tabelas do sistema
<a name="discovering-metadata-system-tables"></a>

Se nem a API de metadados do driver nem os comandos `SHOW` satisfizerem suas necessidades, você poderá consultar diretamente as tabelas do catálogo do PostgreSQL (`pg_*`), o esquema de informações (`information_schema`) ou as visualizações do sistema Amazon Redshift, como `SVV_TABLE_INFO`.

Essa abordagem é útil para tarefas ad hoc de exploração, depuração ou administração que você executa a partir de consultas SQL interativas, por exemplo, no Editor de Consultas V2 do Amazon Redshift ou `psql`. No entanto, as estruturas do catálogo do sistema podem mudar em todas as versões do Amazon Redshift. Não recomendamos que você confie em consultas diretas à tabela do sistema como interface de metadados para integrações de aplicativos de produção.

Ao consultar tabelas do sistema, siga estas práticas:
+ **Especifique banco de dados, esquema e tabela**. Para obter o melhor desempenho, inclua o nome do banco de dados, o nome do esquema e o nome da tabela em seus filtros de consulta. Limitar o escopo reduz a quantidade de metadados que o Amazon Redshift precisa verificar e retornar.
+ **Use filtros de igualdade ou LIKE**. Use igualdade (`=`) ou predicados `LIKE` na cláusula `WHERE` para restringir os resultados. Evite consultas não filtradas em grandes visualizações de catálogos. Elas podem ser lentas em clusters com muitos objetos.
+ **Evite funções em predicados de filtro**. Não use funções como `LOWER()` ou concatenação de strings na cláusula `WHERE` ao filtrar consultas de tabelas do sistema. Isso impede pesquisas eficientes de metadados e pode reduzir significativamente o desempenho da consulta.

## Exemplo de consultas antipadrão x recomendadas
<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';
```