인프런 커뮤니티 질문&답변

ystar5008님의 프로필 이미지
ystar5008

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

VSC에서 Postgresql 익스플로러 사용해보기

postgresql 연결실패

해결된 질문

작성

·

637

0

docker-compose.yml파일에 아래와같이 작성했습니다.

포트번호를 5808로 지정해준 이유는 5432로 지정해서 접속했을때 현재 pc에 설치했던 postgresql과 충돌이 나서 로그인이 안돼서 바꾸어 주었습니다.

도커 컴포즈 실행후 postgresql 컨테이너는 정상적으로 실행이 됐으나 nest앱과 postgresql explorer에서도 연결이 되지 않았습니다. 어떻게 해결해야하는지 질문드립니다

# 서비스정의
services:
  postgres:
    image: postgres:15
    # 실행시마다 재시작
    restart: always
    # 도커컴포즈 파일에 존재하는 위치에 실제 데이터를 hostOS에 저장
    volumes:
      # 현재 도커컴포즈 파일이 존재하는 경로 : 이미지안에존재하는 경로 매핑
      - ./postgres-data:/var/lib/postgresql/data
    ports:
      #hostport:이미지의포트
      #5432포트 요청 -> 이미지의 포트로 요쳥
      - '5808:5432'
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: '1111'
      POSTGRES_DB: postgres
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PostsModel } from './posts/entities/posts.entity';

@Module({
  //다른 모듈을 등록
  //forRoot메서드는 typrorm과 nestjs와 연결할떄 사용 (DB)
  imports: [
    PostsModule,
    TypeOrmModule.forRoot({
      //데이터베이스 타입
      type: 'postgres',
      host: '127.0.0.1',
      port: 5808,
      username: 'postgres',
      password: '1111',
      database: 'postgres',
      //entities폴더에 작성한 PostsModel 가져오기
      entities: [PostsModel],
      synchronize: true,
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

답변 2

1

ystar5008님의 프로필 이미지
ystar5008
질문자

감사합니다 선생님 postgres-data 폴더 삭제 후 포트를 변경해주고 실행시켰더니 실행됐습니다 감사드립니다

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

두가지 시도 부탁드립니다.

1) postgres-data 삭제 후 도커 재실행

2) postgres-data 삭제 후 포트 변경 후 재실행

위 둘을 해보고도 안된다면 카카오 채널로 오셔서 저 태그한 후 원격신청 부탁드립니다.

https://links.codefactory.ai

감사합니다!

ystar5008님의 프로필 이미지
ystar5008

작성한 질문수

질문하기