psql查询报错
could not resize shared memory segment "/PostgreSQL.1583179098" to 8388608 bytes: No space left on device; nested exception is org.postgresql.util.PSQLException: ERROR: could not resize shared memory segment
出现的原因:
PostgreSQL动态共享内存过小,但是Docker的默认/dev/shm大小为64MB
解决办法:
修改PostgreSQL共享内存的大小:
查看现在容器中分配/dev/shm内存的大小
$ docker exec -it ID bash
$ df -h | grep shm
shm 64M 0 256M 0% /dev/shm
1、找到要修改容器的 ID,及本地存储位置
docker ps -a;
docker inspect ddd6ab37dbc8 | grep Id
cd /var/lib/docker/containers/查到的id
2、打开hostconfig.json文件
systemctl stop docker
vim hostconfig.json
修改ShmSize":268435456参数的大小256M
systemctl start docker
再次进入容器中查看
$ docker exec -it ID bash
$ df -h | grep shm
shm 256M 0 256M 0% /dev/shm