Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5238

migrating-oracle-to-postgres-stored-procedures

Permite que seu agente migre procedimentos armazenados Oracle PL/SQL para PostgreSQL PL/pgSQL. Ele traduz a sintaxe específica do Oracle e preserva as assinaturas de método.

O que ela faz

Esta ferramenta ajuda a transformar códigos de procedimentos (chamados 'stored procedures') de um banco de dados Oracle para um banco de dados PostgreSQL. Ela converte a linguagem e as regras específicas do Oracle para que funcionem no PostgreSQL.

Quando usar

  • ✓Ao migrar um sistema do Oracle para o PostgreSQL.
  • ✓Quando você precisa reescrever procedimentos antigos para um novo banco de dados.
  • ✓Para garantir que a lógica do seu código funcione corretamente após a mudança de banco.

Exemplo do que pedir para a IA

“Transforme este procedimento Oracle para PostgreSQL: [cole o código do procedimento aqui]”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta lê o código original do Oracle, aplica regras para traduzir a linguagem e a estrutura para o formato do PostgreSQL, e salva o novo código em um arquivo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Migrando Stored Procedures de Oracle para PostgreSQL

Traduza stored procedures e funções Oracle PL/SQL para equivalentes PostgreSQL PL/pgSQL.

Fluxo de Trabalho

Progress:
- [ ] Step 1: Read the Oracle source procedure
- [ ] Step 2: Translate to PostgreSQL PL/pgSQL
- [ ] Step 3: Write the migrated procedure to Postgres output directory

Passo 1: Ler o procedimento fonte Oracle

Leia a stored procedure Oracle de .github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/. Consulte as definições de tabelas/views Oracle em .github/oracle-to-postgres-migration/DDL/Oracle/Tables and Views/ para resolução de tipos.

Passo 2: Traduzir para PostgreSQL PL/pgSQL

Aplique estas regras de tradução:

  • Traduza toda a sintaxe específica do Oracle para equivalentes do PostgreSQL.
  • Preserve a funcionalidade original e a lógica de fluxo de controle.
  • Mantenha parâmetros de entrada ancorados por tipo (por exemplo, PARAM_NAME IN table_name.column_name%TYPE).
  • Use tipos explícitos (NUMERIC, VARCHAR, INTEGER) para parâmetros de saída passados para outros procedimentos — não os ancore por tipo.
  • Não altere as assinaturas de métodos.
  • Não prefixe nomes de objetos com nomes de schema, a menos que já estejam presentes no fonte Oracle.
  • Deixe o tratamento de exceções e a lógica de rollback inalterados.
  • Não gere instruções COMMENT ou GRANT.
  • Aplique a collation intencionalmente ao ordenar texto:
    • Use COLLATE "C" apenas quando for necessária ordenação binária compatível com Oracle e nenhuma outra ordem de classificação for especificada.
    • Se o Oracle usou ordenação linguística explícita (por exemplo, NLS_SORT = French), mapeie para uma collation de locale PostgreSQL explícita em vez de "C".
    • Use SELECT collname, collprovider, collcollate, collctype FROM pg_collation ORDER BY collname; para descobrir collations no ambiente de destino.
  • Trate UNION ALL como um ponto de verificação de revisão. Valide a qualidade do plano por branch e reestruture se o planejamento de branch combinado causar regressões (por exemplo, varreduras sequenciais inesperadas em tabelas grandes).
  • Utilize a extensão orafce quando melhorar a clareza ou a fidelidade.

Consulte as definições de tabelas/views PostgreSQL em .github/oracle-to-postgres-migration/DDL/Postgres/{ProjectName}/Tables and Views/ para detalhes do schema de destino.

Passo 3: Escrever o procedimento migrado para o diretório de saída do Postgres

Coloque cada procedimento migrado em seu próprio arquivo sob .github/oracle-to-postgres-migration/DDL/Postgres/{ProjectName}/Procedures and Functions/{PACKAGE_NAME_IF_APPLICABLE}/. Um procedimento por arquivo.

{ProjectName} é o nome do assembly/pasta do projeto com espaços normalizados para - (por exemplo, MyApp.DataAccess). Isso corresponde ao caminho usado pelo agente e outras habilidades de migração.

Perguntas frequentes

O que são 'stored procedures'?

São conjuntos de comandos de banco de dados que ficam armazenados no próprio banco para serem executados quando chamados, como pequenas 'funções' do banco de dados.

Por que preciso converter o código?

Cada banco de dados (como Oracle e PostgreSQL) tem sua própria linguagem e regras. O código escrito para um não funciona diretamente no outro.

A ferramenta copia tudo exatamente igual?

Ela tenta manter a funcionalidade original e a estrutura do código, mas faz adaptações necessárias para que funcione no PostgreSQL, como ajustar tipos de dados e regras de ordenação de texto.

Detalhes

Descrição original do autor

Migrates Oracle PL/SQL stored procedures to PostgreSQL PL/pgSQL. Translates Oracle-specific syntax, preserves method signatures and type-anchored parameters, leverages orafce where appropriate, and applies explicit collation mapping (`COLLATE "C"` only when appropriate, locale collations when required). Use when converting Oracle stored procedures or functions to PostgreSQL equivalents during a da

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5238
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas