在docker容器中批量插入Postgres数据库挂起



我试图在一个简单的表结构插入几千条记录到一个postgres表。在我的c#单元测试中,我从最新的docker alpine映像创建了一个新的数据库,然后使用NPGSQL创建了一个表,并尝试插入几千条记录。

在大约11k个记录之后,容器似乎挂起了,最终测试超时。容器停止插入记录后,日志没有显示任何内容。

起初我认为这是NPGSQL,但是在正常(非docker)数据库上进行相同的测试可以正常工作,所以它必须与docker映像有关?我已经尝试了几种不同的设置为docker内存/cpu的,也shared_buffers和max_connections,例如为postgres db。无论如何,测试挂起在相同数量的插入上。

我意识到批量插入最好使用COPY命令完成,但是对于这个测试,多个插入是相关的。

NpgSql 5.0.7PostgreSQL 13.3 on x86_64-pc-linux-musl,由gcc编译(Alpine 10.3.1 1_git20210424) 10.3.1 20210424, 64位

注意到更多操作超时后。我卸载了docker,重新启动了我的机器并重新安装了docker。这似乎暂时解决了问题。

最新更新