Preface
Who This Book Is For
This book is for the engineers who get handed the migration. Not the slide deck that says "Oracle to PostgreSQL: 12 weeks," but the actual work — the source schema with 340 tables, the triggers no one documented, the PL/SQL packages with business logic baked in, and the application that was never designed to tolerate NULL where it once found empty string.
It is for three kinds of readers.
The migration engineer who needs to understand not just what to configure but why the product makes the choices it makes — why the full load must precede CDC, why reconciliation is not a final step but a continuous signal, why a dependency graph that looks clean at DDL time can deadlock at runtime.
The architect who is deciding whether to build, buy, or stitch together a migration pipeline and needs an honest account of what the problem actually contains — before committing to an approach that handles schema conversion but leaves data semantics, CDC gap detection, and cutover atomicity as someone else's problem.
The engineering manager who owns the migration outcome and wants to understand which risks matter, which failure modes are recoverable, and what a product-grade migration system looks like from the inside.
The evaluator — the architect or engineering director comparing build vs buy, with an Oracle license renewal on the horizon, a migration estimate that keeps growing, and a decision to make before committing significant engineering time to any single approach. You need an honest account of what this problem actually contains, and what Pulsaride Transform provides that assembled tooling or a consultancy arrangement does not. Chapter 1, section 1.6 is the right starting point.
What Pulsaride Transform Delivers
The data in this section is drawn from real Pulsaride Transform customer migrations (anonymized). It is not marketing copy. It is here because engineers and decision-makers deserve to see outcomes before committing to an approach.
-
Cutover windows reduced from multi-hour incidents to sub-30-minute planned operations. The 19-minute cutover documented in Chapter 19 is the direct consequence of 18 days of parallel running with automated readiness gates — not exceptional execution.
-
Post-cutover data cleanup reduced by more than 80% compared to point-in-time validation. Teams that run continuous reconciliation throughout parallel running arrive at cutover with zero unresolved discrepancies. Teams that run reconciliation once at the end arrive with a cleanup backlog.
-
Recurring discrepancy classes eliminated by the second migration. The reconciliation pattern engine (Chapter 17) converts recurring findings into approved rules. By the third migration on a team's Oracle estate, pre-cutover reconciliation cleanup time typically drops 40–60% compared to the first.
-
Teams of 3–5 operate migrations that previously required 8–12. The structural work — dependency resolution, staging, CDC replay, cutover gate enforcement — is handled by the product. The team handles the operational layer.
What This Book Is Not
This book is not a vendor comparison. It does not score Oracle against PostgreSQL on feature matrices or argue that PostgreSQL is superior. It takes the migration as given and asks: what does a production-grade system need to handle it correctly?
It is not a schema conversion guide. Tools that convert DATE to TIMESTAMP and NUMBER to NUMERIC exist and are useful. This book begins where they end — at the moment when the converted schema meets real data and real application behavior.
It is not a tutorial for a specific version. SQL examples reflect Oracle 19c and PostgreSQL 15/16 behavior, but the problems described are structural and will be present in any Oracle-to-PostgreSQL migration regardless of version.
How to Read This Book
The chapters form a deliberate sequence. The first four chapters establish the analytical frame: what migration really is, how to read a source system before touching it, and two canonical failure modes (empty-string semantics, type precision loss) that will recur in every migration. Readers who have lived through a migration may find chapters 1–4 confirm what they already know intuitively but did not have language for.
Chapters 5–8 cover object-level migration: names and identifiers, constraints and indexes, sequences and key generation, and PL/SQL translation. These chapters can be read selectively based on what your source schema actually contains.
Chapters 9–12 cover data movement: the full load, CDC, staging, and dependency resolution. These four chapters are tightly coupled and should be read in order.
Chapters 13–17 cover correctness: transactional safety, performance, and the full reconciliation system. Readers primarily concerned with data integrity should read these carefully.
Chapters 18–20 cover operations: observability, cutover execution, and team structure. The cutover chapter (19) is the most operationally dense and worth reading more than once.
The appendices are reference material. Appendix A documents ten edge cases with symptoms and fixes. Appendix B contains six practical labs that can be run against a local Oracle + PostgreSQL stack. Appendix C collects the six operational checklists referenced throughout the book.
Product Version Scope
Code examples and product patterns in this book reflect Pulsaride Transform 1.5.x and Pulsaride Monitoring 1.0.x. The YAML configuration schema, StepConfig API, and reconciliation output format are as shipped in those versions. The changelog (available at the Pulsaride documentation site) tracks breaking changes.
A Note on Examples
Every example in this book is drawn from real Oracle-to-PostgreSQL migrations, anonymized where customer data is involved. Table and column names are chosen to reflect the kinds of schemas that appear in real migrations — not the schemas that appear in textbooks. The ACCOUNT/ACCOUNT_PROFILE mutual foreign key from Chapter 2, the customer code empty-string drift from Chapter 3, the NUMBER(38) overflow from Chapter 4, the 19-minute cutover in Chapter 19 — these are real events.
When an example shows a failure, it shows a failure that happened to someone. When it shows a 19-minute cutover, that happened to someone too.
Pulsaride Transform is available for free at pulsaride.io. If you are reading this as part of an evaluation, the migration trial environment is the fastest way to understand what the structural investment buys you.