1
resposta

[Sugestão] CORRECAO DOCKER-COMPOSE.YML e 01-INIT.SH

Pra quem tá começando o curso agora o postgres está na versao latest na solucao do topico anterior. Basta pegar a solucao anterior e setar a versao do postgres para a 15. Se nao fizer isso nao vai inicializar vai dar um erro de PATH .

version: '3.8'

services:

  database:
    image: postgres:15
    container_name: database-api-cursos
    restart: unless-stopped
    healthcheck:
      test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
      timeout: 45s
      interval: 10s
      retries: 10
    environment:
      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/15/bin
      - HOSTNAME=9226aec39768     
      - APP_DB_USER=alura
      - APP_DB_PASS=nJ6vsW37rCd1v88
      - APP_DB_NAME=logsdb     
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=h5UzM2kEnp8Q42      
      - GOSU_VERSION=1.14
      - LANG=en_US.utf8
      - PG_MAJOR=15
      - PG_VERSION=15.1-1.pgdg110+1
      - PGDATA=/var/lib/postgresql/data HOME=/root
    ports:
      - '5432:5432'
    volumes:
      - ./postgres/db:/docker-entrypoint-initdb.d/
      - ./postgres/data:/var/lib/postgresql/data

mesmo inicializando continua com problemas dizendo que o public nao tem privilegios. Entao baixa o arquivo 01-init.sh disponibilizado no curso e atualize para:

#!/bin/bash

set -e
export PGPASSWORD=$POSTGRES_PASSWORD;

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
  CREATE USER $APP_DB_USER WITH PASSWORD '$APP_DB_PASS';
  CREATE DATABASE $APP_DB_NAME;
  GRANT ALL PRIVILEGES ON DATABASE $APP_DB_NAME TO $APP_DB_USER;
  \c $APP_DB_NAME
  GRANT ALL PRIVILEGES ON SCHEMA public TO $APP_DB_USER;
EOSQL

fazendo isso vai funcionar direitinho como funcionou no meu.

1 resposta

Olá, Ronaldo! Tudo joia?

Fico feliz que tenha conseguido resolver o seu problema e agradeço por compartilhar a solução aqui no fórum da Alura, tenho certeza que ajudará outros alunos que enfrentarem a mesma situação. Continue assim!

No mais, caso tenha problemas ou dúvidas durante os seus estudos, saiba que pode contar com a comunidade do fórum da Alura.

Grande abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software