반응형

/********************************************************************************************
-- Title : [9.2] 테이블의 테이블스페이스 변경시 데이터 이동
-- Reference : dbrang.tistory.com
-- Key word : tablespace table 테이블 테이블스페이스
********************************************************************************************/

-- 초기화

drop table tbl_bulk;
drop tablespace ts_data4;
drop tablespace ts_data5;

-- TBS 생성
create tablespace ts_data4 location '/home/postgres/pgsql/data4';
create tablespace ts_data5 location '/home/postgres/pgsql/data5';

-- 테이블 생성
create table tbl_bulk
( id varchar(20) not null
, key_num char(23) not null
, appl_num varchar(20) not null
, appl_dt char(20) not null
, sect_cntnt varchar(50) null
) tablespace ts_data4; 

-- tbs확인
select * from pg_tables where tablename = 'tbl_bulk';

-- ts_data4에서 bulk loading(5회 실행)
copy tbl_bulk from '/home/postgres/ttt3.txt' with delimiter '$';

-- ts_data4에 저장된 tbl_bulk 확인
select * from tbl_bulk;

select relname, pg_size_pretty(pg_table_size(c.oid))
from pg_class c
where relname = 'tbl_bulk';

-- 파일 확인
$ ll /home/postgres/pgsql/data4/PG_9.2_201204301/24889
합계 26168
-rw-------. 1 postgres postgres 26771456 2013-07-25 13:46 24930
-rw-------. 1 postgres postgres    24576 2013-07-25 13:46 24930_fsm
-rw-------. 1 postgres postgres        0 2013-07-25 13:43 24930_vm
$ ll /home/postgres/pgsql/data5/PG_9.2_201204301/24889
합계 0

-- 테이블의 ts 변경
alter table tbl_bulk set tablespace ts_data5;

-- tbs확인
select * from pg_tables where tablename = 'tbl_bulk';

-- 파일 확인(TBS 변경으로 해당 테이블 파일이 모두 이동한 것 확인)
$ ll /home/postgres/pgsql/data4/PG_9.2_201204301/24889
합계 0
-rw-------. 1 postgres postgres 0 2013-07-25 13:49 24930
$ ll /home/postgres/pgsql/data5/PG_9.2_201204301/24889
합계 26168
-rw-------. 1 postgres postgres 26771456 2013-07-25 13:49 24933
-rw-------. 1 postgres postgres    24576 2013-07-25 13:49 24933_fsm
-rw-------. 1 postgres postgres        0 2013-07-25 13:49 24933_vm
반응형

+ Recent posts