Usando a Cortex Code CLI com o Snowflake Postgres

A habilidade de Postgres da Cortex Code CLI permite que você faça perguntas em linguagem natural sobre um banco de dados Postgres e que o Cortex Code gere e execute SQL para você. Ele foi projetado para depuração, exploração de esquemas e análises leves sem a necessidade de escrever manualmente cada consulta.

Para instalação, configuração de conexão e uso geral da Cortex Code CLI, consulte Cortex Code CLI.

Esta habilidade específica do Postgres:

  • Ajuda a criar e gerenciar instâncias do Snowflake Postgres.

  • Traduz perguntas em linguagem natural para Postgres SQL.

  • Executa o SQL gerado em uma instância do Postgres configurada.

  • Retorna um resumo curto e legível, além de resultados brutos opcionais.

  • Pode configurar o pg_lake para armazenamento de objetos e movimentação de dados entre o Postgres e o Snowflake por meio de áreas de preparação do Snowflake ou buckets S3.

Gerenciamento de conexões

A habilidade armazena conexões usando os arquivos nativos ~/.pg_service.conf e ~/.pgpass do PostgreSQL, tornando-os compatíveis com todos os clientes PostgreSQL padrão (psql, pgAdmin, DBeaver, etc.). Quando você solicita ao Cortex Code que crie uma instância ou redefina as credenciais, a conexão é salva automaticamente por meio de pg_connect.py.

Aviso

Nunca exiba o conteúdo de .pgpass no bate-papo ou nos logs. Use pg_connect.py para todas as operações de credenciais.

Execução de consultas

Assim que uma conexão for salva, o Cortex Code poderá executar comandos psql em suas instâncias diretamente do bate-papo. As senhas são resolvidas automaticamente a partir de ~/.pgpass. Você pode usar prompts em linguagem natural:

  • «Mostre-me todas as tabelas em my_instance»

  • «Execute um SELECT na tabela de pedidos para obter as últimas 10 linhas»

  • «Quais índices existem na tabela de usuários?»

O Cortex Code traduz esses prompts em comandos psql, verifica se a instância está pronta (retornando automaticamente se suspensa), executa a consulta e apresenta os resultados.

You:          How many orders were placed this month?
Cortex Code:  Running: psql "service=my_instance" -c \
         "SELECT count(*) FROM orders
          WHERE created >= date_trunc('month', current_date);"

         count
        -------
           142

O Cortex Code não executa operações de gravação (INSERT, UPDATE, DELETE, DROP, TRUNCATE), a menos que você as solicite explicitamente. As operações de gravação exigem confirmação antes de prosseguir.

Verificações de integridade do Postgres

pg_doctor é uma ferramenta de diagnóstico somente leitura que executa verificações de integridade em uma instância do Postgres com um tempo limite de instrução de 30 segundos.

Verificação

Descrição

Limites

cache_hit

Taxa de ocorrência de cache de tabela e índice

Aprovado: >= 99% / Aviso: 95-99% / Reprovado: < 95%

bloat

Estimativa de aumento de tabela e índice

Aprovado: < 30% / Warn: 30-50% / Fail: > 50%

vacuum_stats

Linhas mortas e status do autovacuum

Avise se as tabelas precisarem de vacuum

connections

Contagens de conexões por função

Informativo

locks

Bloqueios exclusivos mantidos

Avise se houver bloqueios

blocking

Consultas bloqueadas

Falha se as consultas estão bloqueadas

long_running

Consultas em execução por mais de 5 minutos

Aviso se encontrado

outliers

Consultas mais lentas (requer pg_stat_statements)

Informativo

unused_indexes

Índices nunca verificados

Aviso se algum for encontrado

table_sizes

Detalhamento do tamanho da tabela (total, índice, toast)

Informativo

Após apresentar os resultados, o Cortex Code explica as verificações sinalizadas e oferece a possibilidade de investigar mais a fundo. Qualquer ação de correção (VACUUM, REINDEX, etc.) exige confirmação explícita antes da execução.

Configurando o pg_lake

pg_lake é uma extensão do PostgreSQL que permite o armazenamento de objetos e a movimentação de dados do S3 em instâncias do Snowflake Postgres. Para obter detalhes sobre a extensão em si, consulte Configurando o armazenamento S3 para pg_lake.

A habilidade do Cortex Code auxilia na configuração de múltiplos sistemas (Snowflake SQL, AWS IAM, Postgres SQL) tanto para áreas de preparação do Snowflake quanto para buckets S3 gerenciados fora do Snowflake. É possível pedir ao Cortex Code para guiar você pela configuração interativamente:

  • «Configure o pg_lake em my_instance com s3://my-bucket/data/»

  • «Configure o pg_lake com uma área de preparação gerenciada pelo Snowflake em my_instance»

Portas de aprovação

O Cortex Code requer confirmação antes de executar operações faturáveis, destrutivas ou sensíveis à segurança.

Operação

Motivo

Criar/suspender instância

Recurso faturável ou descarta conexões ativas

Alterações na política de redes

Modifica o controle de acesso

Criar/modificar integração de armazenamento

Recursos de nuvem, requer ACCOUNTADMIN

Atualizar a política de confiança da AWS

Modifica as permissões de IAM

Descarte/operações destrutivas

Perda permanente de dados

Operações de gravação de diagnósticos

VACUUM, REINDEX, pg_terminate_backend, etc.

Operações somente leitura (SHOW, DESCRIBE, verificações de integridade, consultas SELECT) não exigem aprovação.