Unable to delete user with special character

0

Hi there,
I have some users in my database with special characters which can't be deleted, any idea how could I do it?

dwh_sch=# select * from pg_user where usename like 'jenn%' ;
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
--------------------------------------------------------------------------------+-----------
jenni.tulamito | 125 | f | f | f | ******** | |
(1 row)

dwh_sch=# drop user jenni.tulamito ;
ERROR: syntax error at or near "."
LINE 1: drop user jenni.tulamito ;

Thanks

已提問 4 年前檢視次數 372 次
1 個回答
0
已接受的答案

Wrap the username in double quotes.

CREATE USER "test.user" PASSWORD 'Testing123';
-- CREATE USER

select * from pg_user where usename like 'test%';
--   usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
-- -----------+----------+-------------+----------+-----------+----------+----------+-----------
--  test.user |      121 | f           | f        | f         | ******** |          |
DROP USER "test.user";
-- DROP USER
 
select * from pg_user where usename like 'test%';
--  usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
-- ---------+----------+-------------+----------+-----------+--------+----------+----------- 
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南