Skip to main content
Version: 0.1.0

System Functions

Functions for querying system information, session details, and RaisinDB-specific authentication state.

Standard System Functions

VERSION

Return the RaisinDB server version.

VERSION()TEXT
SELECT VERSION();
-- Result: 'RaisinDB 0.1.0'

CURRENT_SCHEMA

Return the current schema name.

CURRENT_SCHEMA()TEXT
SELECT CURRENT_SCHEMA();

CURRENT_DATABASE

Return the current database name.

CURRENT_DATABASE()TEXT
SELECT CURRENT_DATABASE();

CURRENT_USER

Return the current user name.

CURRENT_USER()TEXT
SELECT CURRENT_USER();

SESSION_USER

Return the session user name.

SESSION_USER()TEXT
SELECT SESSION_USER();

CURRENT_CATALOG

Return the current catalog name.

CURRENT_CATALOG()TEXT
SELECT CURRENT_CATALOG();

RaisinDB Authentication Functions

RAISIN_CURRENT_USER

Return the current RaisinDB authenticated user.

RAISIN_CURRENT_USER()TEXT
SELECT RAISIN_CURRENT_USER();

RAISIN_AUTH_CURRENT_USER

Return detailed information about the currently authenticated user.

RAISIN_AUTH_CURRENT_USER() → JSONB
SELECT RAISIN_AUTH_CURRENT_USER();

RAISIN_AUTH_CURRENT_WORKSPACE

Return the current workspace context for the authenticated user.

RAISIN_AUTH_CURRENT_WORKSPACE()TEXT
SELECT RAISIN_AUTH_CURRENT_WORKSPACE();

RAISIN_AUTH_HAS_PERMISSION

Check if the current user has a specific permission.

RAISIN_AUTH_HAS_PERMISSION(permission)BOOLEAN
ParameterTypeDescription
permissionTEXTPermission name to check
SELECT RAISIN_AUTH_HAS_PERMISSION('write');
SELECT RAISIN_AUTH_HAS_PERMISSION('admin');

RAISIN_AUTH_GET_SETTINGS

Retrieve authentication settings.

RAISIN_AUTH_GET_SETTINGS() → JSONB
SELECT RAISIN_AUTH_GET_SETTINGS();

RAISIN_AUTH_UPDATE_SETTINGS

Update authentication settings.

RAISIN_AUTH_UPDATE_SETTINGS(settings) → JSONB
ParameterTypeDescription
settingsJSONBNew settings to apply
SELECT RAISIN_AUTH_UPDATE_SETTINGS('{"require_mfa": true}');

RAISIN_AUTH_ADD_PROVIDER

Add an authentication provider.

RAISIN_AUTH_ADD_PROVIDER(provider_config) → JSONB
ParameterTypeDescription
provider_configJSONBProvider configuration
SELECT RAISIN_AUTH_ADD_PROVIDER('{
"type": "oauth2",
"name": "github",
"client_id": "..."
}');

RAISIN_AUTH_UPDATE_PROVIDER

Update an existing authentication provider.

RAISIN_AUTH_UPDATE_PROVIDER(provider_name, config) → JSONB
ParameterTypeDescription
provider_nameTEXTName of the provider to update
configJSONBUpdated configuration
SELECT RAISIN_AUTH_UPDATE_PROVIDER('github', '{"enabled": false}');

RAISIN_AUTH_REMOVE_PROVIDER

Remove an authentication provider.

RAISIN_AUTH_REMOVE_PROVIDER(provider_name)BOOLEAN
ParameterTypeDescription
provider_nameTEXTName of the provider to remove
SELECT RAISIN_AUTH_REMOVE_PROVIDER('github');

Notes

  • Standard system functions follow PostgreSQL conventions
  • CURRENT_USER() and SESSION_USER() may differ when impersonation is used
  • RAISIN_AUTH_* functions are specific to RaisinDB's authentication system
  • Authentication management functions require appropriate admin permissions
  • All functions return NULL if the requested information is not available