Replies: 1 comment 1 reply
|
Taking your questions in order, and treating your local GoTrue findings as the design input (they match how the hosted service behaves for everything that's config-level): Q1 — no. There is no supported pause/quiesce mechanism for hosted Auth. Project pause stops PostgreSQL too, and every Auth-level toggle you tested ( Q2 — no documented drain. The two properties you need (bounded in-flight work, verifiable completion) have to come from the components you do control, which brings us to: Q3 — invert the quiescence point: gate at the receiver, not at Auth. Your invariant is really about external effects ("no emails, no receipt commits against
The nice property of this shape: correctness no longer depends on any undocumented GoTrue behavior — timeouts, retries, and delayed sends all degrade into "one more queued payload". The one thing it deliberately does not give you is blocking the auth schema's own writes (invitation rows etc.) — but your upgrade targets If you want the Ask-the-staff version of Q1 on record, this thread is the right place — but the receiver-side gate above is the procedure I'd run for an evidence-lab invariant like yours. |
Uh oh!
There was an error while loading. Please reload this page.
Supported way to pause Supabase Auth during PostgreSQL maintenance without stopping the database?
Context
We use a managed Supabase Pro project as an isolated evidence lab. We need to perform a one-time transactional upgrade of an application-owned PostgreSQL schema ("auth_evidence_ops"), while keeping PostgreSQL and the connection pooler available.
Supabase Auth has an HTTP Send Email Hook connected to an external receiver that persists durable receipts using an independent database connection.
What we need
A verifiable maintenance procedure to prevent new Auth operations capable of producing emails or Send Email Hook callbacks, including administrative operations and requests from existing sessions.
We also need to account for in-flight requests, retries, and delayed effects before starting the database upgrade.
What we've investigated
Using an isolated local environment with GoTrue v2.195.0, PostgreSQL 17.11, and synthetic data, we evaluated:
None demonstrated complete Auth quiescence.
We also reproduced a case where Auth returned HTTP 500 without retaining a new Auth user, while the external receiver had already committed its receipt. Hook timeouts did not guarantee cancellation of remote work.
These results are local, not evidence of hosted behavior.
We reviewed "Supabase discussion #29370" (https://github.com/orgs/supabase/discussions/29370), but its no-op Hook approach does not appear to provide complete Auth quiescence.
Questions
No hosted configuration changes or migrations have been performed.
We would appreciate guidance from Supabase maintainers or community members familiar with managed Auth internals and maintenance procedures.
All reactions