PostgreSQL 의 보편적 규칙

이름 Name

최근 업데이트 : 2025-12-15

기본 규칙

  • 첫 문자 : 이름은 문자(a~z) 또는 언더스코어(_)로 시작해야 한다.
  • 나머지 문자 : 문자(a~z), 숫자(0~9) 또는 언더스코어(_)
  • 이름의 최대 길이 : NAMEDATALEN - 1 자까지만 허용됨 (그 이후는 잘림)
  • NAMEDATALEN : 기본적으로 32로 설정됨. 따라서 이름의 최대 길이는 31자.
  • src/include/postgres_ext.h 파일에서 NAMEDATALEN의 값을 변경할 수 있다.
  • 즉, snake_case 를 사용하는 것을 강력하게 권장한다.

PostgreSQL의 대소문자 구분

  • 기본적으로 대문자는 소문자로 변환된다. (e.g. TableName -> tablename)
  • 대소문자를 구분하기 위해서는 큰따옴표를 사용해야 한다.

큰따옴표 추가 규칙

  • 큰따옴표("")로 묶는 경우, a~z, 0~9, _를 제외한 문자도 이름으로 사용할 수 있다.
  • 큰따옴표로 묶는 경우, 대소문자를 구분하며, & 등 기본 문자 외의 특수한 문자도 이름으로 사용할 수 있다.
  • 또한 큰따옴표는 SQL의 keyword와 Name을 구분지어준다. (IN 은 keyword, "IN"은 이름)
  • 단, 모든 구문에서 큰따옴표를 써야 한다는 번거로움이 있다. (SELECT 문에서도 써야 함)

PostgreSQL 이름 규칙의 장점

  • 가독성이 좋다.
  • MySQL처럼 운영체제에 따른 대소문자 의존성을 가지지 않는다.
  • snake_case 라는 일관된 네이밍 규칙을 자연스럽게 받아들일 수 있다.
  • 이로 인해 개발과 운영 과정에서 충돌을 줄이고, 원활한 프로젝트를 지원한다.

Reference

https://www.postgresql.org/docs/7.0/syntax525.htm
https://medium.com/mr-plan-publication/why-snake-case-is-the-best-naming-convention-for-postgresql-776063a57ff3

Comments