ALTER TABLE

Name

ALTER TABLE -- Å×À̺í Á¤ÀǸ¦ º¯°æÇÑ´Ù

Synopsis

ALTER TABLE [ ONLY ] 
name
 [ * ]
    
action
 [, ... ]
ALTER TABLE [ ONLY ] 
name
 [ * ]
    RENAME [ COLUMN ] 
column
 TO 
new_column

ALTER TABLE 
name

    RENAME TO 
new_name

ALTER TABLE 
name

    SET SCHEMA 
new_schema


where 
action
 is one of:

    ADD [ COLUMN ] 
column
 
type
 [ 
column_constraint
 [ ... ] ]
    DROP [ COLUMN ] 
column
 [ RESTRICT | CASCADE ]
    ALTER [ COLUMN ] 
column
 TYPE 
type
 [ USING 
expression
 ]
    ALTER [ COLUMN ] 
column
 SET DEFAULT 
expression

    ALTER [ COLUMN ] 
column
 DROP DEFAULT
    ALTER [ COLUMN ] 
column
 { SET | DROP } NOT NULL
    ALTER [ COLUMN ] 
column
 SET STATISTICS 
integer

    ALTER [ COLUMN ] 
column
 SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
    ADD 
table_constraint

    DROP CONSTRAINT 
constraint_name
 [ RESTRICT | CASCADE ]
    DISABLE TRIGGER [ 
trigger_name
 | ALL | USER ]
    ENABLE TRIGGER [ 
trigger_name
 | ALL | USER ]
    CLUSTER ON 
index_name

    SET WITHOUT CLUSTER
    SET WITHOUT OIDS
    SET ( 
storage_parameter
 = 
value
 [, ... ] )
    RESET ( 
storage_parameter
 [, ... ] )
    INHERIT 
parent_table

    NO INHERIT 
parent_table

    OWNER TO 
new_owner

    SET TABLESPACE 
new_tablespace

¼³¸í

ALTER TABLE´Â ±âÁ¸ÀÇ Å×À̺íÀÇ Á¤ÀǸ¦ º¯°æÇÕ´Ï´Ù. ÀÌ Ä¿¸àµå¿¡´Â, ´ÙÀ½°ú °°Àº ºÎ±¸¹®ÀÌ ÀÖ½À´Ï´Ù.

ADD COLUMN

ÀÌ ±¸¹®À» »ç¿ëÇϸé, CREATE TABLE ¶ó°í °°Àº ±¸¹®À» »ç¿ëÇØ »õ·Î¿î ¿­À» Å×ÀÌºí¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

DROP COLUMN

ÀÌ ±¸¹®À» »ç¿ëÇϸé, Å×ÀÌºí¿¡¼­ ¿­À» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. »èÁ¦ÇÏ´Â ¿­À» Æ÷ÇÔÇϰí ÀÖ´Â À妽º ¹× Å×À̺í Á¦¾àµµ ÀÚµ¿ÀûÀ¸·Î »èÁ¦µË´Ï´Ù. ¶Ç, Å×À̺í ÀÌ¿Ü(¿¹¸¦ µé¸é, ¿ÜºÎ Ű Á¦¾à ¶Ç´Â ºäµî)»çÇ×ÀÌ »èÁ¦ÇÏ´Â ¿­¿¡ ÀÇÁ¸Çϰí ÀÖ´Â °æ¿ì,CASCADE¸¦ ºÙÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù.

ALTER COLUMN TYPE

ÀÌ ±¸¹®À» »ç¿ëÇϸé, Å×À̺íÀÇ ¿­ÀÇ ÇüŸ¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¿­À» Æ÷ÇÔÇÑ À妽º¿Í °£´ÜÇÑ Å×À̺í Á¦¾àÀº, ¿ø·¡ ÁÖ¾îÁø ½ÄÀ» ÀçÆÄ½ÌÇÏ¿©, »õ·Î¿î ÇüŸ¦ »ç¿ëÇϵµ·Ï ÀÚµ¿ÀûÀ¸·Î º¯È¯µË´Ï´Ù. USING±¸´Â, ¿¹ÀüÀÇ ¿­°ª¿¡¼­ »õ·Î¿î °ªÀ¸·Î °è»êÇÏ´Â ¹æ¹ýÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ±¸´Â »ý·« °¡´ÉÇÕ´Ï´Ù. »ý·« µÇ¾úÀ» °æ¿ì, µðÆúÆ®ÀÇ º¯È¯Àº, ¿¹ÀüÀÇ µ¥ÀÌÅÍÇüÀ¸·ÎºÎÅÍ »õ·Î¿î µ¥ÀÌÅÍÇü¿¡ÀÇ ´ëÀÔ Ä³½ºÆ®¿Í °°°Ô µË´Ï´Ù. ¿¹ÀüÀÇ µ¥ÀÌÅÍÇüÀ¸·ÎºÎÅÍ »õ·Î¿î µ¥ÀÌÅÍÇü¿¡ÀÇ ¾Ï¹¬ ij½ºÆ® ȤÀº ´ëÀÔ Ä³½ºÆ®°¡ ¾ø´Â °æ¿ì,USING±¸¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

SET/DROP DEFAULT

ÀÌ·¯ÇÑ ±¸¹®À» »ç¿ëÇϸé, ¿­ÀÇ µðÆúÆ®°ªÀ» ¼³Á¤ ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤ÇÑ µðÆúÆ®°ªÀº, º¯°æ ÈÄ¿¡ ÇàÇØÁö´ÂINSERTÄ¿¸àµå¿¡¸¸ Àû¿ëµË´Ï´Ù. Å×ÀÌºí³»ÀÇ ±âÁ¸ÀÇ ÇàÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù. µðÆúÆ®°ªÀº ºä¿¡ ´ëÇØ¼­ ¼³Á¤ÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì, ºäÀÇON INSERT·êÀÌ Àû¿ëµÇ±â Àü¿¡, ºäÀÇINSERT¹®¿¡ µðÆúÆ®°¡ »ðÀԵ˴ϴÙ.

SET/DROP NOT NULL

ÀÌ·¯ÇÑ ±¸¹®Àº, ¿­ÀÇ °ªÀ¸·Î ÇØ¼­ NULL°ªÀ» »ç¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö ¼³Á¤ÇÕ´Ï´Ù. SET NOT NULL´Â, ±× ¿­¿¡ NULL°ªÀÌ 1°³µµ ¾ø´Â °æ¿ì¿¡°Ô¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.

SET STATISTICS

ÀÌ ±¸¹®Àº, Ä¿¸àµå ½ÇÇà ÈÄ¿¡ ÇàÇØÁö´Â ANALYZE Á¶ÀÛ¿¡ ´ëÇØ, ¿­´ÜÀ§¿¡¼­ÀÇ Åë°è Á¤º¸¼öÁý ´ë»óÀ» ¼³Á¤ÇÕ´Ï´Ù. ´ë»óÀº 0¿¡¼­ 1000±îÁöÀÇ ¹üÀ§ÀÇ °ª¿¡¼­ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ´ë»óÀ»¡ª1À¸·Î ¼³Á¤Çϸé, ½Ã½ºÅÛÀÇ µðÆúÆ® Åë°è Á¤º¸ ´ë»ó(default_statistics_target)ÀÌ »ç¿ëµË´Ï´Ù. PostgreSQLÀÇ Äõ¸® Ç÷¡³Ê¿¡ ÀÇÇÑ Åë°è Á¤º¸ÀÇ »ç¿ë¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀº,Section 13.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

SET STORAGE

ÀÌ ±¸¹®Àº, ¿­ÀÇ ÀúÀå ¸ðµå¸¦ ¼³Á¤ÇÕ´Ï´Ù. ¿­À» ÀζóÀÎÀ¸·Î º¸°ü À¯Áö ¶Ç´Â º¸Ãæ Å×ÀÌºí ·Î À¯ÁöÇÏ´ÂÁö, ¶Ç, µ¥ÀÌÅ͸¦ ¾ÐÃàÇÒ °ÍÀÎÁö, ¾Æ´ÑÁö¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. PLAIN´Â,integer¿Í °°Àº °íÁ¤ÀåÀÇ °ª¿¡ ´ëÇØ¼­ »ç¿ëÇÕ´Ï´Ù. ÀζóÀÎÀ¸·Î º¸°ü À¯ÁöµÇ¾î ¾ÐÃàµÇÁö ¾Ê½À´Ï´Ù. MAIN´Â, ÀÎ ¶óÀÎÀ¸·Î º¸°ü À¯ÁöµÇ°í ÀÖ¾î, ¾ÐÃà °¡´ÉÇÑ µ¥ÀÌÅÍ¿¡ »ç¿ëÇÕ´Ï´Ù. EXTERNAL´Â ¾ÐÃàµÇ¾î ÀÖÁö ¾ÊÀº ¿ÜºÎ µ¥ÀÌÅÍ¿¡ »ç¿ëÇÕ´Ï´Ù. EXTENDED´Â ¾ÐÃàµÈ ¿ÜºÎ µ¥ÀÌÅÍ¿¡ »ç¿ëÇÕ´Ï´Ù. EXTENDED´Â,PLAINÀÌ¿ÜÀÇ ÀúÀåÀ» Áö¿øÇÏ´Â ´ëºÎºÐÀÇ µ¥ÀÌÅÍÇüÀÇ µðÆúÆ®ÀÔ´Ï´Ù. EXTERNAL¸¦ »ç¿ëÇϸé,text¹×bytea¿­¿¡ ´ëÇÑ ¼­ºê½ºÆ®¸µ Á¶ÀÛÀÇ Ã³¸® ¼Óµµ°¡ Çâ»óÇÕ´Ï´Ù¸¸, ÇÊ¿äÇÑ ÀúÀå°ø°£ÀÌ Áõ°¡ÇÑ´Ù°í ÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. SET STORAGEÀÚü´Â Å×À̺íÀ» ÀüÇô º¯°æÇÏÁö ¾Ê´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÀÌÈÄÀÇ Å×À̺íÀÇ °»½Å½Ã¿¡ ¼öÇàÇÏ´Â Àü·«À» ¼³Á¤ÇÒ »ÓÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºSection 52.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ADD table_constraint

ÀÌ ±¸¹®À» »ç¿ëÇϸé, CREATE TABLE ¿Í °°Àº ±¸¹®À» »ç¿ëÇÏ¿©, »õ·Î¿î Á¦¾àÀ» Å×ÀÌºí¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

DROP CONSTRAINT

ÀÌ ±¸¹®À» »ç¿ëÇϸé, Å×À̺í»óÀÇ ÁöÁ¤ÇÑ Á¦¾àÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.

DISABLE/ENABLE TRIGGER

ÀÌ ±¸¹®À» »ç¿ëÇϸé, Å×ÀÌºí¿¡ ¼ÓÇÏ´Â Æ®¸®°ÅÀÇ ¹ßÇà ¿©ºÎ¿¡ ´ëÇØ ¼³Á¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. »ç¿ë ºÒ°¡´ÉÇÑ Æ®¸®°Å´Â ½Ã½ºÅÛ»ó¿¡ °è¼Ó Á¸ÀçÇÕ´Ï´Ù¸¸ , Æ®¸®°Å À̺¥Æ®°¡ ¹ß»ýÇß´Ù°í ÇØµµ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. Áö¿¬µÈ Æ®¸®°ÅÀÇ °æ¿ì, »ç¿ë°¡´É »óÅÂÀÇ È®ÀÎÀº, Æ®¸®°Å ÇÔ¼ö¸¦ ½ÇÁ¦·Î ½ÇÇàÇÏ·Á°í ÇÒ ¶§´Â ¾Æ´Ï°í, À̺¥Æ®ÀÇ ¹ß»ý½Ã¿¡ ÇàÇØÁý´Ï´Ù. À̸§, ¶Ç´Â Å×À̺í»óÀÇ ¸ðµç Æ®¸®°Å, ¶Ç´Â »ç¿ëÀÚ Æ®¸®°Å¸¸À» ÁöÁ¤ÇÏ¿©(ÀÌ ¿É¼ÇÀº ¿Ü·¡Å° Á¦¾àÀ» ½ÇÇàÇϱâ À§Çؼ­ »ç¿ëµÇ´Â Æ®¸®°Å¸¦ Á¦¿ÜÇÕ´Ï´Ù.), ´ÜÀÏ Æ®¸®°Å¸¦ »ç¿ë°¡´É ¶Ç´Â »ç¿ë ºÒ°¡´ÉÀ¸·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. Á¦¾à¿ëÀÇ Æ®¸®°Å¸¦ »ç¿ë°¡´É ¶Ç´Â ºÒ°¡´ÉÀ¸·Î ÁöÁ¤ÇÏ·Á¸é ½´ÆÛ À¯Àú ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. Æ®¸®°Å°¡ ½ÇÇàµÇÁö ¾ÊÀº °æ¿ì, ´ç¿¬È÷ Á¦¾àÀÇ ¹«°á¼ºÀÌ º¸ÁõµÇÁö ¾ÊÀ¸¹Ç·Î, ÁÖÀÇÇØ ½ÇÇàÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

CLUSTER

ÀÌ ±¸¹®Àº, ÀÌÈÄÀÇ CLUSTER Á¶ÀÛ¿ëÀÇ µðÆúÆ® À妽º¸¦ ¼±ÅÃÇÕ´Ï´Ù. ½ÇÁ¦·Î Å×À̺íÀÇ ÀçŬ·¯½ºÅÍÈ­´Â ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

SET WITHOUT CLUSTER

ÀÌ ±¸¹®Àº, Å×ÀÌºí¿¡¼­, Á¦ÀÏ ¸¶Áö¸·¿¡ Àû¿ëµÈ CLUSTER À妽º ÁöÁ¤À» »èÁ¦ÇÕ´Ï´Ù. ÀÌÈÄÀÇ À妽º¸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â Ŭ·¯½ºÅÍ Á¶ÀÛ¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.

SET WITHOUT OIDS

ÀÌ ±¸¹®Àº, Å×ÀÌºí¿¡¼­oid½Ã½ºÅÛ¿­À» »èÁ¦ÇÕ´Ï´Ù. À̹Ìoid¿­ÀÌ Á¸ÀçÇÏÁö ¾Ê¾Æµµ °æ°í°¡ Ç¥½ÃµÇÁö ¾Ê´Â Á¡À» Á¦¿ÜÇϸé,DROP COLUMN oid RESTRICT¿Í µ¿µîÇÕ´Ï´Ù.

OID¸¦ »èÁ¦ ÈÄ, Å×ÀÌºí¿¡ OID¸¦ º¹±¸Çϵµ·Ï ÁöÁ¤ÇÏ´ÂALTER TABLEÀÇ ºÎ±¸¹®Àº Á¸ÀçÇÏÁö ¾Ê´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

SET ( storage_parameter = value [, ... ] )

ÀÌ ±¸¹®Àº, Å×À̺íÀÇ 1°³ÀÌ»óÀÇ ÀúÀåÀåÄ¡ ¸Å°³º¯¼ö¸¦ º¯°æÇÕ´Ï´Ù. ¼³Á¤ °¡´ÉÇÑ ¸Å°³º¯¼ö¿¡ °üÇØ¼­´Â CREATE TABLE À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ÀÌ Ä¿¸àµå¿¡ ÀÇÇØ Å×À̺íÀÇ ³»¿ëÀÌ Áï½Ã º¯°æµÇÁö ¾Ê´Â Á¡¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¸Å°³º¯¼ö¿¡ ÀÇÁ¸ÇÏ¿© ÇÊ¿äÇÑ È¿°ú¸¦ ¾ò±â À§Çؼ­´Â, Å×À̺íÀ» ÀçÀÛ¼ºÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡, Å×À̺íÀ» °­Á¦ÀûÀ¸·Î ÀçÀÛ¼ºÇÏ´Â CLUSTER ¶Ç´ÂALTER TABLEÀÇ ±¸¹®ÀÇ ¾î´ÀÂÊÀ̵çÁö »ç¿ëÇϼ¼¿ä.

Note: CREATE TABLE¿¡¼­´ÂOIDS¸¦WITH ( storage_parameter )±¸¹®À¸·Î ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù¸¸,ALTER TABLE¿¡¼­´ÂOIDS¸¦ ÀúÀåÀåÄ¡ ¸Å°³º¯¼ö·Î¼­ Ãë±ÞÇϰí ÀÖÁö ¾Ê½À´Ï´Ù.

RESET ( storage_parameter [, ... ] )

ÀÌ ±¸¹®Àº, 1°³ÀÌ»óÀÇ ÀúÀåÀåÄ¡ ¸Å°³º¯¼ö¸¦ µðÆúƮġ¿¡ Àç¼³Á¤ÇÕ´Ï´Ù. SET·Î, Å×À̺í Àüü¸¦ °»½ÅÇϱâ À§Çؼ­ Å×À̺íÀ» ÀçÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

INHERIT parent_table

ÀÌ ±¸¹®Àº, ´ë»ó Å×À̺íÀ» ÁöÁ¤ÇÑ ºÎ¸ð Å×À̺íÀÇ ¾ÆÀÌ Å×À̺í·Î¼­ Ãß°¡ÇÕ´Ï´Ù. ±× ÈÄ¿¡ ÇàÇØÁö´Â ºÎ¸ð Å×ÀÌºí¿¡ÀÇ Äõ¸®¿¡´Â ´ë»ó Å×À̺íÀÇ Ç׸ñµµ Æ÷ÇԵ˴ϴÙ. ¾ÆÀÌ Å×À̺í·Î¼­ Ãß°¡Çϱâ À§Çؼ­´Â, ´ë»ó Å×ÀÌºí¿¡´Â ºÎ¸ð Å×À̺í°ú °°Àº ¿­ÀÌ ¸ðµÎ Æ÷ÇÔµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. (ÀÌ ´Ù¸¥ ¿­À» °¡Áú ¼öµµ ÀÖ½À´Ï´Ù. ) ÀÌ·¯ÇÑ ¿­ÀÇ µ¥ÀÌÅÍÇüÀº ÀÏÄ¡Çϰí ÀÖÀ» Çʿ䰡 ÀÖ¾î, ºÎ¸ð Å×À̺í·ÎNOT NULLÁ¦¾àÀÌ ÀÖ´Â °æ¿ì´Â, ¾ÆÀÌ Å×ÀÌºí¿¡¼­µµ¿Í °°ÀÌNOT NULLÁ¦¾àÀ» °¡ÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¶Ç, ºÎ¸ð Å×À̺íÀÇCHECKÁ¦¾à ¸ðµÎ¿¡ ´ëÇØ¼­µµ, ÀÏÄ¡ÇÏ´Â Á¦¾àÀÌ ¾ÆÀÌ Å×ÀÌºí¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. Çö½ÃÁ¡¿¡¼­´ÂUNIQUE,PRIMARY KEY,FOREIGN KEYÁ¦¾àÀº ¹«½ÃµË´Ï´Ù¸¸, Àå·¡ º¯°æµÉÁöµµ ¸ð¸¨´Ï´Ù.

NO INHERIT parent_table

ÀÌ ±¸¹®Àº, ÁöÁ¤ÇÑ ºÎ¸ð Å×ÀÌºí¿¡¼­ ¾ÆÀÌ Å×ÀÌºí±ºÀ» »èÁ¦ÇÕ´Ï´Ù. ºÎ¸ð Å×ÀÌºí¿¡ÀÇ Äõ¸®¿¡¼­´Â, ´ë»óÀ¸·Î ÇÑ Å×ÀÌºí¿¡¼­ÀÇ µ¥ÀÌÅͰ¡ Æ÷ÇÔµÇÁö ¾Ê°Ô µË´Ï´Ù.

OWNER

ÀÌ Çü½ÄÀ» »ç¿ëÇϸé, Å×À̺í, ½ÃÄö½º, ¶Ç´Â ºäÀÇ ¼ÒÀ¯ÀÚ¸¦, ÁöÁ¤ÇÑ »ç¿ëÀÚ·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù

SET TABLESPACE

ÀÌ ±¸¹®À» »ç¿ëÇϸé, Å×À̺íÀÇ Å×ÀÌºí½ºÆäÀ̽º¸¦ ÁöÁ¤ÇÑ Å×ÀÌºí½ºÆäÀ̽º·Î º¯°æÇØ, Å×ÀÌºí¿¡ °ü·ÃÇÏ´Â µ¥ÀÌÅÍ ÆÄÀÏÀ» »õ·Î¿î Å×ÀÌºí½ºÆäÀ̽º·Î À̵¿½Ãų ¼ö ÀÖ½À´Ï´Ù. Å×ÀÌºí¿¡ À妽º°¡ À־ À̵¿µÇÁö ¾Ê½À´Ï´Ù. Ãß°¡ÀûÀÎSET TABLESPACEÄ¿¸àµå¸¦ ½ÇÇàÇØ¾ß À̵¿½Ãų ¼ö ÀÖ½À´Ï´Ù. CREATE TABLESPACE µµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

RENAME

RENAME±¸¹®À» »ç¿ëÇϸé, Å×À̺í(ȤÀº, À妽º, ½ÃÄö½º, ¶Ç´Â ºä)ÀÇ À̸§À̳ª, Å×À̺íÀÇ °³°³ÀÇ ¿­¸íÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀúÀåµÈ µ¥ÀÌÅÍ¿¡´Â ¿µÇâÀ» ³¢Ä¡Áö ¾Ê½À´Ï´Ù.

SET SCHEMA

ÀÌ ±¸¹®À» »ç¿ëÇØ, Å×À̺íÀ» ´Ù¸¥ ½ºÅ°¸¶·Î À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. °ü·ÃµÈ À妽º³ª Á¦¾à, Å×ÀÌºí¿­¿¡ ÀÇÇØ ¼ÒÀ¯µÇ´Â ½ÃÄö½ºµµ ÀÌ¿Í °°ÀÌ À̵¿µË´Ï´Ù.

RENAME¹×SET SCHEMAÀÌ¿ÜÀÇ ¸ðµç Á¶ÀÛÀº, °áÇÕÇØ º¹¼öÀÇ º¯°æ ¸®½ºÆ®¿¡ Á¤¸®ÇÏ¿©, µ¿½Ã¿¡ ó¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, º¹¼öÀÇ ¿­ÀÇ Ãß°¡, º¹¼ö¿­ÀÇ ÇüÅÂÀÇ º¯°æÀ» ´ÜÀÏÀÇ Ä¿¸àµå·Î ½ÇÇàÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ƯÈ÷ °Å´ëÇÑ Å×ÀÌºí¿¡¼­´Â À¯¿ëÇÕ´Ï´Ù. º¯°æÀ» ÇÊ¿ä·Î ÇÏ´Â Å×À̺í ÀüüÀÇ º¯°æÀ» ½ÇÇàÇÏ´Â µ¿ÀÛÀÌ ´Ü 1ȸ·Î ³¡³ª±â ¶§¹®ÀÔ´Ï´Ù.

ALTER TABLEÄ¿¸àµå¸¦ »ç¿ëÇÏ·Á¸é , º¯°æÇÏ´Â Å×À̺íÀ» ¼ÒÀ¯ÇØ¾ß ÇÕ´Ï´Ù. Å×À̺íÀÇ ½ºÅ°¸¶¸¦ º¯°æÇÏ·Á¸é , »õ·Î¿î ½ºÅ°¸¶¿¡ À־ÀÇCREATE±ÇÇѵµ °¡ÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ºÎ¸ð Å×ÀÌºí¿¡ »õ·Î¿î ¾ÆÀÌ Å×À̺íÀ» Ãß°¡ÇÏ·Á¸é , ºÎ¸ð Å×ÀÌºíµµ ÀÌ¿Í °°ÀÌ ¼ÒÀ¯Çϰí ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ¶Ç, ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÏ·Á¸é , »õ·Î¿î ¼ÒÀ¯ ·ÑÀÇ Á÷Á¢ ȤÀº °£Á¢ÀûÀÎ ¸â¹ö°¡ ¾Æ´Ï¸é ¾ÈµÇ¾î, ÇÑÆí, ±× ·ÑÀÌ Å×À̺íÀÇ ½ºÅ°¸¶¿¡ À־ÀÇCREATE±ÇÇÑÀ» °¡ÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù (ÀÌ Á¦ÇÑ¿¡ ÀÇÇØ °­Á¦ÀûÀ¸·Î ¼ÒÀ¯ÀÚÀÇ º¯°æÀÌ, Å×À̺íÀÇ »èÁ¦¿Í ÀçÀÛ¼ºÀ» ½Ç½ÃÇØµµ ÇÒ ¼ö ¾ø´Â °ÍÀ» ½Ç½ÃÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù. ´Ù¸¸, ½´ÆÛ À¯Àú´Â ¸ðµç Å×À̺íÀÇ ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù).

¸Å°³º¯¼ö

name

º¯°æ ´ë»óÀÌ µÇ´Â ±âÁ¸ÀÇ Å×À̺íÀÇ À̸§(°ËÁõÀ» °ÅÄ£ ½ºÅ°¸¶)ÀÔ´Ï´Ù. ONLY°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, ±× Å×ÀÌºí¸¸ÀÌ º¯°æµË´Ï´Ù. ONLY°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ±× Å×ÀÌºí ¹×(Á¸ÀçÇÏ´Â °æ¿ì´Â) ±× Å×À̺íÀ» »ó¼ÓÇÏ´Â ¸ðµç Å×À̺íÀÌ °»½ÅµË´Ï´Ù. Å×À̺í¸í¿¡ *¸¦ ºÙÀ̸é, »ó¼ÓÇÏ´Â Å×À̺íÀÌ º¯°æµÇ´Â °ÍÀ» ¸í½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ÇöÀçÀÇ ¹öÁ¯¿¡¼­´Â, À̰ÍÀº µðÆúÆ®·Î ÇàÇØÁý´Ï´Ù (7.1º¸´Ù ÀüÀÇ ¸±¸®½º¿¡¼­´Â,ONLY°¡ µðÆúÆ®¿´½À´Ï´Ù. µðÆúÆ®ÀÇ ¼³Á¤Àº,sql_inheritanceȯ°æ¼³Á¤ º¯¼öÀ¸·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù).

column

½Å±Ô ¶Ç´Â ±âÁ¸ÀÇ ¿­ÀÇ À̸§ÀÔ´Ï´Ù.

new_column

±âÁ¸ÀÇ ¿­ÀÇ »õ·Î¿î À̸§ÀÔ´Ï´Ù.

new_name

Å×À̺íÀÇ »õ·Î¿î À̸§ÀÔ´Ï´Ù.

type

»õ·Î¿î ¿­ÀÇ µ¥ÀÌÅÍÇü, ȤÀº ±âÁ¸ÀÇ ¿­¿¡ ´ëÇÑ »õ·Î¿î µ¥ÀÌÅÍÇüÀÔ´Ï´Ù.

table_constraint

Å×À̺íÀÇ »õ·Î¿î Å×À̺í Á¦¾àÀÔ´Ï´Ù.

constraint_name

»èÁ¦ÇÏ´Â ±âÁ¸ÀÇ Á¦¾àÀÇ À̸§ÀÔ´Ï´Ù.

CASCADE

»èÁ¦µÈ ¿­À̳ª Á¦¾à¿¡ ÀÇÁ¸Çϰí ÀÖ´Â °´Ã¼(¿¹¸¦ µé¸é, »èÁ¦µÈ ¿­À» ÂüÁ¶Çϰí ÀÖ´Â ºä)¸¦, ÀÚµ¿ÀûÀ¸·Î »èÁ¦ÇÕ´Ï´Ù.

RESTRICT

ÀÇÁ¸Çϰí ÀÖ´Â °´Ã¼°¡ ÀÖ´Â °æ¿ì, ¿­ ¶Ç´Â Á¦¾àÀÇ »èÁ¦ ¿ä±¸¸¦ °ÅºÎÇÕ´Ï´Ù. À̰ÍÀÌ µðÆúÆ® µ¿ÀÛÀÔ´Ï´Ù.

trigger_name

»ç¿ë°¡´É ¶Ç´Â »ç¿ëºÒ°¡´ÉÇÑ ´ÜÀÏ Æ®¸®°ÅÀÇ À̸§ÀÔ´Ï´Ù.

ALL

Å×ÀÌºí¿¡ ¼ÓÇÏ´Â ¸ðµç Æ®¸®°Å¸¦ »ç¿ë°¡´É ¶Ç´Â »ç¿ëºÒ°¡´ÉÀ¸·Î ÁöÁ¤ ÇÕ´Ï´Ù. (¿Ü·¡Å° Á¦¾à¿ëÀÇ Æ®¸®°Å°¡ Æ÷ÇԵǴ °æ¿ì, ½´ÆÛ À¯Àú ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. )

USER

¿Ü·¡Å° Á¦¾à¿ëÀÇ Æ®¸®°Å ÀÌ¿ÜÀÇ Å×ÀÌºí¿¡ ¼ÓÇÏ´Â Æ®¸®°Å ¸ðµç °ÍÀ» »ç¿ë°¡´É ¶Ç´Â »ç¿ëºÒ°¡´ÉÀ¸·Î ÁöÁ¤ ÇÕ´Ï´Ù.

index_name

ÁöÁ¤ÇÑ À妽º¸íÀ¸·Î Å×À̺íÀ» Ŭ·¯½ºÅÍÈ­Çϵµ·Ï Ç¥½Ã¸¦ ÇÕ´Ï´Ù.

storage_parameter

Å×À̺íÀÇ ÀúÀå ¸Å°³º¯¼öÀÇ À̸§ÀÔ´Ï´Ù.

value

Å×À̺íÀÇ ÀúÀå ¸Å°³º¯¼öÀÇ »õ·Î¿î °ªÀÔ´Ï´Ù. ¸Å°³º¯¼ö¿¡ ÀÇÇØ À̰ÍÀº ¼ýÀÚ ¶Ç´Â ¹®ÀÚ°¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù.

parent_table

ÀÌ Å×ÀÌºí¿¡ ¿¬°üÁþ´Â ¶Ç´Â ¿¬°üÀ» ¾ø¾Ö´Â ºÎ¸ð Å×À̺íÀÔ´Ï´Ù.

new_owner

Å×À̺íÀÇ »õ·Î¿î ¼ÒÀ¯ÀÚÀÇ »ç¿ëÀÚ¸íÀÔ´Ï´Ù.

new_tablespace

Å×À̺íÀÌ À̵¿µÉ Å×ÀÌºí½ºÆäÀ̽ºÀÇ À̸§ÀÔ´Ï´Ù.

new_schema

Å×À̺íÀÌ À̵¿µÉ ½ºÅ°¸¶ÀÇ À̸§ÀÔ´Ï´Ù.

ÁÖ¼®

COLUMNŰ¿öµå´Â ³ëÀÌÁîÀ̸ç, »ý·« °¡´ÉÇÕ´Ï´Ù.

ADD COLUMN¿¡ ÀÇÇØ ¿­À» Ãß°¡ÇßÀ» ¶§, Å×ÀÌºí³»ÀÇ ±âÁ¸Çà¿¡ Ãß°¡µÈ ¿­Àº, ¸ðµÎ µðÆúÆ®°ª(DEFAULT°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â NULL)À¸·Î ÃʱâÈ­µË´Ï´Ù.

NULLÀÌ ¾Æ´Ñ µðÆúÆ®°ªÀ» °¡Áö´Â ¿­À» Ãß°¡Çϰųª ¶Ç´Â ±âÁ¸ÀÇ ¿­ÀÇ ÇüŸ¦ º¯°æÇÏ·Á¸é , Å×À̺í Àüü¸¦ ÀçÀÛ¼º ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Å×À̺íÀÌ °Å´ëÇÑ °æ¿ì, ÀÌ·¯ÇÑ Ã³¸®¿¡ »ó´çÇÑ ½Ã°£ÀÌ °É¸± °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ¶Ç, ÀϽÃÀûÀ¸·Î 2¹èÀÇ µð½ºÅ© ¿ë·®ÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.

CHECKȤÀºNOT NULLÁ¦¾àÀ» Ãß°¡ÇÒ ¶§´Â, ±âÁ¸ÀÇ ÇàÀÌ Á¦¾à¿¡ µû¸£´ÂÁö °ËÁõÇϱâ À§Çؼ­ Å×À̺íÀ» ½ºÄ³´×ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

´ÜÀÏÀÇALTER TABLE³»¿¡¼­ º¹¼öÀÇ º¯°æÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀ» Á¦°øÇÏ´Â ÁÖµÈ ÀÌÀ¯´Â, º¹¼öÀÇ Å×ÀÌºí ½ºÄµÀ̳ª, ÀçÀÛ¼ºÀ» Å×ÀÌºí¿¡ 1ȸÀÇ Ã³¸®¸¸À¸·Î Á¤¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.

DROP COLUMN±¸¹®Àº, ¿­À» ¹°¸®ÀûÀ¸·Î´Â »èÁ¦ÇÏÁö ¾Ê°í, SQL¸¦ Á¶ÀÛ¿¡ À־ ºÒ°¡½ÃÈ­ ÇÕ´Ï´Ù. ÀÌ Ä¿¸àµå¸¦ ½ÇÇàÇÑ ÈÄ, Å×ÀÌºí¿¡ »ðÀÔ ¶Ç´Â °»½ÅÀ» Çϸé, »èÁ¦ÇÑ ¿­¿¡´Â NULLÀÌ ÀúÀåµË´Ï´Ù. µû¶ó¼­, ¿­ÀÇ »èÁ¦´Â ´Ü½Ã°£¿¡ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, »èÁ¦µÈ ¿­ÀÌ Â÷ÁöÇϰí ÀÖ´ø ½ºÆäÀ̽º°¡ ¾ÆÁ÷ ȸ¼öµÇ¾î ÀÖÁö ¾Ê±â ¶§¹®¿¡, Å×À̺íÀÇ µð½ºÅ©»óÀÇ »çÀÌÁî´Â °ð¹Ù·Î´Â ÀÛ¾ÆÁöÁö ¾Ê½À´Ï´Ù. ÀÌ ½ºÆäÀ̽º´Â, ±× ÈÄ ±âÁ¸ÀÇ ÇàÀÌ °»½ÅµÇ´Â ŸÀֿ̹¡ ȸ¼öµË´Ï´Ù.

ALTER TYPE°¡ Å×À̺í ÀüüÀÇ ÀçÀÛ¼ºÀ» ÇÊ¿ä·Î ÇÏ´Â °ÍÀÌ ÀÌÁ¡ÀÌ µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀçÀÛ¼º 󸮿¡ ÀÇÇØ, Å×ÀÌºí ³»¿¡ ºÒÇÊ¿äÇØÁø ¿µ¿ªÀÌ Á¦°ÅµÇ±â ¶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, »èÁ¦ÇÑ ¿­ÀÌ »ç¿ëÇϰí ÀÖ´ø ½ºÆäÀ̽º¸¦ Áï¼®¿¡¼­ ȸ¼öÇÏ°í ½ÍÀº °æ¿ì, °¡Àå °í¼ÓÀÇ Ä¿¸àµå´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

ALTER TABLE table ALTER COLUMN anycol TYPE anytype;

¿©±â¼­anycol¿¡´Â ±âÁ¸ÀÇ Å×ÀÌºí¿­À»,anytype¿¡´Â ±âÁ¸ÀÇ ¿­°ú µ¿ÀÏÇÑ ÇüŸ¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ Ä¿¸àµå¸¦ ½ÇÇàÇϸé, ¿ÜÇü¿¡´Â Å×ÀÌºí¿¡ Àǹ̰¡ ÀÖ´Â º¯°æÀº ¾ø½À´Ï´Ù¸¸, ºÒÇÊ¿äÇØÁø µ¥ÀÌÅ͸¦ Á¦°ÅÇϵµ·Ï, ÀçÀÛ¼ºÀ» °­¿äÇÕ´Ï´Ù.

ALTER TYPEÀÇUSING¿É¼Ç¿¡¼­´Â, ±× ÇàÀÇ º¯È¯ ÀÌÀüÀÇ °ªÀ» Æ÷ÇÔÇØ ¸ðµç ½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, º¯È¯ ´ë»óÀÇ ¿­°ú °°°Ô, ±× ¿ÜÀÇ ¿­µµ ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ÀϹÝÀûÀÎ º¯È¯À»ALTER TYPE±¸¹®À¸·Î ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ À¯¿¬¼º ¶§¹®¿¡,USING½ÄÀº ¿­ÀÇ µðÆúÆ® °ª¿¡´Â(¸¸ÀÏ Á¸ÀçÇϰí À־) Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. °á°ú°¡ Á¤¼ö½ÄÀÌ µÇÁö ¾ÊÀ» °¡´É¼ºÀÌ Àֱ⠶§¹®ÀÔ´Ï´Ù(µðÆúÆ®°ªÀº Á¤¼ö½ÄÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù). µû¶ó¼­, º¯È¯ ÀÌÀüÀÇ ÇüÅ¿¡¼­ »õ·Î¿î ÇüÅ¿¡ÀÇ ¾Ï¹¬ ij½ºÆ®³ª ´ëÀÔ Ä³½ºÆ®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì,USING°¡ ÁöÁ¤µÇ°í À־,ALTER TYPE°¡ µðÆúÆ®°ªÀÇ º¯È¯¿¡ ½ÇÆÐÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â,DROP DEFAULT·Î µðÆúÆ® °ªÀ» »èÁ¦ÇØ,ALTER TYPE¸¦ ½ÇÇàÇÑ ´ÙÀ½¿¡,SET DEFAULT¸¦ »ç¿ëÇØ ÀçÂ÷ ÀûÀýÇÑ µðÆúÆ®°ªÀ» ÁöÁ¤ÇØ ÁÖ¼¼¿ä. º¯°æ ´ë»óÀÇ ¿­À» °¡Áö´Â À妽º¿Í Á¦¾àµµ °°Àº ¹è·Á°¡ ÇÊ¿äÇÕ´Ï´Ù.

±× Å×À̺íÀ» »ó¼ÓÇÏ´Â Å×À̺íÀÌ ÀÖ´Â °æ¿ì, ÀÚ¼Õ Å×ÀÌºí¿¡ °°Àº 󸮸¦ ½ÇÇàÇÏÁö ¾ÊÀ¸¸é, ºÎ¸ð Å×ÀÌºí¿¡ ´ëÇÑ ¿­ÀÇ Ãß°¡, ¿­ÀÇ À̸§, ÇüÅÂÀÇ º¯°æÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. Áï,ALTER TABLE ONLYÄ¿¸àµå´Â ¹Þ¾ÆµéÀÏ ¼ö ¾ø½À´Ï´Ù. ÀÌ Á¦ÇÑ¿¡ ÀÇÇØ, ÀÚ¼Õ Å×À̺íÀÇ ¿­ÀÌ Ç×»ó ºÎ¸ð Å×À̺í°ú ÀÏÄ¡Çϰí ÀÖ´Â °ÍÀÌ º¸ÁõµË´Ï´Ù.

Àç±ÍÀûÀÎDROP COLUMNÁ¶ÀÛ¿¡¼­´Â, ÀÚ¼Õ Å×À̺íÀÌ ´Ù¸¥ ºÎ¸ðÅ×ÀÌºí¿¡¼­ ±× ¿­À» »ó¼ÓÇϰí ÀÖÁö ¾Ê°í, ÇÑÆí, µ¶¸³ÀûÀÎ ¿­Á¤ÀǸ¦ °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¸¸, ±× ÀÚ¼Õ Å×À̺íÀÇ ¿­À» »èÁ¦ÇÕ´Ï´Ù. Àç±ÍÀûÀÌÁö ¾ÊÀºDROP COLUMN(¿¹¸¦ µé¸é,ALTER TABLE ONLY ... DROP COLUMNµî) Á¶ÀÛ¿¡¼­´Â, »ó¼ÓµÈ ¿­Àº »èÁ¦µÇÁö ¾Ê½À´Ï´Ù. »èÁ¦ÇÏ´Â ´ë½Å¿¡, ±× ¿­Àº »ó¼ÓµÇÁö ¾Ê°í µ¶¸³ÇØ Á¤Àǵǰí ÀÖ´Ù°í Çϴ ǥ½Ã¸¦ ÇÕ´Ï´Ù.

TRIGGER,CLUSTER,OWNER¹×TABLESPACE´Â ÀÚ¼Õ Å×ÀÌºí¿¡ Àç±ÍÀûÀ¸·Î ÀüÇØÁöÁö ¾Ê½À´Ï´Ù. Áï, Ç×»óONLY°¡ ÁöÁ¤µÇ¾î ÀÖ´Â °Í°ú °°°Ô µ¿ÀÛÇÕ´Ï´Ù. Á¦¾àÀÇ Ãß°¡´Â,CHECKÁ¦¾à¿¡ °üÇÏ¿© Àç±ÍÀûÀ¸·Î ÀüÇØÁý´Ï´Ù.

½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡ ´ëÇØ¼­´Â, ¾î¶°ÇÑ ºÎºÐÀÇ º¯°æµµ Çã°¡µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.

À¯È¿ÇÑ ¸Å°³º¯¼öÀÇ ÀÚ¼¼ÇÑ ¼³¸íÀº CREATE TABLE À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. Chapter 5¿¡, »ó¼Ó¿¡ °üÇÑ ÇÑÃþ ´õ ÀÚ¼¼ÇÑ Á¤º¸°¡ ÀÖ½À´Ï´Ù.

¿¹

varcharÇüÀÇ ¿­À» Å×ÀÌºí¿¡ Ãß°¡ÇÕ´Ï´Ù.

ALTER TABLE distributors ADD COLUMN address varchar(30);

Å×ÀÌºí¿¡¼­ ¿­À» »èÁ¦ÇÕ´Ï´Ù.

ALTER TABLE distributors DROP COLUMN address RESTRICT;

1°³ÀÇ Á¶ÀÛÀ¸·Î ±âÁ¸ÀÇ 2°³ÀÇ ¿­ÀÇ ÇüŸ¦ º¯°æÇÕ´Ï´Ù.

ALTER TABLE distributors
    ALTER COLUMN address TYPE varchar(80),
    ALTER COLUMN name TYPE varchar(100);

USING±¸¸¦ »ç¿ëÇØ, Unix ŸÀÓ½ºÅÆÇÁ¸¦ °¡Áö´Â integerÇüÀÇ ¿­À»timestamp with time zone·Î º¯°æÇÕ´Ï´Ù.

ALTER TABLE foo
    ALTER COLUMN foo_timestamp TYPE timestamp with time zone
    USING
        timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';

À§¿Í °°½À´Ï´Ù. ´Ù¸¸, ±× ¿­Àº, ÀÚµ¿ÀûÀ¸·Î »õ·Î¿î µ¥ÀÌÅÍÇü¿¡ ij½ºÆ® µÇÁö ¾Ê´Â µðÆúÆ®½ÄÀ» °¡Áý´Ï´Ù.

ALTER TABLE foo
    ALTER COLUMN foo_timestamp DROP DEFAULT,
    ALTER COLUMN foo_timestamp TYPE timestamp with time zone
    USING
        timestamp with time zone 'epoch' + foo_timestamp * interval '1 second',
    ALTER COLUMN foo_timestamp SET DEFAULT now();

±âÁ¸ÀÇ ¿­ÀÇ À̸§À» º¯°æÇÕ´Ï´Ù.

ALTER TABLE distributors RENAME COLUMN address TO city;

±âÁ¸ÀÇ Å×À̺íÀÇ À̸§À» º¯°æÇÕ´Ï´Ù.

ALTER TABLE distributors RENAME TO suppliers;

¿­¿¡ ºñNULL Á¦¾àÀ» ºÎ¿©ÇÕ´Ï´Ù.

ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;

¿­¿¡¼­ ºñNULL Á¦¾àÀ» »èÁ¦ÇÕ´Ï´Ù.

ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;

Å×ÀÌºí¿¡ CHECK Á¦¾àÀ» ºÎ¿©ÇÕ´Ï´Ù.

ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);

Å×À̺í°ú ±× ¾ÆÀÌ Å×ÀÌºí¿¡¼­ CHECK Á¦¾àÀ» »èÁ¦ÇÕ´Ï´Ù.

ALTER TABLE distributors DROP CONSTRAINT zipchk;

Å×ÀÌºí¿¡ ¿Ü·¡Å° Á¦¾àÀ» ºÎ¿©ÇÕ´Ï´Ù.

ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses (address) MATCH FULL;

Å×ÀÌºí¿¡(º¹¼ö¿­ÀÇ) ÀÏÀǼº Á¦¾àÀ» ºÎ¿©ÇÕ´Ï´Ù.

ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);

ÀÚµ¿ÀûÀ¸·Î ¸í¸íµÇ´Â ÁÖŰ Á¦¾àÀ» Å×ÀÌºí¿¡ ºÎ¿©ÇÕ´Ï´Ù. 1°³ÀÇ Å×À̺íÀº 1°³ÀÇ ÁÖ۸¸ °¡Áú ¼ö ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

ALTER TABLE distributors ADD PRIMARY KEY (dist_id);

Å×À̺íÀ» ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º·Î À̵¿ÇÕ´Ï´Ù.

ALTER TABLE distributors SET TABLESPACE fasttablespace;

Å×À̺íÀ» ´Ù¸¥ ½ºÅ°¸¶·Î À̵¿ÇÕ´Ï´Ù.

ALTER TABLE myschema.distributors SET SCHEMA yourschema;

ȣȯ¼º

ADD,DROP,SET DEFAULT±¸¹®Àº Ç¥ÁØ SQL¿¡ µû¸¨´Ï´Ù. ´Ù¸¥ ±¸¹®Àº Ç¥ÁØ SQL¿¡ ´ëÇÑPostgreSQLÀÇ È®ÀåÀÔ´Ï´Ù. ¶Ç, ´ÜÀÏÀÇALTER TABLEÄ¿¸àµå ³»¿¡ º¹¼öÀÇ Á¶ÀÛÀ» ÁöÁ¤ÇÏ´Â ±â´ÉµµPostgreSQLÀÇ È®ÀåÀÔ´Ï´Ù.

ALTER TABLE DROP COLUMN¸¦ »ç¿ëÇØ, ´Ü 1°³ÀÇ ¿­À» °¡Áø Å×ÀÌºí¿¡¼­ ¿­À» »èÁ¦ÇØ, ¿­ÀÌ ¾ø´Â Å×À̺íÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀºPostgreSQLÀÇ È®ÀåÀÔ´Ï´Ù. SQL¿¡¼­´Â, ¿­ÀÌ ¾ø´Â Å×À̺íÀº ÀÎÁ¤µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.