Skip to content

Latest commit

 

History

History
97 lines (61 loc) · 4.31 KB

CHANGELOG.md

File metadata and controls

97 lines (61 loc) · 4.31 KB

[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

[0.8.1] - 2023-05-13

  • Gem path and CI fixes

[0.8.0] - 2023-05-13

[0.7.5] - 2023-03-12

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

[0.7.4] - 2022-09-24

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

[0.7.3] - 2022-09-24

  • Update primary key sequence on shadow table shayonj#72
    • Thanks to @brycethornton for the report
  • Only refresh primary key when a sequence is attached shayonj#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 shayonj#72
    • Thanks to @brycethornton for the report

[0.7.1] - 2022-03-13

[0.7.0] - 2022-03-13

[0.6.0] - 2022-02-26

  • Delete items by audit table PK when replaying by @shayonj @jfrost in shayonj#60

[0.5.0] - 2022-02-26

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

[0.4.0] - 2022-02-22

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

[0.3.0] - 2022-02-21

  • Explicitly call dependencies and bump dependencies by @shayonj shayonj#44
  • Introduce Dockerfile and release process shayonj#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.