# Создание БД и пользователей ```bash sudo -iu postgres psql ``` ```postgres CREATE DATABASE new_database; CREATE USER new_user WITH PASSWORD 'user_password'; GRANT ALL PRIVILEGES ON DATABASE new_database TO new_user; ``` ```{index} postgresql; identifiers, внешние ссылки ``` ``````{important} Ключевые слова и идентификаторы (или имена) в Постгрессе не чувствительны к регистру, соответственно строки ```postgres CREATE USER new_user; CReaTe uSeR New_uSer; create user new_user; ``` --- эквивалентны. Принято писать ключевые слова заглавными (`CREATE USER`), а имена строчными (`new_user`, `new_database`, `new_table`). Существует также особый тип идентификаторов: `delimited identifier` или `quoted identifier` (*т.е. "идентификатор в кавычках" --- стоит уточнить каноничный перевод*). Такие идентификаторы **регистрозависимы**. Соответственно, с точки зрения Постгресса, идентификаторы `FOO`, `foo` и `"foo"` --- идентичны, а `"Foo"` и `"FOO"` --- отличаются друг от друга и от первых трёх. ```{seealso} Подробнее: [SQL Syntax - Lexical Structure - Identifiers and Key Words](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS) ``` `````` ``````{hint} Практический вывод из сказанного выше: Если требуется использовать имена пользователей и баз данных смешанного регистра, нужно заключать их имена в кавычки: ```postgres CREATE USER "New_User"; ``` Как сказано в предыдущем блоке, общепринятая практика --- использовать имена в нижнем регистре (и без кавычек). ``````