본문 바로가기

DB/Postgresql

(3)
docker postgresql 표준 시간대(timezone) 설정 방법 ** Ubuntu 표준 시간대 확인timedatectl  1. docker postgresql 접속 (나는 postgis 사용중)// docker exec -it [container name] /bin/bashdocker exec -it postgis /bin/bash// psql -U [username]psql -U postgres 2. postgresql 현재 timezone 확인show timezone; 3.   postgresql 타임존 설정 방법 1) docker run 할 때 환경변수로 타임존 설정 2) 특정 데이터베이스를 명령어를 통해 타임존 설정      ** SET timezone TO 'Asia/Seoul'; 명령어는 현재 세션에서만 유효하기 때문에 세션이 종료되면 설정이 초기화 된다...
[Postgresql] 세로 테이블을 가로 테이블로 pivot하기 (crosstab) 1. extension 설치 CREATE EXTENSION tablefunc; 2. crosstab 사용 - ID (=여기선 title) 기준 연도별 총액 산출 - 세로 테이블을 가로 테이블로 Pivot - 동적 컬럼을 위해 권장되지 않지만 values 및 as 값들을 셋팅해서 쿼리 생성 - 합계를 하단 마지막으로 보내기 위해 order by 설정. - crosstab select 문은 3개의 컬럼을 반환함.(컬럼1: ID, 컬럼2: 테이블 범주(카테고리), 컬럼3: 각 셀에 할당 될 값 ) - as 를 통해 컬럼명 재지정을 할 때 데이터 타입 유의 SELECT * FROM crosstab( 'select title, plan_year, total_cost from ( select unnest(array..
[Postgresql] Serial (Sequence) 조회 Postgresql 에서는 시퀀스의 불편함을 해결하기 위해 serial 타입을 제공한다. serial 조회 selectn.nspname as sequence_schema, c.relname as sequence_name, u.usename as owner frompg_class c joinpg_namespace n onn.oid = c.relnamespace joinpg_user u onu.usesysid = c.relowner wherec.relkind = 'S' and u.usename = current_user; 시퀀스 현재값 / 현재 세션 select currval('seq_name'); 시퀀스 다음값 select nextval('seq_name'); 코드 생성규칙 예제 select 'F' || ..