[DB] POSTGRESQL

postgresql.conf postgresql.conf 파일에서 데이터 베이스 전체 성능을 조절하는 많은 옵션들이 있다. 모든 항목들에 대해서 설명할 수는 없어서 본문에서는 몇번의 Postgresql 튜닝 작업을 통해서 정리한 내용들 위주로 설명한다. https://kwomy.tistory.com/82 [PostgreSQL] 튜닝옵션 - postgresql.conf (Kor.ver) # ----------------------------- # PostgreSQL 구성 파일 # ----------------------------- # #이 파일은 다음 형식의 행으로 구성됩니다. # # 이름 = 값 # # ( "="는 선택 사항입니다.) 공백.. kwomy.tistory.com work_mem sort, ..
# ----------------------------- # PostgreSQL 구성 파일 # ----------------------------- # #이 파일은 다음 형식의 행으로 구성됩니다. # # 이름 = 값 # # ( "="는 선택 사항입니다.) 공백을 사용할 수 있습니다. 코멘트는 "#"줄의 아무 곳이나 # 매개 변수 이름 및 허용되는 전체 목록 값은 PostgreSQL 문서에서 찾을 수 있습니다. # # 이 파일에 표시된 주석 처리 된 설정은 기본값을 나타냅니다. # 설정을 다시 주석 처리하는 것만으로는 기본값으로 되돌릴 수 없습니다. # 서버를 다시로드해야합니다. # # 이 파일은 서버 시작시 및 서버가 SIGHUP 신호를 수신 할 때 읽습니다. # 실행중인 시스템에서 파일을 편집하는 경우..
Autovacuum, Vacuum 에 대해 PostgreSQL 에는 Autovacuum, 혹은 Vacuum 이라는 개념이 존재합니다. 이는 Oracle, MariaDB(MySQL), SQLSERVER 등에는 존재하지 않는 개념이기 때문에 처음 PostgreSQL 을 접하시는 분들은 Vacuum 과 관련된 설정들을 소홀히 하다가 데이터베이스의 트랜잭션이 증가하였을 때 예상밖의 느린 성능을 겪게 될 수 있습니다. 따라서 PostgreSQL 을 안정적으로 운용하기 위해서는 반드시 Autovacuum(Vacuum) 에 대해 이해할 필요가 있습니다. PostgreSQL 의 Autovacuum 은 크게 두 가지 상황에서 동작합니다.1 그 중 하나는 XID wraparound 를 방지하기 위해 XID 를 고정(Fre..
현재 수행중인 SQL 전체 조회 select datname, pid, usename, application_name, client_addr, client_port, backend_start, query_start, wait_event_type, state, backend_xmin query from pg_stat_activity; 위 쿼리 실행시 현재 DB에서 돌고 있는 SQL 전체를 조회할 수 있다. datid oid 데이터베이스oid datname name 데이터베이스 이름 pid integer 프로세스id usesysid oid 사용자고유번호 usename name 사용자이름 application_name text 응용프로그램이름 client_addr inet 접속ip client_hostname ..
* DB LINK? - 현재 데이터베이스 세션 내에서 물리적으로 다른 곳에 위치한 데이터베이스 연결을 지원하는 확장성 모듈. - EXTENSION MODULE - extension 설치 후, 사용자 설정에 맞춰 사용하고 삭제하지 않는 이상 재설치는 불가. - 스키마 지정이 없으면 default로 public에 설치가 되므로 스키마별로 사용이 필요한 경우, ALTER로 변경하거나 삭제 후 재설치하여 사용. * DB LINK EXTENSION 설치 CREATE EXTENSION [ IF NOT EXISTS ] extension_name [WITH] [SCHEMA schema_name] [VERSION version] [FROM old_version] * DB LINK 관리 CREATE EXTENSION IF..
1. Default 값이 있는 필드를 추가하면 안된다 PostgreSQL 10이하 버전에서, Default 값이 있는 필드를 추가하면, 테이블 락이 걸릴 수 있다. 그리고 엄청 느리다. 그래서 이런 쿼리를 날리면 안된다. ALTER TABLE items ADD COLUMN updated_at timestamptz DEFAULT now(); 기본값이 없는 필드를 추가한 후, UPDATE를 날리거나 ALTER TABLE items ADD COLUMN updated_at timestamptz; UPDATE items SET updated_at = now(); 이렇게 쪼개서, UPDATE를 해주는게 좋다. ( 한번에 전체 테이블을 Update를 하면, 오래걸리니까. ) do { numRowsUpdated = e..
mewoni
'[DB] POSTGRESQL' 카테고리의 글 목록