Do not speak Portuguese? Translate this site with Google or Bing Translator
PostgreSQL No space left on device

Posted on: December 29, 2021 07:10 PM

Posted by: Renato

Views: 2352

# PostgreSQL: Corrigir error: No space left on device


# Laravel Error Postgres


## SQLSTATE[53100]: Disk full: 7 ERROR: could not resize shared memory segment "/PostgreSQL.2066198186" to 2097152 bytes: No space left on device


## PG throws could not resize shared memory segment error

> SELECT pg_size_pretty( pg_database_size('postgres'));
-------------------------------------------------------------------------------------------------------------------------------------------
df -h /dev/shm

docker exec -it postgres-master df -h /dev/shm

-------------------------------------------------------------------------------------------------------------------------------------------

## Você deve aumentar o limite ao iniciar o contêiner postgres incluindo o parâmetro --shm-size = 1g.
## (ou como o link sugere, desative o paralelismo na página 10 com max_parallel_workers_per_gather = 0)

> disable parallelism in pg10 with max_parallel_workers_per_gather = 0)

-------------------------------------------------------------------------------------------------------------------------------------------

docker run -itd --shm-size=1g postgres

db:
  image: "postgres:11.3-alpine"
  shm_size: 1g


-------------------------------------------------------------------------------------------------------------------------------------------

Você pode aumentar o tamanho do shm remontando-o sem reiniciar / reconstruir o contêiner

mount -o remount,size=256m -t tmpfs /var/lib/docker/containers/your-container-id/mounts/shm

-------------------------------------------------------------------------------------------------------------------------------------------

version: '3.7'
services:
  postgres:
    image: registry.my-site.com/postgres:latest
    build:
      shm_size: '4gb'
      
      
docker-compose -f docker-compose.release.yml build      

-------------------------------------------------------------------------------------------------------------------------------------------

version: '3.5'
services:
  your_service:
    build:
      context: .
      shm_size: '2gb' <-- this will set the size when BUILDING
    shm_size: '2gb' <-- when RUNNING

-------------------------------------------------------------------------------------------------------------------------------------------

docker run -it --shm-size=256m oracle11g /bin/bash

-------------------------------------------------------------------------------------------------------------------------------------------

## Exemplo

version: "3.6"

services:

 #other services go here..
 postgres:
    restart: always
    image: postgres:10
    hostname: postgres
    container_name: fiware-postgres
    expose:
      - "5432"
    ports:
      - "5432:5432"
    networks:
      - default
    environment:
      - "POSTGRES_PASSWORD=password"
      - "POSTGRES_USER=postgres"
      - "POSTGRES_DB=postgres"
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    build:
      context: .
      shm_size: 256mb
    shm_size: 512mb
-------------------------------------------------------------------------------------------------------------------------------------------
    
# Testei isto:

show max_parallel_workers_per_gather;

set max_parallel_workers_per_gather=0;

-------------------------------------------------------------------------------------------------------------------------------------------
    
## Mais sobre o assunto:

## 64 mb, Coral!!
Alguém ouviu o tio Gates («640k deve ser o suficiente para qualquer pessoa») e iniciou os contêineres com as configurações padrão. Mas as consultas de vôo de Postgres e Grafana discordam de você, sr. Gates, e 64 MB não é suficiente para eles.

Vamos aumentar o tamanho do shm para 256 MB primeiro, e então veremos. Isso pode ser feito de diferentes maneiras:    


1) Adicionando o argumento ao seu app.yml (se all-in-one) ou data.yml (se postgres separado):

> docker_args: “ — shm-size=256m”

2) Recrie o contêiner com o argumento shm-size adicional:
`docker run — shm-size=256m — name postgresM -e POSTGRES_PASSWORD=pass -d postgres`

3) Se você estiver usando um docker-compose, poderá adicionar shm-size ao docker-compose.yml:
```
version: ‘3.5’services:  your_service:    build:      context: .      shm_size: ‘256mb’ ← set the size for building    shm_size: ‘256mb’ ← for running
```

## Check:
```
docker exec -it postgresM df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
shm 256M 8.0K 256M 1% /dev/shm
```

Hoje dia 12/03/2024 fiz diferente, rodei diretamente este comando no container

cd /var/lib/docker/containers/fa8f5bdfc1ddd9161b8426953f9b8c5bf7e7a0ffc5012367302dcdf2af95377d/

mount -o remount,size=256m -t tmpfs /var/lib/docker/containers/fa8f5bdfc1ddd9161b8426953f9b8c5bf7e7a0ffc5012367302dcdf2af95377d/mounts/shm

enter image description here

Fonte:

- https://meta.discourse.org/t/pg-throws-could-not-resize-shared-memory-segment-error/84744
- https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container
- https://medium.com/@lk.snatch/postgresql-no-space-left-on-device-20248e94d623

- https://stackoverflow.com/questions/56751565/pq-could-not-resize-shared-memory-segment-no-space-left-on-device


6

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email