최근 동아리에서 시작한 프로젝트에서 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를 확인하였고 어렵지 않게 해당 오류의 해경 방법을 찾을 수 있었습니다.
연결할 때 FATAL: database name does not exist 같은 오류가 발생하면 --dbname 옵션에 기본 데이터베이스 이름 postgres를 사용해봅니다.
라는 정보를 확인하고 postgres으로 변경 후 정상적으로 해결하였습니다.
'회고 > 개발' 카테고리의 다른 글
[git] 대소문자 변경 시 미인식 문제 해결 (0) | 2021.12.10 |
---|---|
원티드 프리온보딩 백엔드 코스 - 6차 과제 회고 (0) | 2021.11.21 |