Команда CREATE USER игнорирует регистр символов?

В PgAdmin 4 при выполнении команды CREATE USER PolzaK WITH PASSWRD новый пользователь создается в нижнем регистре. Как можно создать пользователя с учетом регистра, или это стандартное поведение?
  • 8 октября 2024 г. 8:15
Ответы на вопрос 4
В PostgreSQL имена пользователей (и имена других объектов) не чувствительны к регистру, если они не заключены в двойные кавычки. Если вы создадите пользователя без кавычек, то имя будет преобразовано в нижний регистр.

Чтобы создать пользователя с учетом регистра, нужно заключить имя в двойные кавычки:

```sql
CREATE USER "PolzaK" WITH PASSWORD 'your_password';
```

Теперь пользователь с именем "PolzaK" будет создан с учетом регистра. Если вы попытаетесь обратиться к пользователю без кавычек (например, `PolzaK` или `polzak`), это будет интерпретироваться как `polzak`, так как PostgreSQL преобразует все не заключенные в кавычки имена в нижний регистр.
https://www.postgresql.org/docs/current/sql-syntax... 
соответствовать синтаксису идентификаторов.
Нужно указывать в кавычках "" 
https://www.postgresql.org/docs/current/sql-syntax...
Если кавычек нет, то предполагается, что без учета регистра. Грубо говоря, без кавычек - все в нижний регистр. 
В данном случае, надо добавить кавычки вокруг имени пользователя:
CREATE USER "PolzaK" WITH PASSWORD

Но учитывай, что тебе и дальше придется всегда указывать кавычки. В противном случае,
ALTER USER PolzaK ...
Тоже самое, что и
ALTER USER polzak ...
Похожие вопросы