[postgresql] postgresql의 Index Only Scan
·
데이터베이스
Postgresql은 Index Only Scan을 지원한다. Index Only Scan은 index에 필요로 하는 데이터가 있을때 인덱스 영역만 스캔하는 방식이다.Index Only ScanIndex Only Scan을 테스트 해보기 위해서 테이블에 100만개 정도의 더미 데이터를 넣고 테스트 해보았다.create table product( id bigint generated by default as identity primary key, created_at timestamp with time zone not null, updated_at timestamp with time zone not null, name varchar(60) ..
Datagrip에서 pg_dump로 export하기
·
데이터베이스
문제 Datagrip에서 Export with 'pg_dump' 를 사용하려고 하면, Path에서 실행할 수 없다고 뜬다. 해당 path에 pg_dump 라는 명령어가 존재하지 않기 때문이다. pg_dump 명령어를 사용하려면 libpq 를 설치해야한다. libpq 는 postgresql의 인터페이스를 제공하는 C로 작성된 프로그램이다. brew install libpq brew로 설치 후, 아래 명령어로 .zshrc에 PATH를 등록해주면 셸에서 pg_dump , psql 같은 명령어를 바로 사용할 수 있다. echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc source ~/.zshrc 설치 후 which 명령어로 pg_dump 위치..
[postgresql] 시퀀스 조회, 변경하기
·
데이터베이스
Postgresql은 자동 증가 컬럼을 위해 시퀀스를 사용한다.Postgresql에서 시퀀스는 아래의 쿼리를 통해 확인할 수 있다.nextval: 시퀀스 값을 1 증가시키고 증가시킨 값을 반환한다.currval: 현재 세션에서 마지막으로 호출했던 nextval의 값을 반환한다.last_value: 현재 세션에서 마지막으로 반환된 nextval 값을 반환한다.SELECT nextval(item_id_seq);SELECT currval(item_id_seq);SELECT last_value FROM item_id_seq;개발하다보면 직접 데이터를 넣어주는 경우가 있는데, 이 경우 시퀀스도 업데이트해주지 않으면 이미 수동으로 넣은 데이터와 sequence가 겹치게 되므로 duplicate key 에러가 발생하..
togeepizza
'postgresql' 태그의 글 목록