- 3.60.0 (latest)
- 3.59.0
- 3.58.0
- 3.57.0
- 3.56.0
- 3.55.0
- 3.54.0
- 3.53.0
- 3.52.0
- 3.51.0
- 3.50.1
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.1
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.1
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.2
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.1
- 3.14.1
- 3.13.0
- 3.12.1
- 3.11.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.1.1
- 2.0.0
- 1.19.3
- 1.18.0
- 1.17.1
- 1.16.0
- 1.15.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
Database Admin
After creating an Instance, you can
interact with individual databases for that instance.
List Databases
To iterate over all existing databases for an instance, use its
list_databases() method:
for database in instance.list_databases():
# `database` is a `Database` object.
This method yields Database
objects.
Database Factory
To create a Database object:
database = instance.database(database_id, ddl_statements)
ddl_statementsis a list of strings containing DDL statements for the new database.
You can also use the database() method
on an Instance object to create a local wrapper
for a database that has already been created:
database = instance.database(existing_database_id)
Create a new Database
After creating the database object, use its
create() method to
trigger its creation on the server:
operation = database.create()
NOTE: Creating a database triggers a “long-running operation” and
returns a Future-like object. Use
the result() method to wait for
and inspect the result.
Update an existing Database
After creating the database object, you can apply additional DDL statements
via its update_ddl() method:
operation = database.update_ddl(ddl_statements, operation_id)
ddl_statementsis a list of strings containing DDL statements to be applied to the database.operation_idis a string ID for the long-running operation.
NOTE: Updating a database triggers a “long-running operation” and
returns an Operation
object. See Check on Current Database Operation for polling
to find out if the operation is completed.
Drop a Database
Drop a database using its
drop() method:
database.drop()
Check on Current Database Operation
The create() and
update_ddl() methods of the
Database object trigger
long-running operations on the server, and return operations
conforming to the Future class.
>>> operation = database.create()
>>> operation.result()
Non-Admin Database Usage
Use a Snapshot to Read / Query the Database
A snapshot represents a read-only point-in-time view of the database.
Calling snapshot() with
no arguments creates a snapshot with strong concurrency:
with database.snapshot() as snapshot:
do_something_with(snapshot)
See Snapshot for the other options
which can be passed.
NOTE: