我在創建角色時打錯了字。現在我被“\ruser”困住了,我不知道如何正確地放棄這個角色。以任何方式轉義反斜杠都不起作用,使用 unicode 格式不起作用(洗掉角色 U&' myuser';)或任何型別的字串標記(“,',`)都不起作用。有什么想法嗎?
server=# \du
List of roles
Role name | Attributes | Member of
----------- ------------------------------------------------------------ -----------
\rmyuser | Superuser, Create role, Create DB | {}
myuser | Superuser, Create role, Create DB | {}
uj5u.com熱心網友回復:
只需用雙引號轉義識別符號:
DROP ROLE "\rmyuser";
如果\r不是反斜杠和r,而是“回車”的轉義版本,最簡單的方法可能是使用動態 SQL、擴展字串文字語法和format函式:
DO $$BEGIN EXECUTE format('DROP ROLE %I', E'\rmyuser'); END;$$;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/444781.html
標籤:PostgreSQL 角色
