PostgreSQL: 특정 범위의 랜덤 숫자 추출하는 방법 PGSQL에서 SELECT random(); 사용하면 0.0 <= x < 1.0 범위의 난수를 반환해주는데, random() 을 이용하여 특정 범위의 정수 값을 램덤하게 추출하는 방법을 소개합니다. random() 은 난수를 반환하기 때문에 tru…
PostgreSQL: 스키마 복제 및 스키마 생성, 삭제, 변경 예제 PGSQL에서 스키마를 복제하는 간단한 예제입니다. 스키마 복제 셀 커맨드 창에서 pg_dump , sed , psql 3개의 명령어로 스키마를 복제합니다. | 로 3개의 명령어를 연결했으며 "스키마 덤프 > 스키마 명 치환 > 스키마 추…
PostgreSQL: INSERT, UPDATE, DELETE 실행 결과 리턴 받기 (WHEN / RETURNING) PGSQL에서는 INSERT , UPDATE , DELETE 쿼리 실행 후 처리 ROWS만 알려주는데, 조금더 상세한 정보를 알수 있는 방법이 있습니다. INSERT , UPDATE , DELETE 쿼리 뒤에 RETURNING * 난 입력해주면 실행한 쿼리의 …
PostgreSQL: 정규표현식으로 한글 포함 여부 확인하기 PGSQL에서 정규식을 이용하여 한글이 포함된 텍스트인지 확인하는 방법입니다. 알파벳만 찾는 경우 " [a-z] " 입력하여 그 범위에 포함되는 모든 문자를 찾도록 합니다. 한글도 동일하게 첫 글자와 끝 글자를 입력하여 찾고자 하는 범위를 지…
PostgreSQL: 쿼리로 쉽게 대용량 테스트 데이터 생성하기 응용프로그램을 테스트하기 위해 대용량 테스트 데이터가 필요하다면 generate_series 를 사용해보세요. 엑셀로 테스트 데이터를 만들어 DB에 넣거나 간단한 스크립트를 만들어 사용하시는 분들도 있으실텐데요. 간단한 쿼리문으로 테스트 데이터를 원하는 데이터…
PostgreSQL: 실행중인 쿼리 확인 및 실행 취소 방법 PostgreSQL에서 "pg_stat_activity" 통계 정보를 이용한 현재 실행 중인 쿼리를 조회하고 실행 취소하는 방법을 소개합니다. 버전에 따라 차이가 있을 수 있으며 9.4버전을 기준으로 작성했습니다. 실행중인 쿼리 확인하기 SE…
PostgreSQL: 다중 행을 하나의 문자열 또는 JSON 타입으로 만들기 PGSQL에서 다중 행 혹은 다중 열 데이터를 한 문자열로 만드는 쿼리 예제입니다. 더 다양한 방법과 상세한 설명은 하단의 "함께보기"에 있는 링크를 통해서 확인 가능합니다. 참고로 문자열 작업 시 가장 많은 실수는 데이터 타입 오류가 많습니…
PostgreSQL: 사용하지 않는 인덱스(INDEX) 찾기 그리고 성능 향상 인덱스(Index) 혹은 색인은 테이블 설계시 많이 고민하는 부분이고 성능 향상에 많은 도움을 주고 있지만 프로그램의 설계 변경 혹은 기능 개선등 여러 상황에 따라 사용하지 않는 인덱스가 발생하게 됩니다. 여러 상황 때문에 현재는 사용하지 않는 인덱스를 찾아보기 …
PostgreSQL: 베큠(VACUUM)을 실행해야되는 이유 그리고 성능 향상 간단 설명 베큠(Vacuum)은 PostgreSQL의 쓰레기 데이터를 정리하여 쾌적하게 청소하라는 명령인데, 쉽게 "디스크 조각 모음"이라고 생각하면된다. 베큠을 해야되는 이유 데이터는 물리적으로 디스크에 저장되고 읽어서 보여주는데, 데이터를 갱…
PostgreSQL: 문자열에서 파일명과 확장자 추출하기 PostgreSQL에서 문자자열 처리 중 정규식으로 파일 이름과 파일 확장자를 분리하는 쿼리문 예제입니다. regexp_replace 이용하여 정규식으로 불필요한 부분을 치환 후 결과를 출력합니다. 덧, regexp_matches 사용하여도 동일한 결과를 얻…