티스토리 뷰

DB

postgresql alter table

개발자와코더사이가 PM일까? 2014. 11. 4. 09:28
반응형

---> 만약 당신이 Specify a USING expression to perform the conversion. 이라는 메시지를 만났다면  아래와 같이 쿼리를 시도 하는 것도 괞찮다.

ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (col_name::integer);

ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (trim(col_name)::integer);


-- 컬럼 추가

ALTER TABLE books ADD publication date;

-- 컬럼 삭제
ALTER TABLE books DROP publication;

-- 컬럼 default값 추가
ALTER TABLE books ALTER COLUMN id SET DEFAULT nextval('books_idx');

-- 컬럼 default값 제거
ALTER TABLE books ALTER id DROP DEFAULT;

-- 컬럼 NOT NULL 세팅
ALTER TABLE books ALTER COLUMN id SET NOT NULL;

-- 컬럼 NOT NULL 제거
ALTER TABLE books ALTER COLUMN id DROP NOT NULL;

-- 테이블 이름 변경
ALTER TABLE books RENAME TO literature;

-- 컬럼명 변경
ALTER TABLE books RENAME COLUMN in_stock TO is_in_stock;

-- 컬럼 데이터 타입 변경
ALTER TABLE books ALTER COLUMN publication TYPE text;

-- constraint 추가
ALTER TABLE editions ADD CONSTRAINT foreign_book FOREIGN KEY (book_id) REFERENCES books (id);
ALTER TABLE editions ADD CONSTRAINT hard_or_paper_back CHECK (type='p' OR type='h');

-- constraint 변경 (변경은 없고 DROP -> ADD 해야 함)
ALTER TABLE editions DROP CONSTRAINT editions_type_check;
ALTER TABLE editions ADD CONSTRAINT editions_type_check CHECK (type=ANY(ARRAY[0::smallint, 1::smallint, 2::smallint])); 

-- 테이블 소유자 변경
ALTER TABLE employees OWNER TO corwin;

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함