반응형
/********************************************************************************************
-- 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
반응형