我有一个大型应用程序,有多个数据库,有相同的模式。实现什么是最好的解决方案,这样我可以让用户动态地在数据库之间切换以进行查询。为每个数据库创建一个引擎并不是一个解决方案,因为我收到一个“too many connections”postgres错误。这里的主要问题是创建了太多的引擎,那么有没有办法在使用后移除引擎?数据库数量将达到数千个,同时有几百个用户。在
谢谢。在
编辑:这是连接代码
engine = create_engine(datbase_uri)
session = sessionmaker(bind=engine)
^每次需要连接到特定数据库时都会执行此操作。并且是动态完成的(当用户在应用程序中请求时)。问题是,如果多次执行此操作,则会出现“连接太多”错误。在
关闭发动机的最佳方法是什么?在
我们以前也有过同样的问题。在我们的多租户应用程序中,我们使用
set search_path to <schemaName>
psqlquery从特定客户机为dml提供服务。您可以检查SQLAlchemyhere的详细实现关于
too many connections
问题,最好使用连接池。SQLAlchemy的答案是here相关问题 更多 >
编程相关推荐