์š”์•ฝ

  • ALTER ๊ธฐ๋Šฅ: ํ…Œ์ด๋ธ” ๊ทธ ์ž์ฒด ๋˜๋Š” ํ…Œ์ด๋ธ” ๋‚ด ์—ด, ์ œ์•ฝ์กฐ๊ฑด์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ ํ™œ์šฉ
  • ์ˆ˜์ • ๋Œ€์ƒ ์ง€์ •(ํ…Œ์ด๋ธ”, ์ปฌ๋Ÿผ, ์ œ์•ฝ์กฐ๊ฑด, ๋ฐ์ดํ„ฐํƒ€์ž…)
    • table, column, constraint, type
  • ์ˆ˜์ • ์‚ฌํ•ญ ๋ช…๋ น์–ด ์ž…๋ ฅ
    • rename: ํ…Œ์ด๋ธ” ๋ฐ ์—ด ์ด๋ฆ„ ๋ณ€๊ฒฝ
    • add : ์ƒˆ๋กœ์šด ์—ด ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€
    • drop : ๊ธฐ์กด ์—ด ๋ฐ ์‚ฌ์ „ ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

1. ํ…Œ์ด๋ธ” ์ˆ˜์ •

๊ธฐ์กด์— ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝ

alter table old_table_name rename to NEW_TABLE_NAME

2. ์—ด ์ˆ˜์ •

2.1 ์—ด ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ

  • ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ž‘์„ฑ ํ•„์š”
-- 1. ์—ด ์ƒ์„ฑ
alter table ํ…Œ์ด๋ธ”๋ช…
add column ์ปฌ๋Ÿผ๋ช…1 integer,
add column ์ปฌ๋Ÿผ๋ช…2 char(20)
 
-- 2. ์—ด ์‚ญ์ œ
alter table ํ…Œ์ด๋ธ”๋ช…
drop column ์ปฌ๋Ÿผ๋ช…

2.2 ์—ด ์ด๋ฆ„ ๋ณ€๊ฒฝ

PostgreSQL์˜ ๊ฒฝ์šฐ ํ•œ ๋ช…๋ น๋ฌธ์— ํ•˜๋‚˜์˜ ์—ด ์ด๋ฆ„๋งŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

alter table ํ…Œ์ด๋ธ”๋ช…
rename column OLD_์ปฌ๋Ÿผ๋ช…1 to NEW_์ปฌ๋Ÿผ๋ช…1
alter table ํ…Œ์ด๋ธ”๋ช…
rename column OLD_์ปฌ๋Ÿผ๋ช…2 to NEW_์ปฌ๋Ÿผ๋ช…2

2.3 ์—ด ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€๊ฒฝ

  • alter ์žฌ์‚ฌ์šฉ
  • type์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐํƒ€์ž…์„ ๋ณ€๊ฒฝํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„
alter table ํ…Œ์ด๋ธ”๋ช…
alter column ์ปฌ๋Ÿผ๋ช… type ๋ณ€๊ฒฝํ• _๋ฐ์ดํ„ฐํƒ€์ž…

3. ์ œ์•ฝ์กฐ๊ฑด(PK, index ๋“ฑ) ์ˆ˜์ •

3.1 ์‚ฌํ›„ PK ์ถ”๊ฐ€

๊ธฐ์กด์— ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ”์—์„œ PK๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ ํ™œ์šฉ PK ์ด๋ฆ„์„ ์ง€์ •ํ•ด์ค˜์•ผํ•จ

alter table ํ…Œ์ด๋ธ”๋ช… add constraint PK_name primary key (์ปฌ๋Ÿผ๋ช…);

3.2 ์‚ฌ์ „ PK ์ œ๊ฑฐ

  • ๊ธฐ์กด PK ์ œ์•ฝ ์ด๋ฆ„ ํ™•์ธ
select conname
from pg_constraint
where conrelid = '์Šคํ‚ค๋งˆ๋ช….ํ…Œ์ด๋ธ”๋ช…'::regclass
and contype = 'p'
  • ํ™•์ธํ•œ PK ์ œ๊ฑฐ
alter table ํ…Œ์ด๋ธ”๋ช…
drop constraint PK๋ช…

์ฐธ๊ณ ์‚ฌ์ดํŠธ