The key question

Partitioning can simplify data lifecycle management and help specific access patterns, but it does not make every query faster. The target structure should follow access patterns, retention and operational windows.

What to inventory

  • Capture partition and subpartition keys and boundaries.
  • Document assumptions around local and global indexes.
  • Record deletion, archiving and load processes.

Design the target deliberately

Compare the source model with the features of the selected PostgreSQL version. Pay particular attention to uniqueness, constraints, partition pruning and operational DDL. Do not carry over an Oracle indexing strategy without measuring the target access paths.

A concrete validation step

For monthly history tables, month-end boundaries and late-arriving records are useful pilot cases. Verify where late data lands and whether the required partition still exists.

Evidence required before sign-off

  • Test rows exactly on partition boundaries.
  • Measure queries with representative filters and parameters.
  • Test adding and removing partitions as part of operations.
  • Validate uniqueness rules at both business and technical level.

Primary sources & further reading

These recommendations are engineering guidance. Specific options depend on source and target versions, privileges and operating model.