Postgresql에서 테이블이나 함수, 프로시저를 생성할 때, 주의해야할 점이 있는데
대소문자를 혼용하여 명명할 경우 모두 소문자로 생성이 된다는 점입니다.
Postgresql에서는 소문자를 사용하여 명명하는 것이 일반적이지만,
어쩔 수 없이 대문자를 혼용해서 써야한다면 "" 기호를 사용하여 대문자를 사용할 수도 있습니다.
테이블, 함수, 프로시저를 생성할 때 뿐만 아니라 이미 만들어진 테이블에서 조회를 하거나 함수를 실행할 때도
대소문자를 구분하기 때문에 이름을 잘 확인해야할 필요가 있습니다.
아래 예시를 보시겠습니다.
select * from test.test_table;
select * from test.Test_table;
select * from test.test_Table;
test_table 이라는 이름으로 만들어진 테이블이 있다고 가정했을 때,
세 쿼리 모두 test.test_table 테이블에 있는데 데이터를 조회합니다.
조회하려는 테이블명이 실제로 test.Test_table 이라면, select * from test."Test_table" 으로 조회하셔야 하고,
테이블명이 test.test_Table 이라면, select * from test."test_Table" 으로 조회를 하셔야합니다.
차이를 아시겠죠? 😀
오픈소스라 사용하는 기업들이 몇 있는데, 이런 내용들을 알고 계시면 좋을거같습니다.
cf) Postgresql과 반대로 소문자로 생성을 해도 대문자로 생성되는 DBMS가 있습니다.
바로 오라클(Oracle)인데, 어느 한쪽에서 DB LINK를 사용해 연결을 하는 경우라면 어느 한쪽은 ""를 필수로 붙여줄 수 밖에 없겠습니다.