Docker容器的 shm_size需要等于或大于Postgresql shared_buffers的大小



PostgreSQL shared_buffers的默认值是128mb

Docker shm_size的默认值是64mb。

如果我在Docker中运行PostgreSQL并尝试运行VACUUM,我得到的错误是:" error: could not resize shared memory segment "/PostgreSQL.1221162100"到67128544字节:设备上没有剩余空间。">

设置shm_size为128m后,VACUUM开始工作。

我的问题是,我做了正确的事情,需要修改Docker容器如上所述,或者这两个项目或多或少是独立的,它偶然开始工作?

PostgreSQL在服务器启动时分配shared_buffers和其他一些共享内存区域。所以我不认为这是巧合。