PostgreSQL

    PostgreSQL EXPLAIN을 이용한 쿼리 성능 분석 #2 - 옵션 별 실제 동작 확인하기

    PostgreSQL EXPLAIN을 이용한 쿼리 성능 분석 #2 - 옵션 별 실제 동작 확인하기

    안녕하세요. 어느덧 4월이 찾아왔습니다. 2024년이 시작된 것이 엊그제 같은데 정말 많은 일들이 있었네요 ㄷㄷㄷ 이번에는 PostgreSQL EXPLAIN 명령어에 대해서 조금 더 자세히 공부해보려고 합니다. EXPLAIN 명령어를 공부한 적이 있었지만 지금 보니 많이 까먹었더라고요 ㅜㅠ PostgreSQL EXPLAIN을 이용한 쿼리 성능 분석 - 언제까지 쿼리 하나하나 시간 측정하면서 튜닝할 거에요! 이참에 자세히 공부해보겠습니다! 0. EXPLAIN 명령어 옵션에는 어떤 것들이 있을까요? 이전에는 ANALYZE 옵션만 사용했는데 이번 기회에 다른 파라미터들도 사용하면서 공부해보려고 합니다. PostgreSQL 데이터베이스에 테스트 데이터를 채운 상태로 각 옵션을 활성화/비활성화 시켰을 때의 결과값..

    데이터베이스 테이블 rotation - DB에 데이터가 계속해서 쌓여서 용량이 꽉차면 어떡하죠...?

    안녕하세요. 오늘은 데이터베이스 table rotation에 대해서 공부해보도록 하겠습니다. log rotation이라는 용어는 많이 들어보셨을 거에요! 파일 크기가 커지기 쉬운 로그는 관리하지 않으면 로그 파일이 너무 커져서 시스템의 디스크 용량을 모두 차지하여 부팅이 안되는 등의 문제가 발생할 수 있습니다. 이를 예방하기 위해서 로그 파일이 일정 크기 이상 커지거나 일정 기간이 지난 경우 제거하고는 합니다. 이렇게 로그 파일의 크기를 일정하게 유지하는 일련의 작업들을 log rotation 이라고 합니다. 로그 파일과 비슷하게 데이터베이스의 테이블에도 데이터가 계속해서 쌓일 수가 있습니다. 데이터베이스 테이블의 용량을 무제한으로 설정할 수는 없기 때문에 table rotation을 수행해줘야 합니다!..

    PostgreSQL 계정 생성하기

    1. psql를 이용해서 PostgreSQL에 접속 계정을 생성할 수 있는 권한을 가진 계정으로 접근해야 합니다! 2. alter user {유저 ID} with password '{수정하고 싶은 비밀번호}'; 예시) CREATE USER postgres WITH PASSWORD 'newpassword';

    PostgreSQL constraint - DB가 할 수 있는건 DB한테 맡기자!

    안녕하세요. 오늘은 PostgreSQL의 constraint에 대해서 공부해보려고 합니다. constraint이란 대부분의 데이터 타입은 숫자인지, UUID 포맷을 따르는지 등의 아주 기본적인 제약사항만 가지고 있습니다. 하지만 비즈니스 로직을 수행하기 위해서는 보다 상세한 제약사항이 필요합니다. 예를 들어, "통장"이라는 테이블에 "잔고(원)"라는 열이 있다면 이 열은 0 이상의 정수여야 합니다. SQL에서 이를 지원해주는 것이 바로 constraint입니다. 어플리케이션 레이어에서 유효성을 확인하는 것보다 DB의 constraint을 활용하는 것이 훨씬 간단하고, 효율적이니 활용하는 것을 적극 추천드립니다. constraint의 종류 PostgreSQL에서 지원하는 constraint에는 다음 종류가..

    PostgreSQL EXPLAIN을 이용한 쿼리 성능 분석 - 언제까지 쿼리 하나하나 시간 측정하면서 튜닝할 거에요!

    주먹구구식 쿼리 성능 분석은 그만... 언제까지 쿼리 하나하나 수정해가면서 '이건 빠른가? 느린가?' 하면서 튜닝하실 겁니까! 죄송합니다! 바로 제가 그랬습니다 ㅜㅠ 지금까지 얕은 전공 지식을 이용해서 데이터베이스 쿼리의 튜닝을 진행했었는데 너무 비효율적이었던 것 같습니다ㅋㅋㅋㅋ 당연하게도 쿼리가 데이터베이스에서 실제로 어떻게 실행될지 실행 계획을 보여주는 명령어가 있습니다. 바로 EXPLAIN 입니다. PostgreSQL 공식 홈페이지의 USING EXPLAIN 페이지를 참고하여 EXPLAIN 사용법을 작성해봤습니다. 앞으로 쿼리의 성능을 튜닝해야 할 일이 있으면 무.작.정 쿼리를 작성하지 말고 최소한 EXPLAIN 명령을 사용합시다! 사용 방법 쿼리 앞에 EXPLAIN을 추가합니다. 너무 간단하죠? ..

    PostgreSQL 계정 비밀번호 바꾸기

    1. psql를 이용해서 PostgreSQL에 접속 다른 계정의 비밀번호를 수정할 수 있는 권한을 가진 계정으로 접근해야 합니다! 2. alter user {유저 ID} with password '{수정하고 싶은 비밀번호}'; 예시) alter user postgres with password 'newpassword';