SQLAlchemy和Postgres的连接池

3 投票
1 回答
2126 浏览
提问于 2025-04-18 07:01

我遇到了一种情况,我有很多独立的数据库连接(接近1000个),每个客户都有自己的数据库。在使用SQLAlchemy时,我会打开和关闭连接,以保持最大连接数较低。不过,频繁地打开和关闭连接似乎会带来一些负担,所以我在想是否可以使用连接池。因为这些数据库是不同的,我想知道SQLAlchemy的连接池在这里能帮我什么?

我不太清楚这个连接池是连接到Postgres服务器,还是连接到每个独立的数据库(看起来是连接到每个数据库)。

我基本上想要一个机制,让连接池能够连接、切换到不同的数据库。有没有什么建议?

1 个回答

2

SQLAlchemy 默认启用了一个应用内的连接池,这个功能可以在 连接池 的文档中找到。个人认为,这个连接池对于单个进程中的一般连接使用已经足够好了。不过,喜欢使用 Postgresql 的人通常会推荐使用 PGBouncer,这样可以获得更好的性能和灵活的配置,特别是在多进程环境中,可以更均匀地分配连接。

撰写回答