migrating-oracle-to-postgres-stored-procedures

Solid

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 COLLATE "C" for Oracle-compatible text sorting. Use when converting Oracle stored procedures or functions to PostgreSQL equivalents during a database migration.

API & Backend 34,158 stars 4179 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
93
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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. - Use `COLLATE "C"` when ordering by text fields for Oracle-compatible sorting. - Leverage the `orafce` extension when it improves clarity or fidelity. Consult the PostgreSQL table/view definition...

Details

Author
github
Repository
github/awesome-copilot
Created
11 months ago
Last Updated
yesterday
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

API & Backend Solid

reviewing-oracle-to-postgres-migration

Identifies Oracle-to-PostgreSQL migration risks by cross-referencing code against known behavioral differences (empty strings, refcursors, type coercion, sorting, timestamps, concurrent transactions, etc.). Use when planning a database migration, reviewing migration artifacts, or validating that integration tests cover Oracle/PostgreSQL differences.

34,158 Updated yesterday
github
API & Backend Solid

planning-oracle-to-postgres-migration-integration-testing

Creates an integration testing plan for .NET data access artifacts during Oracle-to-PostgreSQL database migrations. Analyzes a single project to identify repositories, DAOs, and service layers that interact with the database, then produces a structured testing plan. Use when planning integration test coverage for a migrated project, identifying which data access methods need tests, or preparing for Oracle-to-PostgreSQL migration validation.

34,158 Updated yesterday
github
API & Backend Solid

creating-oracle-to-postgres-master-migration-plan

Discovers all projects in a .NET solution, classifies each for Oracle-to-PostgreSQL migration eligibility, and produces a persistent master migration plan. Use when starting a multi-project Oracle-to-PostgreSQL migration, creating a migration inventory, or assessing which .NET projects contain Oracle dependencies.

34,158 Updated yesterday
github
API & Backend Listed

database-migration

Use when planning or applying a raw-SQL database migration to a live PostgreSQL database — adding columns, renaming columns or tables, changing types, creating indexes, adding foreign keys, or running data backfills. Covers zero-downtime patterns (expand / contract, batched backfill, NOT VALID foreign keys, CONCURRENTLY indexes), the unpooled-connection requirement for DDL, branched-database workflows, and rollback strategy. Do NOT use for ORM-managed migrations driven by Prisma/Drizzle/TypeORM CLI scaffolding (the generation rules are tool-specific), for chasing a migration that has already failed in production (use `debugging`), or for designing the row-level-security model itself (use `owasp-security`).

0 Updated 4 days ago
jacob-balslev
AI & Automation Solid

query-translator

Translate SQL queries between different database dialects with function mapping and optimization

1,034 Updated today
a5c-ai