Hacker News 의견
  • Postgres는 대소문자를 구분하지만, 쿼리에서 키워드를 대문자로 작성하는 것은 가독성을 높이기 위한 것임. 이는 필수는 아니지만, 디버깅 시 쿼리를 보기 쉽게 변환하는 것이 유용함

    • 다른 언어에서의 코드 정리와 유사하게, 일관된 들여쓰기 등은 이해 시간을 줄여주어 중요한 부분에 집중할 수 있게 해줌
    • "actuallyUsingCaseInIdentifiers"와 같은 식별자에 대문자를 사용하는 것은 피하고 싶음
  • "Don't Do This" 위키 항목을 처음 발견했는데 매우 유용함

  • 많은 내용이 Postgres에 국한되지 않음 (예: null의 특이성, 인덱스 컬럼 순서 등)

    • 예를 들어, null이 인덱스 및 고유 제약 조건과 상호작용하는 방식은 MySQL에서도 직관적이지 않음
    • 사용자 테이블에 null이 허용되지 않는 이메일 컬럼과 null이 허용되는 사용자 이름 컬럼이 있을 때, (email, username)과 같은 고유 제약 조건이 있으면 동일한 이메일을 null 사용자 이름과 함께 여러 번 삽입할 수 있음
  • 데이터를 정규화하라는 조언은 신중히 접근해야 함

    • 저자는 10가지 다른 정규화 유형을 언급했지만, 대부분의 사람들은 그 중 7가지를 사용할 필요가 없음
  • 개발자들이 정규화에 더 신경 쓰고 JSON(b) 컬럼에 모든 것을 넣는 것을 멈추길 바람

  • "여정"이라는 단어는 과도한 사용으로 인해 블로그에서 불쾌하게 느껴짐

  • 코드 섹션이 모바일에서 거의 스크롤할 수 없을 정도로 불편함

  • JSON 스펙에서 'null'은 상수 값이며, SQL의 NULL과 다름

  • 인덱스를 추가해도 아무런 효과가 없을 수 있음

    • Postgres의 이념이 너무 강하거나 이해하기 어려운 부분이 있음
    • 향후 버전에서 힌트 지원이 추가될 가능성이 있어 기대됨
  • 이러한 기사를 읽고 90%를 이해할 수 있어 자신이 맡았던 직무에 대한 자부심을 느끼게 됨