ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker Postgresql shm size 변경(Volume mount 방법)(Error: could not resize shared memory segment)
    데이터엔지니어 2023. 7. 18. 11:31

    배경상황

    =>Docker postgres 컨테이너 생성 후 DB운영

    =>Python- psycopg2 라이브러리로 DB 연결 후 SQL 실행

     

    Error 발생

    1
    ERROR:  could not resize shared memory segment "/PostgreSQL.1808576942" to 16777216 bytes: No space left on device
    cs

     

     

    문제 해결

    =>도커 컨테이너의 shm(shared memory) 영역을 확장해 주면됨

    But 도커 컨테이너의 shm을 변경하기 위해서는 

    docker run ~~~

    으로 컨테이너를 다시 만들어야함(stop, start 적용 안됨)

     

    =>shm가 변경된 새로운 컨테이너를 만든 후, 기존 DB에 연결된 볼륨(데이터가 저장 된 공간) 을 새 컨테이너에 마운트 시켜줘야함

     

     

    1.실행중인 기존 DB 컨테이너 이름 확인

    $ docker ps
    docker ps 명령어 결과

    2. docker inspect 명령어로 기존 DB에 마운트 된 Volume 명 확인

    $ docker inspect 컨테이너명
    docker inspect  실행결과1
    docker inspect  실행결과2

     

    3. "shm 옵션"을 넣어 docker run 실행

    $ docker run -p 5432:5432 -v 034d21732b57fca58cf4d8bdd94140541cdbba1977e42cbdee6aa12f45bbb1ab:/var/lib/postgresql/data -itd --shm-size=2g --name postgrespostgres

     

     

     

     

    =>shm 이 2Gb 로 재설정 된 도커 DB 컨테이너에서 해당 문제를 해결 할 수 있음

     

     

     

     

    '데이터엔지니어' 카테고리의 다른 글

    Airflow-Docker Compose 설치하기-(1) 배경  (0) 2023.02.01
Designed by Tistory.