我正在使用 python 脚本将一些数据加载到我的 postgres 数据库中。这些数据都在巨大的csv文件中,所以我懒洋洋地读取它们并对批量数据调用INSERT语句。然而,这些数据在某种意义上都是“连接的”,因此将整个数据加载管道维护为单个事务是很好的,这样如果其中的某些部分失败,则可以全部回滚。
我的问题是:我正在努力让这些巨大的 csv 文件在我的 python 脚本中保持在内存不足的状态,但是,由于整个数据加载是一个事务,所有数据最终都会在 postgres 端内存中吗东西的?单个 INSERT 事务是否必须将其所有数据完全放入内存中?