2. DBMS이야기 139

SQL_DUMP VS SQL_DUMPALL

1. SQL_DUMP - ORACLE EXPORT와 동일 (EXPORT의 FULL=Y, DUMPALL 사용) - PG_DUMP Command를 실행하는 순간의 DATA, Export - 문법 : PG_DUMP [OPTIONS] [DBNAME] > [FILENAME] OPTION NAME DESCRIPTION f FILENAME 출력파일이름 F FORMAT(c,t,p) p(plain) : Text (Default) c(custem) : Binary 형태 t(tar) : Tar 형태 a DATA ONLY 스키마 제외 데이터만 s SCHEMA ONLY 스키마만 t TABLE NAME 지정한 이름의 테이블만 n SCHEMA NAME 지정한 이름의 스키마만 2. SQL_DUMPALL - PG_DUMP와 동일 (단..

[Postgresql] Lock Session 확인 및 정리 가이드

* Lock Session 확인 및 정리 가이드 세션(1) pid=3516 (Blocking Session) kyh=# select pg_backend_pid(); pg_backend_pid ---------------- 3516 kyh=# begin; kyh=# update kyh1 set test='kyh' where test='kyh2'; UPDATE 26 세션(2) pid=6532 (Wait Session) pg_backend_pid ---------------- 6532 kyh=# begin; kyh=# update kyh1 set test='kyh3' where test='kyh2'; ~ lock발생 (1) blocking세션으로 인한 wait session확인하기 kyh=# select pi..

[postgreSQL] vacuum 이란

Vacuum 이란 ? Vacuum 은 PostgreSQL 에서만 (다른 RDBMS에 없는) 고유 명령이다.PostgreSQL에서 특정 Row를 업데이트 할 경우, 디스크 상의 해당 Row를 물리적으로 업데이트하여 사용하지 않고, 새로운 영역을 할당해 쓴다. Update 또는 Delete 가 된 후, 해당영역이 자동으로 재사용되거나 사라지지 않는다. 이렇게 오래된 영역을 재사용하거나 정리해주는 명령어가 Vacuum 이다.따라서 Update, Delete, Insert 가 많이 일어나는 DB 의 경우는 Vacuum 을 주기적으로 해주는 것이 좋다. Vacuum 실행 구조 PostgreSQL에서는 특정 Row가 Update나 Delete 되어도, 물리적인 저장공간은 삭제되지 않고 남게 된다. 이런 오래된 행 ..

[Postgresql] Postgresql 백업 (pg_dump)

PG_DUMP 이 방법은 백업 프로그램이 백업 대상에 대해서, SQL 구문의 텍스트 파일을 만들고, 복원을 할 때는 서버에 이 SQL 구문을 실행해서, 백업 할 때의 상태로 만드는 기법이다. 이 방법을 구현한 PostgreSQL 유틸리티 프로그램이 pg_dump 이다.기본적인 사용법은 다음과 같다: pg_dump 데이터베이스이름 > 출력파일 [OPTIONS] -a 스키마를 제외한 데이터만 백업-b Include large objects in the dump. This is the default behavior except when --schema, --table, or --schema-only is specified, so the -b switch is only useful to add large obj..

PostgreSQL Privileges Part.3

PostgreSQL Privileges Part.3 6) ACCESS PRIVILEGES • OBJECT 별 ACCESS 설정 가능한 권한 access privilege 는 각 object 당 부여할 수 있는 권한의 종류입니다. 7) OBJECT OWNERSHIP • OBJECT 구조 및 OBJECT OWNERSHIP 첫번째 보이는 그림은 각 object 들의 구조를 나타내며 두번째 그림은 유저가 부여해야만 하는 권한들의 구조를 나타냅니다. (1) (2) table에 접근을 하고싶다면 table 하나에만 권한을 부여해서는 안되고 object 구조에 따라서 schema, database, tablespace 모두에 대한 권한이 있어야지만 접근이 가능합니다. 개념은 여기까지이며, 자세한 내용은 다음 시간부터..

[Admin] 3.Server Configuration : Parameter 변경

Parameter 변경 • context 값이 postmaster인 경우, Configuration File 변경 후 서버 재기동 필요 $ psql edb -U enterprisedbedb=# select name, setting, context from pg_settings where name = 'archive_mode'; name | setting | context--------------+---------+------------ archive_mode | off | postmaster edb=# \q $vi $PGDATA/postgresql.confarchive_mode = on $ pg_ctl restart... $ psql edb -U enterprisedbedb=# select current..

The MEMORY (HEAP) Storage Engine (1)

14.4 The MEMORY (HEAP) Storage EngineMEMORY 스토리지 엔진은 메모리에 저장되어있는 내용으로 테이블을 생성한다. 이전에는 이러한 HEAP 테이블로 알려져 있었다. HEAP는 이전 버전과의 호환성을 위해 지원 남아 있지만 메모리가 선호하는 용어다.MEMORY 스토리지 엔진은 하나의 디스크 파일로 각 테이블을 연결한다. 파일 이름은 테이블 이름으로 시작하고 테이블 정의를 나타내는 .frm 확장자로 저장되었음을 나타낸다당신이 MEMORY 테이블을 생성하도록 표시하기 위해서는, ENGINE 테이블 옵션을 사용한다 :CREATE TABLE t (i INT) ENGINE = MEMORY; 오래된 용어 TYPE은 이전 버전과의 호환성을 위해 엔진의 동의어로 지원되지만, 엔진은 선호하는..

mysqladmin — Client for Administering a MySQL Server (2)

4.5.2 mysqladmin — MySQL Server를 관리하는 클라이언트 mysqladmin은 관리 작업을 수행하는 클라이언트이다. 당신은 서버의 구성 및 현재 상태, 데이터베이스를 생성하고 삭제하는 방법 등을 확인하는 데 사용할 수 있다.다음과 같이 mysqladmin 을 호출한다:shell> mysqladmin [options] command [command-arg] [command [command-arg]] ... mysqladmin 은 다음 명령을 지원한다. 일부 명령은 명령 이름 다음에 인수를 넣어야 한다.mysqladmin mysqladmin은이 명령어 라인 또는 옵션 파일의 [mysqladmin] 및 [client] 그룹에 지정 될 수있는 다음과 같은 옵션을 지원합니다. 옵션 파일에 대..

mysqladmin — Client for Administering a MySQL Server (1)

4.5.2 mysqladmin — MySQL Server를 관리하는 클라이언트 mysqladmin은 관리 작업을 수행하는 클라이언트이다. 당신은 서버의 구성 및 현재 상태, 데이터베이스를 생성하고 삭제하는 방법 등을 확인하는 데 사용할 수 있다.다음과 같이 mysqladmin 을 호출한다:shell> mysqladmin [options] command [command-arg] [command [command-arg]] ... mysqladmin 은 다음 명령을 지원한다. 일부 명령은 명령 이름 다음에 인수를 넣어야 한다. create db_name새로운 데이터베이스 db_name 를 생성한다. debug오류 로그에 디버그 정보를 기록하는 서버를 말한다. 이 정보의 형식 및 내용이 변경 될 수 있다.이 곳..