Skip to main content

Shared instances

pocketPG uses an owner-pays model. The instance owner pays the subscription; invited members get access at no extra cost.

Roles

CapabilityViewerAdminOwner
All monitoring dashboardsYesYesYes
Performance history syncYesYesYes
Cloud metricsYesYesYes
Webhook configurationNoYesYes
Provider credential updatesNoYesYes
Maintenance (VACUUM/ANALYZE/REINDEX)NoYesYes
Invite / remove membersNoNoYes
Query Runner / Explain AnalyzeNoNoYes
View raw credentialsNoNoYes
Delete instanceNoNoYes

Invite flow

  1. Owner clicks MEMBERS on an instance card.
  2. Enter the invitee's email and select a role (viewer or admin).
  3. The invitee must already have a pocketPG account.
  4. An email is sent with an accept link containing a unique token.
  5. Invitee clicks the link, signs in, and the instance appears in their dashboard.
info

The invite token identifies the instance_members row directly — no instance ID is needed in the accept URL. The backend verifies the authenticated user matches the invited user to prevent token theft.

Access control

  • Members never see the raw connection string, SSH private key, or provider credentials. The backend resolves credentials server-side via the instance ID.
  • Member access is gated on the owner having an active subscription. If the owner cancels, members lose access.
  • Query Runner and Explain Analyze are owner-only because they execute user-supplied SQL against the target database.

Legacy connection string path

When connecting via a raw connection string (before saving the instance), every user is treated as the effective owner. RBAC only applies to saved instances where multiple users share a single set of credentials.