[PostgreSQL] 테이블 이름 명명시 주의점

Hoony·2022년 1월 9일
0

작업 내용

SHP파일로 존재하는 공공데이터를
PostgreSQL의 Insert하는 작업을 진행하였다.

AWS Aurora PostgreSQL도 알아갈겸
인스턴스를 만들어주었다.

PostgreSQL의 Postgis 익스텐션을 썼어야 했다.

테이블 생성 및 INSERT

AWS DynamoDB에서 해오듯
'aaa-bbb'와 같은 이름으로
테이블을 생성을하고 코드로 INSERT를 했더니..

INSERT query에서
"-" 근처에 자꾸 문제가 있다고 한다.
"-"를 빼고 "aaaBbb"형태로 테이블이름을 변경했다.

이번에는 테이블이 없다는 에러를 내뱉는다.
Document를 봤더니 PostgreSQL에서는
대소문자를 구분하지 않는다고 한다.

더 정확하게는 구분하려면 큰따옴표를 붙여주어야한다.
큰 따옴표를 붙이면 "aaa-bbb"와 이름도 사용할 수 있다.

// 잘못된 케이스 ( 테이블이름이 aaaBbb인경우 )
INSERT INTO aaaBbb (a, b, c) VALEUS(1, 2, 3)
// 정상적 케이스 ( 테이블이름이 aaaBbb인경우 )
INSERT INTO "aaaBbb" (a, b, c) VALUES(1, 2, 3)

결론

각종 쿼리를 코드상에서 하면서 여러사람이 관리하게 된다면
실수를 유발할 수 있는 좋은 케이스이다.

따라서, PostgreSQL에서는 테이블 이름은 아래와 같은
규칙을 적용하는것이 좋을 것 같다.

  • 소문자로 작성할 것
  • 특수문자는 "_"만 사용할 것
profile
아는 만큼 보인다

0개의 댓글