migrating-oracle-to-postgres-stored-procedures — скилл для Copilot
Переносит процедуры и функции Oracle PL/SQL в PostgreSQL PL/pgSQL. Пригодится для миграции базы с сохранением сигнатур и логики.
npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-proceduresЧто делает migrating-oracle-to-postgres-stored-procedures
Скилл читает исходные процедуры Oracle из .github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/ и сверяется с определениями таблиц и представлений. Затем переводит Oracle-синтаксис в PL/pgSQL, сохраняет сигнатуры, type-anchored параметры, обработку исключений и логику отката.
Для сортировки текста он учитывает нужную collation: использует COLLATE "C" при бинарном порядке Oracle, а для явной лингвистической сортировки выбирает локаль PostgreSQL. При необходимости применяет orafce, проверяет UNION ALL и записывает каждую процедуру в отдельный файл каталога Postgres. Не добавляет COMMENT и GRANT.
Ставьте его, если исходные Oracle-файлы и определения целевых объектов лежат в ожидаемых каталогах. Для другой структуры проекта лучше проверить пути до запуска миграции.
Какие задачи решает
- перевести процедуру Oracle PL/SQL в PostgreSQL PL/pgSQL
- сохранить сигнатуры и type-anchored параметры
- сопоставить сортировку Oracle с collation PostgreSQL
- разложить мигрированные процедуры по файлам Postgres
- проверить ветви
UNION ALLпосле переноса
Примеры запросов агенту
- Перенеси процедуру из `.github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/` в PostgreSQL.
- Сверь типы с таблицами и представлениями, сохрани сигнатуру и запиши результат в каталог Postgres.
- Проверь сортировку текста и обработку `UNION ALL` в мигрированной функции.
Как установить migrating-oracle-to-postgres-stored-procedures
1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures2GitHub CLI
gh skill install github/awesome-copilot migrating-oracle-to-postgres-stored-procedures3Вручную: положить файлы
.github/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures -a claude-code2Вручную: положить файлы
~/.claude/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/migrating-oracle-to-postgres-stored-procedures/
Вручную: положить файлы
.agents/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
Командой платформы
gemini skills install https://github.com/github/awesome-copilot --path skills/migrating-oracle-to-postgres-stored-proceduresВручную: положить файлы
.devin/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора554
Весь набор →Похожие
Вопросы о migrating-oracle-to-postgres-stored-procedures
Как установить migrating-oracle-to-postgres-stored-procedures в GitHub Copilot?
Выполните npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures, затем файл скилла появится по пути .github/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md.
Что делает migrating-oracle-to-postgres-stored-procedures?
Он переводит процедуры и функции Oracle PL/SQL в PostgreSQL PL/pgSQL, сохраняя сигнатуры, параметры, обработку исключений и логику отката.
Какие файлы нужны для миграции?
Скиллу нужны исходные Oracle-процедуры, определения Oracle таблиц и представлений, а также определения целевых объектов PostgreSQL в каталогах миграции.
Исходный текст
SKILL.md · MIT
---
name: migrating-oracle-to-postgres-stored-procedures
description: '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 database migration.'
---
# Migrating Stored Procedures from Oracle to PostgreSQL
Translate Oracle PL/SQL stored procedures and functions to PostgreSQL PL/pgSQL equivalents.
## Workflow
```
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
```
**Step 1: Read the Oracle source procedure**
Read the Oracle stored procedure from `.github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/`. Consult the Oracle table/view definitions at `.github/oracle-to-postgres-migration/DDL/Oracle/Tables and Views/` for type resolution.
**Step 2: Translate to PostgreSQL PL/pgSQL**
Apply these translation rules:
- Translate all Oracle-specific syntax to PostgreSQL equivalents.
- Preserve original functionality and control flow logic.
- Keep type-anchored input parameters (e.g., `PARAM_NAME IN table_name.column_name%TYPE`).
- Use explicit types (`NUMERIC`, `VARCHAR`, `INTEGER`) for output parameters passed to other procedures — do not type-anchor these.
- Do not alter method signatures.
- Do not prefix object names with schema names unless already present in the Oracle source.
- Leave exception handling and rollback logic unchanged.
- Do not generate `COMMENT` or `GRANT` statements.
- Apply collation intentionally when ordering text:
- Use `COLLATE "C"` only when Oracle-compatible binary ordering is required and no other sort order is specified.
- If Oracle used explicit linguistic sorting (for example `NLS_SORT = French`), map to an explicit PostgreSQL locale collation instead of `"C"`.
- Use `SELECT collname, collprovider, collcollate, collctype FROM pg_collation ORDER BY collname;` to discover collations in the target environment.
- Treat `UNION ALL` as a review checkpoint. Validate plan quality per branch and restructure if combined-branch planning causes regressions (for example, unexpected sequential scans on large tables).
- Leverage the `orafce` extension when it improves clarity or fidelity.
Consult the PostgreSQL table/view definitions at `.github/oracle-to-postgres-migration/DDL/Postgres/{ProjectName}/Tables and Views/` for target schema details.
**Step 3: Write the migrated procedure to Postgres output directory**
Place each migrated procedure in its own file under `.github/oracle-to-postgres-migration/DDL/Postgres/{ProjectName}/Procedures and Functions/{PACKAGE_NAME_IF_APPLICABLE}/`. One procedure per file.
> `{ProjectName}` is the project's assembly/folder name with spaces normalized to `-` (e.g. `MyApp.DataAccess`). This matches the path used by the agent and other migration skills.
© github · MIT · github/awesome-copilot