pg_stat_statements는 postgresql의 확장 모듈로 쿼리 실행 통계를 추적하기 위해 사용한다. 이 모듈은 추가 공유 메모리가 필요해서 postgresql.conf 파일에서 shared_preload_libraries에 pg_stat_statements를 추가해준 후 재시작하면 된다. 우선, 확장 모듈 설치한다.CREATE EXTENSION pg_stat_statements; postgresql.conf 파일은 환경을 어떻게 구성하는지에 따라 다르기에 명확하게 말할 수 없지만, 아래 명령어로 찾아보자which postgresql.conf 아래처럼 수정한다.# retrieved postgresql.conf fileshared_preload_libraries = 'pg_stat_stateme..
식별관계 부모 테이블(=참조 되는 테이블)의 기본키를 자식 테이블(=참조 하는 테이블)의 기본키로 사용 비식별관계 부모 테이블(=참조 되는 테이블)의 기본키를 자식 테이블(=참조 하는 테이블)의 외래키로 사용 식별관계와 비식별관계 차이점 식별관계를 사용할 경우 반드시 부모테이블에 데이터가 존재해야만 자식테이블에 데이터를 추가할 수 있다. 비식별관계는 부모 데이터가 없어도 자식 테이블에서 데이터를 추가할 수 있다. 다른말로하면, 식별관계는 데이터 정합성을 데이터베이스 단계에서 보장되며 비식별관계는 데이터베이스 단계에서 데이터 정합성을 보장하지 않는다. 식별관계의 경우 데이터 정합성을 보장하지만 자식테이블에서 부모테이블의 기본키를 기본키로 사용하고 있는 구조이기 때문에 구조 변경이 자유롭지 못하다. 더보기 ..
조건함수 조건에 따라 SQL문장을 처리하는 함수이다. DECODE( 컬럼, 비교값1, 결과값1, 비교값2, 결과값2, ... 비교값n, 결과값n, 기본결과값 ) 조건이 반드시 일치하는 경우에 사용하는 함수 SELECT last_name,salary, DECODE(salary,24000, salary*0.3, 17000, salary*0.2, salary) 보너스 FROM employees ORDER BY 2 desc; CASE 컬럼 WHEN 비교값1 THEN 결과값1 WHEN 비교값2 THEN 결과값2 ELSE 결과값n END 조건이 반드시 일치하지 않아도 범위 및 비교가 가능한 경우에 사용하는 함수 SELECT last_name,salary, CASE salary WHEN 24000 THEN salar..
변환함수 숫자, 문자, 날짜 데이터를 필요에 의해 서로 간에 데이터형을 변환할 수 있다. TO_CHAR( number| date, 'format') 숫자, 날짜를 문자로 변환한다. 형 변환 시 추가로 출력 형식을 지정할 수 있다. 날짜 출력 형식 날짜 형식 설명 YYYY 연도 YY 연도 MM 월 (숫자) MON 월 (알파벳) DAY 요일 DY 요일 (약어) DD 일 시간 출력 형식 시간 형식 설명 AM 또는 PM 오전, 오후 A.M 또는 P.M 오전, 오후 HH 또는 HH12 시간(1~12) HH24 24시간 MI 분 표현 SS 초 표현 숫자 출력 형식 숫자 형식 설명 사용 예 실행 결과 9 한 자리의 숫자 표현 (1111, '99999') 1111 0 앞부분을 0으로 표현 (1111, '099999')..
날짜 함수 날짜 데이터 타입에 사용하기 위한 함수이다. 더보기 RR 과 YY 타입 비교 YY 형식은 현재 세기로 계산한다. RR 형식 계산 공식 현재년도(뒤 두자리) 명시된 년도(뒤 두자리) RR형식 반환년도 00~49 00~49 현재 세기 00~49 50~99 이전 세기 50~99 00~49 다음 세기 50~99 50~99 현재 세기 더보기 기본적인 날짜 연산 결과 연산 결과 설명 날짜 + 숫자 날짜 날짜에 일수를 더하여 반환한다. 날짜 - 숫자 날짜 날짜에 일수를 빼고 반환한다. 날짜 - 날짜 숫자(일수) 두 날짜의 차이(일수)를 반환한다. 날짜 + 숫자/24 날짜 날짜에 시간을 더한다. SYSDATE DB서버에 설정된 날짜를 반환한다. SELECT SYSDATE FROM dual; SELECT SY..