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_lakepara 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.
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 |
|---|---|---|
|
Taxa de ocorrência de cache de tabela e índice |
Aprovado: >= 99% / Aviso: 95-99% / Reprovado: < 95% |
|
Estimativa de aumento de tabela e índice |
Aprovado: < 30% / Warn: 30-50% / Fail: > 50% |
|
Linhas mortas e status do autovacuum |
Avise se as tabelas precisarem de vacuum |
|
Contagens de conexões por função |
Informativo |
|
Bloqueios exclusivos mantidos |
Avise se houver bloqueios |
|
Consultas bloqueadas |
Falha se as consultas estão bloqueadas |
|
Consultas em execução por mais de 5 minutos |
Aviso se encontrado |
|
Consultas mais lentas (requer |
Informativo |
|
Índices nunca verificados |
Aviso se algum for encontrado |
|
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 |
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 |
|
Operações somente leitura (SHOW, DESCRIBE, verificações de integridade, consultas SELECT) não exigem aprovação.