Skip to main content

Oracle to PostgreSQL Migration with Python

easyo2p is a Python package to migrate an Oracle database schema to PostgreSQL. Containing functionality to connect to both source and target databases, easyo2p eases customised migrations using its functionality within the Python environment.

Requirements

easyo2p is written and tested on Python 3.10, using cx_Oracle and psycopg2 database connections modules.

The package can be found on GitHub and PyPI, so naturally it can be installed with pip

pip install easyo2p

It has been tested with various Oracle versions from version 12c, and PostgreSQL from 14, but is expected to work with a

Audience

easyo2p is for you if:

  • You want to copy a schema, or multiple schemas, in Oracle to PostgreSQL.

  • You need no or little automated conversion of PL/SQL functions, procedures or packages.

  • You are familiar enough with Python to add any required customisations.

Operation

The package can connect to both the Oracle and PostgreSQL servers. From a specified schema, it will create the objects in PostgreSQL and migrate the data. easyo2p also has an option to create text files, so that the migration can be backed-up or rerun later.

To ease continuity between Oracle and PostgreSQL development, and to allow our PL/SQL code to run in both Oracle and PostgreSQL, some additional objects are created to mimic Oracle functionality in PostgreSQL.

Getting Started

The tutorial covers examples of the easyo2p functionality, so that it can then be applied for specific migrations.

Licence

This software is released under the MIT licence

Metadata

Release files for easyo2p 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easyo2p 1.0.0
File Size Uploaded
easyo2p-1.0.0.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for easyo2p 1.0.0
File Interpreter ABI Platform
easyo2p-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.3 kB

Release files / easyo2p-1.0.0.tar.gz

Download URL easyo2p-1.0.0.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7379c452dd40d64d02c15f156ad4f2f5de8176b836ddb1bafc516d83f9ce986c
BLAKE2b-256 checksum
How to use checksums
3ac87255aaefcaaac844dd5dfeb2450a75a17fcabc8cb057eea43be1b1604c32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / easyo2p-1.0.0-py3-none-any.whl

Download URL easyo2p-1.0.0-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd4ea491ccccbbbe41bc6be4141057b315ea697ccf7e0ebd3c26ea2f1c782760
BLAKE2b-256 checksum
How to use checksums
e76eaa7a5e21ac66e93e21b2043c5b0e40182a30ffa5e0a4daff6251f52b5ca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page