Skip to content

Latest commit

 

History

History
127 lines (78 loc) · 5.02 KB

CHANGELOG.md

File metadata and controls

127 lines (78 loc) · 5.02 KB

[0.9.8] - 2024-01-15

  • Dependency updates

[0.9.7] - 2024-01-15

  • Introduce the ability to show estimated progress of copy - #146

[0.9.6] - 2023-11-04

  • Fix and add links to caveats section in #130
  • Refresh views across all schemas post swap in #134

[0.9.5] - 2023-10-15

  • Validate one constraint at a time in #124
  • Introduce --skip-foreign-key-validation in #125

[0.9.4] - 2023-09-17

  • Resolving gem push and sync glitch in 0.9.3

[0.9.3] - 2023-09-17

  • Dependency updates
  • Adding support for showing the gem version with -v or --version by @brycethornton #101
  • Fix for INSERT's failing for long table names by @ahilmer #116
  • Get view definition of a view from dedicated schema by @shayonj #117

[0.9.2] - 2023-07-03

  • Dependency updates
  • Create shadow and audit with auatovacuum default turned off. Should avoid lock queues when disabling vacuum on audit table. #97

[0.9.1] - 2023-06-24

  • Dependency updates and refresh docker release process with multi-platform build

[0.9.0] - 2023-05-22

  • Fix typo in README.md #87
  • Support for views #88

[0.8.1] - 2023-05-13

  • Gem path and CI fixes

[0.8.0] - 2023-05-13

  • Ruby 3.1.3 and prettier/ruby #83
  • Ruby matrix in ci and require ruby 2.7+ #84
  • Re-enable autovacuum by @jfrost #85

[0.7.5] - 2023-03-12

  • Bump google-protobuf from 3.21.6 to 3.21.7 #76
  • Supports tablenames containing uppercase letters #77
  • Update rubocop todo #78
  • Ensure original triggers are carried over from parent table #79

[0.7.4] - 2022-09-24

  • off-by-one: Don't skip PK sequence value by one #74

[0.7.3] - 2022-09-24

  • Update primary key sequence on shadow table #72
    • Thanks to @brycethornton for the report
  • Only refresh primary key when a sequence is attached #73

[0.7.2] - 2022-09-17

NOTE: Skip to 0.7.3. 0.7.2 release missed the change.

  • Update primary key sequence on shadow table #72
    • Thanks to @brycethornton for the report

[0.7.1] - 2022-03-13

[0.7.0] - 2022-03-13

  • Move CI to Github Actions in #64
  • Set --password as optional since it is deprecated in #66
  • Smoke tests in #65
  • Add foreign keys to parent during swap in #67

[0.6.0] - 2022-02-26

  • Delete items by audit table PK when replaying by @shayonj @jfrost in #60
    • Fixes a race condition issue: #58

[0.5.0] - 2022-02-26

  • Share some preliminary load test figures in #54
  • Reuse existing transaction open for reading table columns in #53
  • Start to deprecate --password with PGPASSWORD in #56
  • Introduce configurable PULL_BATCH_COUNT and DELTA_COUNT in #57

[0.4.0] - 2022-02-22

  • Lint sourcecode, setup Rubocop proper and Lint in CI by @shayonj in #46
  • Uniquely identify operation_type column by @shayonj in #50
  • Introduce primary key on audit table for ordered reads by @shayonj in #49
    • This addresses an edge case with replay.
  • Uniquely identify trigger_time column by @shayonj in #51
  • Abstract assertions into a helper function by @shayonj in #52

[0.3.0] - 2022-02-21

  • Explicitly call dependencies and bump dependencies by @shayonj #44
  • Introduce Dockerfile and release process #45

[0.2.0] - 2022-02-17

  • Use ISOLATION LEVEL SERIALIZABLE (#42) (props to @jfrost)

[0.1.0] - 2022-02-16

Initial release

pg-online-schema-change (pg-osc) is a tool for making schema changes (any ALTER statements) in Postgres tables with minimal locks, thus helping achieve zero downtime schema changes against production workloads.

pg-osc uses the concept of shadow table to perform schema changes. At a high level, it copies the contents from a primary table to a shadow table, performs the schema change on the shadow table and swaps the table names in the end while preserving all changes to the primary table using triggers (via audit table).

Checkout Readme for more details.