MagicStack / MagicStack/asyncpg
Share connections from a pool with different databases in the same PG server
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 8.1k
- Forks
- 469
- Merge moyen
- 18 min
- PR mergées (30 j)
- 4
Description
When we are using TLS connections to a PG server the cost to keep opened multiple connections to different databases is high. So I'd like to implement database switching to share the connections from a pool with different databases.
pool = await asyncpg.create_pool(database='postgres')
async def handle(queries):
"""Handle incoming queries."""
results = defaultdict(list)
for dbname, dbqueries in queries.items():
async with pool.acquire() as connection:
connection.set_database(dbname) # I want this !!!
async with connection.transaction():
for query in dbqueries:
result = await connection.execute(query)
results[dbname].append(result)
Is it feasible with asyncpg?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Examinez les points d’entrée du pool et des connexions d’asyncpg, puis vérifiez la sémantique des connexions et des bases de données de PostgreSQL. L’issue ne mentionne aucun fichier ni test ; sa réalisation nécessiterait un périmètre confirmé par un maintainer et un cas d’acceptation reproductible pour partager des connexions regroupées entre plusieurs bases de données.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- postgresql, python
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 20/100