swh.objstorage.backends.winery.database module#

swh.objstorage.backends.winery.database.DATABASES_CREATED: Set[Tuple[str, str]] = {}#

Set of (conninfo, dbname) entries for databases that we know have been created

swh.objstorage.backends.winery.database.TABLES_CREATED: Set[Tuple[str, str]] = {}#

Set of (conninfo, dbname) entries for databases for which we know tables have been created

class swh.objstorage.backends.winery.database.PoolManager[source]#

Bases: object

Manage a set of connection pools

reset_state() None[source]#

Clean up the state after forking, ConnectionPools aren’t multiprocess-safe

get(conninfo: str, dbname: str, application_name: str | None) ConnectionPool[source]#

Get a reference to this connection pool

release(conninfo: str, dbname: str, application_name: str) None[source]#

Release a reference to this connection pool

class swh.objstorage.backends.winery.database.DatabaseAdmin(dsn, dbname=None, application_name=None)[source]#

Bases: object

admin_cursor()[source]#
create_database()[source]#
drop_database()[source]#
list_databases()[source]#
class swh.objstorage.backends.winery.database.Database(dsn, dbname, application_name=None)[source]#

Bases: ABC

property pool#
abstract property lock#

Return an arbitrary unique number for pg_advisory_lock when creating tables

abstract property database_tables#

Return the list of CREATE TABLE statements for all tables in the database

uninit()[source]#
create_tables()[source]#