본문으로 바로가기
2222

최근 동아리에서 시작한 프로젝트에서 DB를 어떤 것을 써볼지 고민했었다.

mysql과 PostgreSQL를 두고 고민을 했는데 그동안 PostgreSQL를 써본 적이 없었고 

https://learnsqlteam.com/2019/09/23/aurora-postgresql-vs-mysql-feature-comparison/

 

Aurora PostgreSQL vs MySQL Feature Comparison

Feature Comparison – Aurora PostgreSQL vs MySQL Feature Comparison As of Sep 2019. Features Features details Aurora PostgreSQL Aurora MySQL RDS PostgreSQL High Availability Read-replica Yes (…

learnsqlteam.com

위 글을 참고하였고 한 번도 써본 적이 없다는 점에서 사용했습니다.

 

 

배운 점(오류 해결)

Typeorm을 이용하여 PostgreSQL과 연결하려는 과정입니다.

순조롭게 entity를 작성하고 app.module.ts에서 TypeOrmModule을 정의해주었습니다.

TypeOrmModule.forRoot({
      type: 'postgres',
      host: process.env.DATABASE_HOST,
      port: 5432,
      username: process.env.DATABASE_USERNAME,
      password: process.env.DATABASE_PASSWORD,
      database: process.env.DATABASE_NAME,
      synchronize: true,
      entities: [__dirname + '/**/entities/*.entity{.ts,.js}'],
    })

하지만 오류가 발생하였습니다.

error: database "<DB-NAME>" does not exist

<DB-NAME>에 AWS RDS에서 DB 생성 시 입력하는 DB 인스턴스 식별자를 입력하였고 해당 오류를 발견하였습니다.

 

문제를 해결하기 위해서 AWS docs를 확인하였고 어렵지 않게 해당 오류의 해경 방법을 찾을 수 있었습니다.

AWS 링크

연결할 때 FATAL: database name does not exist 같은 오류가 발생하면 --dbname 옵션에 기본 데이터베이스 이름 postgres를 사용해봅니다.

라는 정보를 확인하고 postgres으로 변경 후 정상적으로 해결하였습니다.