Skip to content

baldur.interfaces — PostgreSQL Admin

The PostgreSQL-admin provider contract — connection statistics and advisory-lock results.

PostgreSQL admin

PgAdminProvider

Bases: ABC

Abstract interface for PostgreSQL admin SQL primitives.

Concrete implementations route SQL through a runtime-specific cursor (Django connections[alias].cursor(), DB-API 2.0 conn.cursor(), or noop). Callers should not assume any specific backend.

Availability gate: is_available() returns False for the no-op implementation so consumers can omit PG-specific keys from their response dicts when the underlying runtime cannot satisfy the contract.

is_available abstractmethod

is_available() -> bool

Return True iff this provider can execute PG admin SQL.

ping abstractmethod

ping() -> bool

Verify connectivity with SELECT 1.

get_connection_stats abstractmethod

get_connection_stats() -> ConnectionStats

Read connection state counts from pg_stat_activity.

get_active_connection_count abstractmethod

get_active_connection_count() -> int

Return the count of state = 'active' rows in pg_stat_activity.

pg_sleep abstractmethod

pg_sleep(seconds: float) -> None

Execute SELECT pg_sleep(...).

execute_slow_query abstractmethod

execute_slow_query(seconds: int) -> None

Hold a backend session via pg_sleep for the given duration.

get_backend_pid_with_delay abstractmethod

get_backend_pid_with_delay(
    delay_seconds: float = 0.01,
) -> int

Return pg_backend_pid() after a brief pg_sleep delay.

acquire_advisory_lock abstractmethod

acquire_advisory_lock(
    lock_id: int, wait: bool = True
) -> bool

Acquire an exclusive advisory lock.

acquire_advisory_lock_shared abstractmethod

acquire_advisory_lock_shared(
    lock_id: int, wait: bool = True
) -> bool

Acquire a shared advisory lock.

release_advisory_lock abstractmethod

release_advisory_lock(lock_id: int) -> bool

Release an exclusive advisory lock.

release_advisory_lock_shared abstractmethod

release_advisory_lock_shared(lock_id: int) -> bool

Release a shared advisory lock.

try_advisory_lock abstractmethod

try_advisory_lock(lock_id: int) -> bool

Attempt a non-blocking exclusive advisory lock.

set_lock_timeout abstractmethod

set_lock_timeout(timeout_ms: int) -> None

Set session-level lock_timeout in milliseconds (0 = unlimited).

set_statement_timeout abstractmethod

set_statement_timeout(timeout_ms: int) -> None

Set session-level statement_timeout in milliseconds (0 = unlimited).

reset_timeouts abstractmethod

reset_timeouts() -> None

Reset both lock_timeout and statement_timeout to unlimited.

execute_aggregate_query abstractmethod

execute_aggregate_query(
    table_name: str,
) -> tuple[int, float, float, float]

Execute COUNT/AVG/MAX/MIN over table_name.

Returns (total_count, avg_price, max_price, min_price).

execute_nonexistent_table_query abstractmethod

execute_nonexistent_table_query() -> None

Execute a query against a missing table (used to trigger CB failures).

execute_timeout_query abstractmethod

execute_timeout_query(
    timeout_ms: int = 1, sleep_seconds: int = 1
) -> None

Execute a query that exceeds statement_timeout (CB testing).

advisory_lock_context abstractmethod

advisory_lock_context(
    lock_id: int, exclusive: bool = True, wait: bool = True
) -> Generator[bool, None, None]

Hold an advisory lock for the duration of a with block.

timeout_context abstractmethod

timeout_context(
    lock_timeout_ms: int = 0, statement_timeout_ms: int = 0
) -> Generator[None, None, None]

Apply session timeouts within a with block, restoring on exit.

create_cursor abstractmethod

create_cursor() -> Any

Create a cursor whose lifecycle is owned by the caller.

Used by pool-exhaustion paths that hold cursors externally (StressTestService._held_connections).

execute_with_cursor abstractmethod

execute_with_cursor(
    cursor: Any, query: str, params: list[Any] | None = None
) -> Any

Execute query on a caller-supplied cursor and return fetchone().

ConnectionStats dataclass

ConnectionStats(
    total_connections: int,
    active: int,
    idle: int,
    idle_in_transaction: int,
)

PostgreSQL connection statistics from pg_stat_activity.

AdvisoryLockResult dataclass

AdvisoryLockResult(
    acquired: bool, lock_id: int, error: str | None = None
)

Result of an advisory lock attempt.