O que revisao-migracao-oracle-para-postgres faz?
Identifica riscos de migração Oracle-para-PostgreSQL ao cruzar código com diferenças comportamentais conhecidas (strings vazias, refcursors, coerção de tipos, ordenação, timestamps, transações concorrentes, etc.). Use ao planejar uma migração de banco de dados, revisar artefatos de migração ou validar se os testes de integração cobrem as diferenças entre Oracle e PostgreSQL.
Como usar
- Forneça o código ou artefatos de migração para análise (ex.: scripts PL/SQL, consultas SQL, arquivos de configuração de migração, casos de teste).
- A skill irá analisar o código em busca de padrões que representam riscos conhecidos.
- Receba um relatório de riscos priorizados por severidade, com recomendações e exemplos de como ajustar o código.
Funcionalidades
- Detecção de strings vazias: Identifica comparações com
''que podem se comportar de forma diferente no PostgreSQL. - Análise de refcursors: Verifica uso de cursores ref que precisam de adaptação.
- Coerção implícita de tipos: Sinaliza conversões automáticas que o Oracle faz mas o PostgreSQL não.
- Ordenação: Identifica diferenças no comportamento de ORDER BY, especialmente com maiúsculas/minúsculas e NULLs.
- Timestamps: Detecta diferenças em funções de data/hora, como SYSDATE vs CURRENT_TIMESTAMP.
- Transações concorrentes: Avalia padrões de isolamento e locking que podem falhar.
Exemplo de saída
Risco: Coerção implícita de tipos
Arquivo: script_migracao.sql
Linha: 42
Descrição: A consulta compara um campo VARCHAR com um número. No Oracle isso funciona, no PostgreSQL pode falhar.
Sugestão: Use CAST explícito (ex.: CAST(coluna AS INTEGER) = 123).
Severidade: Alta
Plataformas suportadas
- Oracle Database (11g, 12c, 18c, 19c, 21c)
- PostgreSQL (10, 11, 12, 13, 14, 15, 16)
- Ferramentas de migração: AWS DMS, ora2pg, pgloader, AWS SCT
- Repositórios de código: GitHub, GitLab, Bitbucket
Limitações
- A skill analisa código estático e pode não capturar todos os problemas dinâmicos.
- Recomenda-se executar testes de integração adicionais após a migração.
- Diferenças de performance não são cobertas; foque apenas na correção funcional.