CockroachDB + Psycopg#
CockroachDB adapter using psycopg with automatic transaction retry logic. Provides both sync and async support.
Sync Configuration#
- class sqlspec.adapters.cockroach_psycopg.CockroachPsycopgSyncConfig[source]#
Bases:
SyncDatabaseConfig[CrdbConnection,ConnectionPool,CockroachPsycopgSyncDriver]Configuration for CockroachDB synchronous connections using psycopg.
- driver_type#
alias of
CockroachPsycopgSyncDriver
- __init__(*, connection_config=None, connection_instance=None, migration_config=None, statement_config=None, driver_features=None, bind_key=None, extension_config=None, observability_config=None, **kwargs)[source]#
- provide_session(*_args, statement_config=None, follower_reads=None, staleness=None, **_kwargs)[source]#
Provide a database session context manager.
- Return type:
CockroachPsycopgSyncSessionContext
- get_signature_namespace()[source]#
Get the signature namespace for this database configuration.
Returns a dictionary of type names to objects (classes, functions, or other callables) that should be registered with Litestar's signature namespace to prevent serialization attempts on database-specific structures.
Async Configuration#
- class sqlspec.adapters.cockroach_psycopg.CockroachPsycopgAsyncConfig[source]#
Bases:
AsyncDatabaseConfig[AsyncCrdbConnection,AsyncConnectionPool,CockroachPsycopgAsyncDriver]Configuration for CockroachDB async connections using psycopg.
- driver_type#
alias of
CockroachPsycopgAsyncDriver
- __init__(*, connection_config=None, connection_instance=None, migration_config=None, statement_config=None, driver_features=None, bind_key=None, extension_config=None, observability_config=None, **kwargs)[source]#
- provide_session(*_args, statement_config=None, follower_reads=None, staleness=None, **_kwargs)[source]#
Provide a database session context manager.
- Return type:
CockroachPsycopgAsyncSessionContext
- async provide_pool(*args, **kwargs)[source]#
Provide pool instance.
- Return type:
AsyncConnectionPool
- get_signature_namespace()[source]#
Get the signature namespace for this database configuration.
Returns a dictionary of type names to objects (classes, functions, or other callables) that should be registered with Litestar's signature namespace to prevent serialization attempts on database-specific structures.
Sync Driver#
- class sqlspec.adapters.cockroach_psycopg.CockroachPsycopgSyncDriver[source]#
Bases:
PsycopgSyncDriverCockroachDB sync driver using psycopg.crdb.
- run_transaction_with_retry(operation)[source]#
Execute a full CockroachDB transaction callback with serialization retries.
- Return type:
TypeVar(_T)
- handle_database_exceptions()[source]#
Handle database-specific exceptions and wrap them appropriately.
- Return type:
CockroachPsycopgSyncExceptionHandler
- property data_dictionary: CockroachPsycopgSyncDataDictionary#
Get the data dictionary for this driver.
- Returns:
Data dictionary instance for metadata queries
Async Driver#
- class sqlspec.adapters.cockroach_psycopg.CockroachPsycopgAsyncDriver[source]#
Bases:
PsycopgAsyncDriverCockroachDB async driver using psycopg.crdb.
- async run_transaction_with_retry(operation)[source]#
Execute a full CockroachDB transaction callback with serialization retries.
- Return type:
TypeVar(_T)
- async dispatch_execute_many(cursor, statement)[source]#
Execute SQL with multiple parameter sets (async).
- async dispatch_execute_script(cursor, statement)[source]#
Execute SQL script with multiple statements (async).
- handle_database_exceptions()[source]#
Handle database-specific exceptions and wrap them appropriately.
- Return type:
CockroachPsycopgAsyncExceptionHandler
- property data_dictionary: CockroachPsycopgAsyncDataDictionary#
Get the data dictionary for this driver.
- Returns:
Data dictionary instance for metadata queries
Retry Configuration#
Sync Data Dictionary#
- class sqlspec.adapters.cockroach_psycopg.data_dictionary.CockroachPsycopgSyncDataDictionary[source]#
Bases:
SyncDataDictionaryBaseCockroachDB sync data dictionary.
- dialect: ClassVar[str] = 'cockroachdb'#
Dialect identifier. Must be defined by subclasses as a class attribute.
- get_metadata_capabilities(driver, domains=None)[source]#
Get CockroachDB data-dictionary capability profile.
- Return type:
MetadataCapabilityProfile
- get_system_metadata_capabilities(driver, domains=None)[source]#
Get CockroachDB opt-in system metadata capability disclosures.
- get_table_details(driver, table, schema=None)[source]#
Get rich table metadata.
- Return type:
MetadataResult
- get_constraints(driver, table=None, schema=None)[source]#
Get constraint metadata.
- Return type:
MetadataResult
- get_privileges(driver, object_name=None, schema=None)[source]#
Get privilege metadata.
- Return type:
MetadataResult
- get_dependencies(driver, object_name=None, schema=None)[source]#
Get stable dependency metadata.
- Return type:
MetadataResult
- get_ddl(driver, object_name, schema=None, *, object_type='table', include_dependencies=True, prefer_native=True, redact=True)[source]#
Get lossy CockroachDB DDL status without parameterized identifiers.
- Return type:
DDLResult
- get_system_metadata(driver, request=None, **kwargs)[source]#
Get opt-in CockroachDB system metadata.
- Return type:
SystemMetadataResult
- get_feature_flag(driver, feature)[source]#
Check if CockroachDB supports a specific feature.
- Return type:
- get_optimal_type(driver, type_category)[source]#
Get optimal CockroachDB type for a category.
- Return type:
- get_tables(driver, schema=None)[source]#
Get tables sorted by dependency order.
- Return type:
list[TableMetadata]
- get_columns(driver, table=None, schema=None)[source]#
Get column information for a table or schema.
- Return type:
list[ColumnMetadata]
Async Data Dictionary#
- class sqlspec.adapters.cockroach_psycopg.data_dictionary.CockroachPsycopgAsyncDataDictionary[source]#
Bases:
AsyncDataDictionaryBaseCockroachDB async data dictionary.
- dialect: ClassVar[str] = 'cockroachdb'#
Dialect identifier. Must be defined by subclasses as a class attribute.
- async get_metadata_capabilities(driver, domains=None)[source]#
Get CockroachDB data-dictionary capability profile.
- Return type:
MetadataCapabilityProfile
- async get_system_metadata_capabilities(driver, domains=None)[source]#
Get CockroachDB opt-in system metadata capability disclosures.
- async get_objects(driver, schema=None)[source]#
Get database object metadata.
- Return type:
MetadataResult
- async get_table_details(driver, table, schema=None)[source]#
Get rich table metadata.
- Return type:
MetadataResult
- async get_constraints(driver, table=None, schema=None)[source]#
Get constraint metadata.
- Return type:
MetadataResult
- async get_privileges(driver, object_name=None, schema=None)[source]#
Get privilege metadata.
- Return type:
MetadataResult
- async get_dependencies(driver, object_name=None, schema=None)[source]#
Get stable dependency metadata.
- Return type:
MetadataResult
- async get_ddl(driver, object_name, schema=None, *, object_type='table', include_dependencies=True, prefer_native=True, redact=True)[source]#
Get lossy CockroachDB DDL status without parameterized identifiers.
- Return type:
DDLResult
- async get_system_metadata(driver, request=None, **kwargs)[source]#
Get opt-in CockroachDB system metadata.
- Return type:
SystemMetadataResult
- async get_version(driver)[source]#
Get CockroachDB version information.
- Return type:
VersionInfo|None
- async get_feature_flag(driver, feature)[source]#
Check if CockroachDB supports a specific feature.
- Return type:
- async get_optimal_type(driver, type_category)[source]#
Get optimal CockroachDB type for a category.
- Return type:
- async get_tables(driver, schema=None)[source]#
Get tables sorted by dependency order.
- Return type:
list[TableMetadata]
- async get_columns(driver, table=None, schema=None)[source]#
Get column information for a table or schema.
- Return type:
list[ColumnMetadata]