The MANAGE USERS workflow in ParadeDB lets you create, alter, drop, and grant privileges to database roles so teams can safely query ParadeDB objects.
Controlling who can read, write, and administer ParadeDB objects prevents accidental data changes and secures sensitive information. Well-scoped roles also keep query performance predictable.
CREATE ROLE, ALTER ROLE, DROP ROLE, and GRANT are the core statements.ParadeDB stores its data in standard schemas, so normal PostgreSQL privilege rules apply.
Create the role, revoke default rights, then grant SELECT on ParadeDB schemas.Use NOLOGIN service roles plus separate LOGIN roles for better security.
1️⃣ CREATE ROLE parade_reader LOGIN PASSWORD '•••'; 2️⃣ REVOKE ALL ON SCHEMA public, paradedb FROM parade_reader; 3️⃣ GRANT USAGE ON SCHEMA paradedb TO parade_reader; 4️⃣ GRANT SELECT ON ALL TABLES IN SCHEMA paradedb TO parade_reader; 5️⃣ ALTER DEFAULT PRIVILEGES IN SCHEMA paradedb GRANT SELECT ON TABLES TO parade_reader;
Vector indexes live in the paradedb schema.Grant INSERT and UPDATE on the specific index tables while keeping other tables read-only.
Give every micro-service its own LOGIN role; bundle common privileges into NOLOGIN service roles; use ALTER DEFAULT PRIVILEGES so new indexes inherit permissions; audit roles quarterly.
Yes. Wrap multiple GRANT and ALTER ROLE statements in BEGIN/COMMIT to ensure atomic permission changes.
First REVOKE privileges, then DROP ROLE.This avoids orphaned objects owned by the user.
No. Normal database owners can manage roles; superuser only needed for cluster-wide changes.
Existing sessions keep their current search_path access until they reconnect.
.
No. Any role that owns the target database can create and grant roles.
Yes. Use ALTER ROLE old_name RENAME TO new_name; ParadeDB objects follow automatically.
Query information_schema.role_table_grants filtering on paradedb schema.