Skip to content

Upgrading pg 0.21 to 1

Breaking0.21.0 → 1.7.0Breaking3Security2Platform4New12Changed27Fixed31Other9

Fetching 46 releases from GitHub…10 / 46
BreakingUpgrade verdict

3 breaking changes and 4 platform requirement changes and 2 security fixes.

  • Removes :static_symbol result field names.
  • Internal code no longer accesses a file descriptor field that newer Ruby versions forbid.
  • Code that checked for a 0 return value must now rescue an exception instead.
  • The library now requires Ruby 3.1 or newer.
Top 5 of 9 that need code or config changes

Ruby requirement changed in 1.7.0: >= 2.0.0 → >= 3.1.

Breaking3
Removes :static_symbol result field names.
:static_symbol
Removes deprecated use of fptr->fd, which is disallowed since ruby-3.4.
fptr->fd
Changes conn.server_version and conn.protocol_version to raise instead of return 0 on error.
conn.server_versionconn.protocol_version
Security2
Prevents SQL injection in set_client_encoding.
set_client_encoding
Fixes possible buffer overflows in PG::BinaryDecoder::CopyRow on 32-bit systems.
PG::BinaryDecoder::CopyRow
Platform4
Removes compatibility with Ruby below 3.1, dropping support for ruby-2.7 and ruby-3.0.
Drops binary gem support for platform x86-mingw32.
x86-mingw32
Drops support for Ruby versions below 2.7.
Drops support for PostgreSQL versions below 10.