Users & Privileges
PulseDB lets you manage PostgreSQL database users and their privileges directly from the web interface. View user attributes, monitor active connections, and control access to schemas and tables.
User list
The Users page displays a table of all database roles with key attributes:
| Column | Description |
|---|---|
| Username | Role name with user icon |
| Attributes | Tags for Login, Superuser, Create DB, Replication |
| Member Of | Role memberships (groups the user belongs to) |
| Connections | Active connection count (badge) |
| Valid Until | Password expiry date (∞ for no expiry) |
System roles (postgres, pg_*) are shown but protected from deletion.
Creating a user
Click Create User to open the creation modal with the following fields:
| Field | Description |
|---|---|
| Username | The role name |
| Password | Login password |
| Can Login | Allow connection to the database |
| Superuser | Bypass all privilege checks |
| Create DB | Allow creating new databases |
| Replication | Allow replication connections |
| Valid Until | Optional password expiration date |
The underlying SQL is equivalent to CREATE ROLE with the specified options and password.
Dropping a user
- Click the delete icon next to any non-system user
- Confirm in the dialog
- The user is removed with
DROP ROLE IF EXISTS
System users (postgres, pg_*) cannot be dropped from the interface.
Managing privileges
Click Grants on any user row to expand a panel showing its current privileges, grouped by schema and table.
Each row displays:
- Schema — the schema name
- Table — the table name
- Privileges — granted permissions (SELECT, INSERT, UPDATE, DELETE, etc.) as tags
- Grantable — whether the user can grant these privileges to others
Granting privileges
Use the API to grant privileges on a schema or table:
{
targetType: "TABLE" | "SCHEMA",
targetSchema: "public",
targetTable?: "users", // required for TABLE type
privileges: ["SELECT", "INSERT"],
grantOption: false
}
Revoking privileges
Privileges are revoked per schema/table by specifying the exact set of permissions to remove.
Privilege types
Common PostgreSQL privileges you can manage:
| Privilege | Description |
|---|---|
| SELECT | Read rows from a table |
| INSERT | Insert new rows |
| UPDATE | Modify existing rows |
| DELETE | Remove rows |
| TRUNCATE | Truncate a table |
| REFERENCES | Create foreign key references |
| TRIGGER | Create triggers on a table |
| ALL | All privileges |
Encryption
User passwords are encrypted at rest using AES-256-GCM and are never exposed in API responses or the user interface.