| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT RESET SESSION AUTHORIZATION
ÀÌ ¸í·ÉÀº ¼¼¼ÇÀÇ »ç¿ëÀÚ ½Äº°ÀÚ ¹×, ÇöÀçÀÇ SQL ¼¼¼Ç¿¡ ÀÖ¾î¼ÀÇ ÇöÀçÀÇ »ç¿ëÀÚ ½Äº°ÀÚ¸¦username·Î ¼³Á¤ÇÕ´Ï´Ù. »ç¿ëÀÚ¸íÀº ½Äº°ÀÚ »Ó¸¸ÀÌ ¾Æ´Ï¶ó ½ºÆ®¸µ ¸®ÅÍ·²(string literal)·Î¼ ±â¼úÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¸í·ÉÀ» »ç¿ëÇÏ¸é ¿¹¸¦ µé¸é, ÀϽÃÀûÀ¸·Î ºñƯ±Ç »ç¿ëÀÚ°¡ µÇ¾î, ±× ÈÄ¿¡ ½´ÆÛ À¯Àú¿¡°Ô µ¹¾Æ¿À´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.
¼¼¼ÇÀÇ »ç¿ëÀÚ ½Äº°Àڴ Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ °Ç³×¹Þ´Â(°¡´ÉÇÑ ÀÎÁõ) »ç¿ëÀÚ¸íÀ¸·Î Ãʱâȵ˴ϴÙ. ÇöÀçÀÇ »ç¿ëÀÚ ½Äº°ÀÚ´Â Åë»ó ¼¼¼ÇÀÇ »ç¿ëÀÚ ½Äº°ÀÚ¿Í µ¿ÀÏÇÕ´Ï´Ù¸¸, SECURITY DEFINERÇÔ¼ö³ª À¯»çÇÑ ±â´É¿¡ ÀÇÇØ ÀϽÃÀûÀ¸·Î º¯°æµÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. SET ROLE ±×¸®°í À̰ÍÀ» º¯°æÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇöÀçÀÇ »ç¿ëÀÚ ½Äº°ÀÚ´Â ±ÇÇÑÀÇ °Ë»ç¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.
¼¼¼ÇÀÇ »ç¿ëÀÚ ½Äº°ÀÚ´Â ÃÖÃÊÀÇ ¼¼¼Ç »ç¿ëÀÚ(ÀÎÁõµÈ »ç¿ëÀÚ)°¡ ½´ÆÛ À¯Àú ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ¿Í ´Þ¸® ÀÎÁõµÈ »ç¿ëÀÚ¸íÀ» ÁöÁ¤ÇÑ´Ù¸é ÀÌ ¸í·ÉÀº ¹Þ¾Æµé¿©Áý´Ï´Ù.
SESSION¼ö½ÄÀÚ ¹×LOCAL¼ö½ÄÀÚ´Â Åë»óÀÇ SET ¸í·ÉÀÇ °æ¿ì¿Í °°ÀÌ ±â´ÉÇÕ´Ï´Ù.
DEFAULT±¸¹® ¹×RESET±¸¹®Àº ¼¼¼Ç¸¦ ¸®¼ÂÇÏ°í ±×¸®°í ÇöÀç »ç¿ëÀÚÀÇ ½Äº°ÀÚ¸¦ ¿ø·¡ÀÇ ÀÎÁõ »ç¿ëÀÚ°¡ µÇµµ·Ï ¸®¼ÂÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ±¸¹®Àº ¸ðµç »ç¿ëÀÚ°¡ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
SET SESSION AUTHORIZATION cannot be used within a SECURITY DEFINER function. --> SET SESSION AUTHORIZATION¸¦ SECURITY DEFINERÇÔ¼ö·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
SELECT SESSION_USER, CURRENT_USER; session_user | current_user --------------+-------------- peter | peter SET SESSION AUTHORIZATION 'paul'; SELECT SESSION_USER, CURRENT_USER; session_user | current_user --------------+-------------- paul | paul
Ç¥ÁØ SQL¿¡¼´Â username ¸®ÅÍ·²ÀÇ ÁöÁ¤ ¹æ¹ýÀ¸·Î¼ ±× ¿ÜÀÇ Ç¥ÇöÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ Â÷ÀÌ´Â ½ÇÁ¦·Î´Â Áß¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. PostgreSQL¿¡¼´Â ½Äº°ÀÚ ±¸¹®("username")À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, SQL¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. SQL¿¡¼´Â ÀÌ ¸í·ÉÀ» Æ®·£Àè¼Ç(transaction)Áß¿¡ ½ÇÇàÇÒ ¼ö°¡ ¾ø½À´Ï´Ù¸¸, PostgreSQL¿¡¼´Â ±ÝÁöÇÏ´Â ÀÌÀ¯°¡ ´«¿¡ ¶çÁö ¾Ê±â ¶§¹®¿¡, ÀÌ Á¦ÇÑÀ» ºÙÀ̰í ÀÖÁö ¾Ê½À´Ï´Ù. SESSION¼ö½ÄÀÚ ¹×LOCAL¼ö½ÄÀÚ´ÂRESET±¸¹® °°ÀÌ,PostgreSQLÀÇ È®ÀåÀÔ´Ï´Ù.
ÀÌ ¸í·ÉÀ» ½ÇÇàÇϱâ À§ÇØ ÇÊ¿äÇÑ ±ÇÇÑÀº Ç¥ÁØ¿¡ ÀÇÇØ¼ ±¸Çö Á¤ÀÇµÈ °Í¿¡ ³²¾ÆÀÖ½À´Ï´Ù.