{"id":"19e5a393-cfda-4a5d-9c47-f73b5611f805","shortId":"rvSDwx","kind":"skill","title":"Migrating Oracle To Postgres Stored Procedures","tagline":"Awesome Copilot skill by Github","description":"# Migrating Stored Procedures from Oracle to PostgreSQL\n\nTranslate Oracle PL/SQL stored procedures and functions to PostgreSQL PL/pgSQL equivalents.\n\n## Workflow\n\n```\nProgress:\n- [ ] Step 1: Read the Oracle source procedure\n- [ ] Step 2: Translate to PostgreSQL PL/pgSQL\n- [ ] Step 3: Write the migrated procedure to Postgres output directory\n```\n\n**Step 1: Read the Oracle source procedure**\n\nRead 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.\n\n**Step 2: Translate to PostgreSQL PL/pgSQL**\n\nApply these translation rules:\n\n- Translate all Oracle-specific syntax to PostgreSQL equivalents.\n- Preserve original functionality and control flow logic.\n- Keep type-anchored input parameters (e.g., `PARAM_NAME IN table_name.column_name%TYPE`).\n- Use explicit types (`NUMERIC`, `VARCHAR`, `INTEGER`) for output parameters passed to other procedures — do not type-anchor these.\n- Do not alter method signatures.\n- Do not prefix object names with schema names unless already present in the Oracle source.\n- Leave exception handling and rollback logic unchanged.\n- Do not generate `COMMENT` or `GRANT` statements.\n- Use `COLLATE \"C\"` when ordering by text fields for Oracle-compatible sorting.\n- Leverage the `orafce` extension when it improves clarity or fidelity.\n\nConsult the PostgreSQL table/view definitions at `.github/oracle-to-postgres-migration/DDL/Postgres/Tables and Views/` for target schema details.\n\n**Step 3: Write the migrated procedure to Postgres output directory**\n\nPlace 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.","tags":["migrating","oracle","postgres","stored","procedures","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T05:40:31.176Z","embedding":null,"createdAt":"2026-04-18T20:30:51.636Z","updatedAt":"2026-04-22T05:40:31.176Z","lastSeenAt":"2026-04-22T05:40:31.176Z","tsv":"'1':33,56 '2':40,84 '3':46,212 'alreadi':155 'alter':143 'anchor':112,139 'appli':89 'applic':236 'awesom':7 'c':177 'category-awesome-copilot' 'clariti':195 'collat':176 'comment':171 'compat':186 'consult':71,198 'control':106 'copilot':8 'definit':75,202 'detail':210 'directori':54,220 'e.g':115 'equival':29,101 'except':162 'explicit':123 'extens':191 'fidel':197 'field':182 'file':228,240 'flow':107 'function':25,70,104,232 'generat':170 'github':11 'github/oracle-to-postgres-migration/ddl/oracle/procedures':68 'github/oracle-to-postgres-migration/ddl/oracle/tables':77 'github/oracle-to-postgres-migration/ddl/postgres/procedures':230 'github/oracle-to-postgres-migration/ddl/postgres/tables':204 'grant':173 'handl':163 'improv':194 'input':113 'integ':127 'keep':109 'leav':161 'leverag':188 'logic':108,166 'method':144 'migrat':1,12,49,215,223 'name':117,120,150,153,234 'numer':125 'object':149 'one':237 'oracl':2,16,20,36,59,64,73,96,159,185 'oracle-compat':184 'oracle-specif':95 'orafc':190 'order':179 'origin':103 'output':53,129,219 'packag':233 'param':116 'paramet':114,130 'pass':131 'per':239 'pl/pgsql':28,44,88 'pl/sql':21 'place':221 'postgr':4,52,218 'postgresql':18,27,43,87,100,200 'prefix':148 'present':156 'preserv':102 'procedur':6,14,23,38,50,61,66,134,216,224,238 'progress':31 'read':34,57,62 'resolut':82 'rollback':165 'rule':92 'schema':152,209 'signatur':145 'skill':9 'sort':187 'sourc':37,60,160 'source-github' 'specif':97 'statement':174 'step':32,39,45,55,83,211 'store':5,13,22,65 'syntax':98 'table/view':74,201 'table_name.column':119 'target':208 'text':181 'translat':19,41,85,91,93 'type':81,111,121,124,138 'type-anchor':110,137 'unchang':167 'unless':154 'use':122,175 'varchar':126 'view':79,206 'workflow':30 'write':47,213","prices":[{"id":"fe4d9b5d-8081-4ff8-9669-7f7af09a275a","listingId":"19e5a393-cfda-4a5d-9c47-f73b5611f805","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:30:51.636Z"}],"sources":[{"listingId":"19e5a393-cfda-4a5d-9c47-f73b5611f805","source":"github","sourceId":"github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-stored-procedures","isPrimary":false,"firstSeenAt":"2026-04-18T21:50:14.872Z","lastSeenAt":"2026-04-22T00:52:12.929Z"},{"listingId":"19e5a393-cfda-4a5d-9c47-f73b5611f805","source":"skills_sh","sourceId":"github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures","sourceUrl":"https://skills.sh/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures","isPrimary":true,"firstSeenAt":"2026-04-18T20:30:51.636Z","lastSeenAt":"2026-04-22T05:40:31.176Z"}],"details":{"listingId":"19e5a393-cfda-4a5d-9c47-f73b5611f805","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"migrating-oracle-to-postgres-stored-procedures","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/migrating-oracle-to-postgres-stored-procedures"},"updatedAt":"2026-04-22T05:40:31.176Z"}}