v3.3.3
Why 3.3.3 and not 3.3.1. The number jumps to stay in step with the rest of the ecosystem, which
had drifted ahead:redb.Routeandredb.Tsakwere at 3.3.1, andredb.Route.Sql/redb.Route.Sqs
at 3.3.2 (a partial connector release). From 3.3.3 every package ships one number — redb core,
redb.Route and redb.Tsak — so "which versions go together" stops being a question. There are no core
releases numbered 3.3.1 or 3.3.2; the fix below is the only functional change here.
redb.Identitykeeps its own line (1.2.2) but is released together with this — it depends on redb
storage, and without the rebuild its users would stay on the broken init below.
Fixed
- Schema init failed under a non-superuser database owner (
RedBase.Postgres). The embedded
redb_init.sqlcarried a singleALTER FUNCTION migrate_structure_type(...) OWNER TO postgres;
(a leftover from a debugging session — the onlyOWNER TOin the whole script).EnsureCreated=trueruns
the script as one batch, so on a least-privilege setup (app user owns the database but is not a
member of thepostgresrole) the statement failed with "must be able to SET ROLE postgres"
and rolled back the entire first-start initialization. The statement is removed: no function in
the script isSECURITY DEFINER, so ownership never affected execution, and the function now
belongs to the connecting role like every other object — which also keeps future
CREATE OR REPLACEmigrations working. Required app privileges are now just
CONNECT+CREATEon the schema + DML. Note:CREATE EXTENSION IF NOT EXISTS pg_trgmstill
requires the extension to be preinstalled on PostgreSQL ≤ 12 (on PG 13+pg_trgmis a trusted
extension, installable by the database owner).