작업 내용
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에서는 테이블 이름은 아래와 같은
규칙을 적용하는것이 좋을 것 같다.