in Backend/src/app/database.py [0:0]
def connect_with_connector() -> Engine:
instance_connection_name = settings.INSTANCE_CONNECTION_NAME
db_user = settings.IAM_USER
db_name = settings.POSTGRES_DB
ip_type = IPTypes.PRIVATE
# initialize Cloud SQL Python Connector object
connector = Connector(ip_type)
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
instance_connection_name,
"pg8000",
user=db_user,
db=db_name,
enable_iam_auth=True,
ip_type=ip_type,
)
return conn
pool = create_engine(
"postgresql+pg8000://",
creator=getconn,
pool_size=5,
max_overflow=2,
pool_timeout=30,
pool_recycle=1800, # 30 minutes
)
return pool