Skip to content

lolor Release Notes

lolor 1.3.0

  • Add bidirectional large object migration between native PostgreSQL and lolor storage:
  • lolor.migrate_from_native() migrates existing native large objects into lolor storage. This is a manual step (run after CREATE EXTENSION lolor) and requires superuser privileges.
  • lolor.migrate_to_native() migrates lolor large objects back to native storage.
  • Reverse migration runs automatically on DROP EXTENSION lolor, so large objects are never lost when the extension is removed.
  • Migrate from a single writer, then fan out: run migrate_from_native() on one node and let the migrated rows replicate to the other nodes (or add nodes afterward). Both the migrated objects and any newly created large objects are then collision-free — new OIDs are node-encoded via lolor.node, and generated OIDs are checked against existing rows. Running migrate_from_native() independently on more than one already-active node is not supported, because migrated objects preserve their original native OIDs, which lack node-encoding and can collide across nodes.
  • Expanded test coverage: TAP tests for dump/restore, streaming and logical replication, and standby promotion; regression tests for lo_lseek, lo_tell, and lo_truncate.
  • Security hardening: addressed Codacy/Flawfinder warnings.

lolor 1.2.2

  • Fix lolor upgrades
  • Fix issues with pg_upgrade. Note that this fixes upgrades with pg_upgrade going forward. ALTER EXTENSION UPDATE for upgrading the extension itself works, so if wanting to run pg_upgrade, first update your extension to 1.2.2, then run pg_upgrade
  • Address CVEs CVE-2022-26520, GHSA-673j-qm5f-xpv8
  • PATH updated to match native Postgres packaging layout
  • Make table OID caching safer