---
id: sm3-migrating-oracle-to-postgres-stored-procedures
name: "migrating-oracle-to-postgres-stored-procedures"
url: https://skills.yangsir.net/skill/sm3-migrating-oracle-to-postgres-stored-procedures
author: github
domain: ai-data-management-analysis
tags: ["database-migration", "stored-procedures", "oracle-to-postgresql", "backend-development"]
install_count: 1800
rating: 4.30 (34 reviews)
github: https://github.com/github/awesome-copilot
---

# migrating-oracle-to-postgres-stored-procedures

> 将Oracle数据库中的存储过程迁移到PostgreSQL，确保业务逻辑的平稳过渡和兼容性。

**Stats**: 1,800 installs · 4.3/5 (34 reviews)

## Before / After 对比

### Oracle到PostgreSQL存储过程迁移

## Readme

# migrating-oracle-to-postgres-stored-procedures

# 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 definitions at `.github/oracle-to-postgres-migration/DDL/Postgres/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/Procedures and Functions/{PACKAGE_NAME_IF_APPLICABLE}/`. One procedure per file.
Weekly Installs234Repository[github/awesome-copilot](https://github.com/github/awesome-copilot)GitHub Stars25.7KFirst Seen7 days agoSecurity Audits[Gen Agent Trust HubPass](/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures/security/agent-trust-hub)[SocketPass](/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures/security/socket)[SnykPass](/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures/security/snyk)Installed ongemini-cli202codex201opencode194cursor193kimi-cli191github-copilot191

---
*Source: https://skills.yangsir.net/skill/sm3-migrating-oracle-to-postgres-stored-procedures*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm3-migrating-oracle-to-postgres-stored-procedures/markdown*