DROP ROLE
DROP ROLE â ÑдалиÑÑ ÑÐ¾Ð»Ñ Ð² базе даннÑÑ
СинÑакÑиÑ
DROP ROLE [ IF EXISTS ] Ð¸Ð¼Ñ [, ...]ÐпиÑание
DROP ROLE ÑдалÑÐµÑ ÑказаннÑе Ñоли. УдалиÑÑ ÑÐ¾Ð»Ñ ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ ÑолÑко ÑÑпеÑполÑзоваÑелÑ, а ÑÑÐ¾Ð±Ñ ÑдалиÑÑ ÑÐ¾Ð»Ñ Ð¾Ð±ÑÑного полÑзоваÑелÑ, доÑÑаÑоÑно имеÑÑ Ð¿Ñаво CREATEROLE.
ÐÑли на ÑÑÑ ÑÐ¾Ð»Ñ ÐµÑÑÑ ÑÑÑлки в какой-либо базе даннÑÑ
в клаÑÑеÑе, Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÐµÑ Ð¾Ñибка и ÑÐ¾Ð»Ñ Ð½Ðµ бÑÐ´ÐµÑ Ñдалена. ÐÑежде Ñем ÑдалÑÑÑ ÑолÑ, необÑ
одимо ÑдалиÑÑ Ð²Ñе пÑинадлежаÑие ей обÑекÑÑ (или ÑмениÑÑ Ð¸Ñ
владелÑÑа), а Ñакже лиÑиÑÑ ÐµÑ Ð´Ð°Ð½Ð½ÑÑ
ей пÑав Ð´Ð»Ñ Ð´ÑÑгиÑ
обÑекÑов. ÐÐ»Ñ ÑÑой Ñели можно пÑимениÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ REASSIGN OWNED и DROP OWNED; за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 22.4.
Ðднако ликвидиÑоваÑÑ ÑленÑÑво в ÑолÑÑ
, ÑвÑзанное Ñ ÑÑой ÑолÑÑ, не ÑÑебÑеÑÑÑ; DROP ROLE авÑомаÑиÑеÑки иÑклÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÐ¾Ð»Ñ Ð¸Ð· дÑÑгиÑ
Ñолей, и ÑÑеÑÑи Ñоли из данной. Сами Ñоли пÑи ÑÑом не ÑдалÑÑÑÑÑ Ð¸ дÑÑгим обÑазом никак не заÑÑагиваÑÑÑÑ.
ÐаÑамеÑÑÑ
IF EXISTSÐе ÑÑиÑаÑÑ Ð¾Ñибкой, еÑли ÑÐ¾Ð»Ñ Ð½Ðµ ÑÑÑеÑÑвÑеÑ. Ð ÑÑом ÑлÑÑае бÑÐ´ÐµÑ Ð²Ñдано замеÑание.
имÑÐÐ¼Ñ Ñоли, подлежаÑей ÑдалениÑ.
ÐÑимеÑаниÑ
PostgreSQL вклÑÑÐ°ÐµÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ dropuser, коÑоÑÐ°Ñ Ð¿ÑедоÑÑавлÑÐµÑ ÑÑ Ð¶Ðµ ÑÑнкÑионалÑноÑÑÑ (на Ñамом деле она вÑзÑÐ²Ð°ÐµÑ ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ), но Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ Ð² командной оболоÑке.
ÐÑимеÑÑ
Удаление Ñоли:
DROP ROLE jonathan;
СовмеÑÑимоÑÑÑ
Ð ÑÑандаÑÑе SQL опÑеделена команда DROP ROLE, но она Ð¼Ð¾Ð¶ÐµÑ ÑдалÑÑÑ ÑолÑко по одной Ñоли, а Ð´Ð»Ñ ÐµÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑебÑÑÑÑÑ Ð´ÑÑгие пÑава, не Ñакие как в PostgreSQL.