(Optional) session pool to be used by database. If not passed, the database will construct an instance of BurstyPool.
logger
logging.Logger
(Optional) a custom logger that is used if log_commit_stats is True to log commit statistics. If not passed, a logger will be created when needed that will log the commit statistics to stdout.
(Optional) Encryption configuration for the database. If a dict is provided, it must be of the same form as either of the protobuf messages EncryptionConfig or RestoreDatabaseEncryptionConfig
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Module database (3.57.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/google.cloud.spanner_v1.database)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/google.cloud.spanner_v1.database)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/google.cloud.spanner_v1.database)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/google.cloud.spanner_v1.database)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/google.cloud.spanner_v1.database)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/google.cloud.spanner_v1.database)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/google.cloud.spanner_v1.database)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/google.cloud.spanner_v1.database)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/google.cloud.spanner_v1.database)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/google.cloud.spanner_v1.database)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/google.cloud.spanner_v1.database)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/google.cloud.spanner_v1.database)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/google.cloud.spanner_v1.database)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/google.cloud.spanner_v1.database)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/google.cloud.spanner_v1.database)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/google.cloud.spanner_v1.database)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/google.cloud.spanner_v1.database)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/google.cloud.spanner_v1.database)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/google.cloud.spanner_v1.database)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/google.cloud.spanner_v1.database)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/google.cloud.spanner_v1.database)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/google.cloud.spanner_v1.database)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/google.cloud.spanner_v1.database)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/google.cloud.spanner_v1.database)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/google.cloud.spanner_v1.database)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/google.cloud.spanner_v1.database)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/google.cloud.spanner_v1.database)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/google.cloud.spanner_v1.database)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/google.cloud.spanner_v1.database)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/google.cloud.spanner_v1.database)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/google.cloud.spanner_v1.database)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/google.cloud.spanner_v1.database)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/google.cloud.spanner_v1.database)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/google.cloud.spanner_v1.database)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/google.cloud.spanner_v1.database)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/google.cloud.spanner_v1.database)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/google.cloud.spanner_v1.database)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/google.cloud.spanner_v1.database)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/google.cloud.spanner_v1.database)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/google.cloud.spanner_v1.database)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/google.cloud.spanner_v1.database)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/google.cloud.spanner_v1.database)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/google.cloud.spanner_v1.database)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/google.cloud.spanner_v1.database)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/google.cloud.spanner_v1.database)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/google.cloud.spanner_v1.database)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/google.cloud.spanner_v1.database)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/google.cloud.spanner_v1.database)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/google.cloud.spanner_v1.database)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/google.cloud.spanner_v1.database)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/google.cloud.spanner_v1.database)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/google.cloud.spanner_v1.database)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/google.cloud.spanner_v1.database)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/google.cloud.spanner_v1.database)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/google.cloud.spanner_v1.database)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/google.cloud.spanner_v1.database)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/google.cloud.spanner_v1.database)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/google.cloud.spanner_v1.database)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/google.cloud.spanner_v1.database)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/google.cloud.spanner_v1.database)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/google.cloud.spanner_v1.database)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/google.cloud.spanner_v1.database)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/google.cloud.spanner_v1.database)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/google.cloud.spanner_v1.database)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/google.cloud.spanner_v1.database)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/google.cloud.spanner_v1.database) \nUser-friendly container for Cloud Spanner Database.\n\nClasses\n-------\n\n### [BatchCheckout](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database.BatchCheckout)\n\n BatchCheckout(\n database,\n request_options=None,\n max_commit_delay=None,\n exclude_txn_from_change_streams=False,\n isolation_level=IsolationLevel.ISOLATION_LEVEL_UNSPECIFIED,\n **kw\n )\n\nContext manager for using a batch from a database.\n\nInside the context manager, checks out a session from the database,\ncreates a batch from it, making the batch available.\n\nCaller must *not* use the batch to perform API requests outside the scope\nof the context manager.\n\n### [BatchSnapshot](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database.BatchSnapshot)\n\n BatchSnapshot(\n database,\n read_timestamp=None,\n exact_staleness=None,\n session_id=None,\n transaction_id=None,\n )\n\nWrapper for generating and processing read / query batches.\n\n### [Database](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database.Database)\n\n Database(\n database_id,\n instance,\n ddl_statements=(),\n pool=None,\n logger=None,\n encryption_config=None,\n database_dialect=DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED,\n database_role=None,\n enable_drop_protection=False,\n proto_descriptors=None,\n )\n\nRepresentation of a Cloud Spanner Database.\n\nWe can use a `Database` to:\n\n- `create` the database\n- `reload` the database\n- `update` the database\n- `drop` the database\n\n### [MutationGroupsCheckout](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database.MutationGroupsCheckout)\n\n MutationGroupsCheckout(database)\n\nContext manager for using mutation groups from a database.\n\nInside the context manager, checks out a session from the database,\ncreates mutation groups from it, making the groups available.\n\nCaller must *not* use the object to perform API requests outside the scope\nof the context manager.\n\n### [SnapshotCheckout](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.database.SnapshotCheckout)\n\n SnapshotCheckout(database, **kw)\n\nContext manager for using a snapshot from a database.\n\nInside the context manager, checks out a session from the database,\ncreates a snapshot from it, making the snapshot available.\n\nCaller must *not* use the snapshot to perform API requests outside the\nscope of the context manager."]]