DBA/Postgresql 61

postgresql 시퀀스 관련

1. ALTER문 이용ALTER SEQUENCE 시퀀스명 restart with 시퀀스값; 2. SELECT문 이용select setval('시퀀스명', 시퀀스값); -- default: true, 지정한 시퀀스 다음 값부터 실행됨.select setval('시퀀스명', 시퀀스값, false); -- 지정한 시퀀스값부터 실행 3. 시퀀스 생성CREATE SEQUENCE 시퀀스명혹은 테이블 생성시 컬럼타입을 SERIAL (INT4) / BIGSERIAL(INT8)로 생성하면 SEQUENCE가 자동 생성됨. 4. 현재 시퀀스값 조회1) SELECT currval('시퀀스명')2) SELECT last_value FROM 시퀀스명 5. 다음 시퀀스값 조회SELECT nextval..

DBA/Postgresql 2024.04.24

DB서버 로그 정리 및 conf설정 변경

실제 설정한 내용.. 상황에 맞게 변경 및 추가 필요함~ ALTER SYSTEM SET log_destination = 'csvlog';ALTER SYSTEM SET logging_collector = on;alter system set log_filename = 'pg_log';alter system set log_rotation_age = '7d';alter system set log_truncate_on_rotation = on;ALTER SYSTEM SET client_min_messages = warning;ALTER SYSTEM SET log_min_messages = warning;ALTER SYSTEM SET log_min_error_statement = warning;..

DBA/Postgresql 2024.04.04

정기 PM작업 대비

-- DB 전체 풀 실행vacuum full analyze; -- DB 전체 간단하게 실행vacuum verbose analyze; -- 해당 테이블만 간단하게 실행vacuum analyse [테이블 명]; -- 특정 테이블만 풀 실행vacuum full [테이블명]; 주의: full 옵션으로 실행 시 데이터베이스가 잠김(Lock)처리가 되므로 운영중인 데이터베이스에서는 해당 옵션으로 사용하면 안됨.정기 PM시에만 진행해야함. --튜플 확인SELECT n.nspname AS schema_name, c.relname AS table_name, pg_stat_get_live_tuples(c.oid) + pg_stat_get_dead_tuples(c.oid..

DBA/Postgresql 2024.04.04

(regexp_split_to_table) 하나의 컬럼에 구분자로 여러 데이터 row로

CREATE TABLE dtsch.ftc_hometax_data_new ASSELECTno_com, gisu, dm_fndbegin, dm_fndend, gubun_com, substr(regexp_split_to_table(hometax_data , '\^p') ,1,9) hometax_data_gbn, regexp_split_to_table(hometax_data , '\^p') hometax_data_split, cd_mocorp, prd_mocorp, dt_insert, dt_modify, sq_file FROM dtsch.FTC_HOMETAX_DATA 반대 여러개의 row를 하나의 행으로SELECT COUNTRY , ARRAY_TO_STRING(ARRAY_AGG(..

DBA/Postgresql 2024.04.04