Skip to main content
skill GitHub Copilot official · GitHub

migrating-oracle-to-postgres-stored-procedures — Copilot skill

Moves Oracle PL/SQL procedures and functions to PostgreSQL PL/pgSQL. Use it during a database migration when signatures and control flow must stay intact.

Install into GitHub Copilot · Skills CLI (Vercel) All methods and platforms ↓
npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures
Open on GitHub

What migrating-oracle-to-postgres-stored-procedures does

The skill reads Oracle procedures from .github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/ and checks Oracle table and view definitions for type resolution. It translates Oracle-specific syntax to PL/pgSQL while keeping method signatures, type-anchored parameters, exception handling, and rollback logic.

It maps text ordering deliberately. COLLATE "C" is used for Oracle-compatible binary ordering, while explicit linguistic sorting is mapped to a PostgreSQL locale collation. The workflow can use orafce, treats UNION ALL as a review checkpoint, and writes each migrated procedure to its own Postgres file. It does not add COMMENT or GRANT statements.

Install it when the Oracle sources and target definitions follow the expected migration paths. A different project layout is a reason to check the paths before running the skill.

What it helps with

  • translate an Oracle PL/SQL procedure to PostgreSQL PL/pgSQL
  • preserve method signatures and type-anchored parameters
  • map Oracle text ordering to a PostgreSQL collation
  • write each migrated procedure to its own Postgres file
  • review UNION ALL branches after translation

Example prompts for the agent

  • Migrate the procedure from `.github/oracle-to-postgres-migration/DDL/Oracle/Procedures and Functions/` to PostgreSQL.
  • Resolve types from the table and view definitions, preserve the signature, and write the result to the Postgres output directory.
  • Review text ordering and `UNION ALL` in the migrated function.

How to install migrating-oracle-to-postgres-stored-procedures

1Skills CLI (Vercel)

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

2GitHub CLI

gh skill install github/awesome-copilot migrating-oracle-to-postgres-stored-procedures

3Manually: put the files in place

.github/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md

From the same set554

The whole set →
git-commit official github This skill reviews Git changes, stages related files, and creates Conventional Commits. Use it when you want an agent to make one commit or split work into separate commits. GitHub Copilot 47,165installs excalidraw-diagram-generator official github Turn a plain-language description into an Excalidraw diagram. Useful for mapping processes, system structure, and relationships between entities. GitHub Copilot 31,639installs multi-stage-dockerfile official github This skill guides GitHub Copilot in writing multi-stage Dockerfiles for different languages and frameworks. Use it when the final runtime image should contain fewer build dependencies. GitHub Copilot 29,688installs documentation-writer official github Skill that turns the agent into a technical writer following the Diátaxis framework: tutorials, how-to guides, reference, and explanation. Proposes structure before writing. GitHub Copilot 27,757installs prd official github Turns a feature idea into a structured PRD with user stories, technical requirements, and risks. Use it when planning a software feature or an AI-powered one. GitHub Copilot 24,035installs refactor official github This skill reshapes existing code without changing its external behavior. Use it for gradual cleanup of large functions, duplication, weak types, and code smells. GitHub Copilot 22,321installs java-springboot official github Gives GitHub Copilot Spring Boot development practices, from project layout to tests and security. Use it when writing or reviewing Java application code. GitHub Copilot 21,272installs create-readme official github This skill reviews a project and creates a structured README.md. Use it when the repository needs clear documentation based on its actual files and code. GitHub Copilot 19,081installs

Similar

dbt-sf-to-bq-translator official google Converts Snowflake dbt models into Standardized BigQuery SQL. Use it for Snowflake-to-BigQuery migrations on Google Cloud with Claude Code, Gemini CLI, or Codex. Claude Code Gemini CLI CX Codex 2,300installs bigquery-observability official google This skill helps retrieve BigQuery telemetry and choose the right data source. Use it to inspect jobs, slot contention, queues, reservations, and resource usage. Claude Code Gemini CLI CX Codex 1,800installs bigquery-troubleshooting official google This skill investigates broken, slow, or costly BigQuery jobs. Use it to isolate bottlenecks, trace symptoms to causes, and choose remediation steps. Claude Code Gemini CLI CX Codex 1,400installs bigquery-optimization official google This skill helps reduce BigQuery costs, tune storage, and improve SQL queries. Use it for capacity planning and table layout changes. Claude Code Gemini CLI CX Codex 1,400installs xlsx official anthropics Creates, reads, edits, and converts spreadsheet files. Use it when the requested deliverable is an Excel workbook or another tabular file. Claude Code Claude.ai 187,223installs google-agents-cli-observability official Google This skill guides you through tracing and monitoring AI agents, including ADK agents. Use it when you need to inspect agent execution or monitor a deployed agent. Claude Code CX Codex Cursor +1 509,900installs caveman-evidence-review JuliusBrussee A read-only skill reviews Caveman Cloud evidence on LLM spend, traces, and routing. Use it to see where a project’s model budget goes. Claude Code CX Codex Cursor +1 103,500installs migration JuliusBrussee Enforces reversible, compatibility-safe transitions for schema, data, and API updates. Useful whenever data loss or rollout downtime is unacceptable. Claude Code CX Codex Cursor +1 102,900installs

Questions about migrating-oracle-to-postgres-stored-procedures

How do I install migrating-oracle-to-postgres-stored-procedures in GitHub Copilot?

Run npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-stored-procedures. The skill file is then placed at .github/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md.

What does migrating-oracle-to-postgres-stored-procedures do?

It translates Oracle PL/SQL procedures and functions into PostgreSQL PL/pgSQL while preserving signatures, parameters, exception handling, and rollback logic.

What files does the migration need?

It uses the Oracle procedure source, Oracle table and view definitions, and PostgreSQL target definitions in the migration directories.

Source text

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

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor