linux - 无法在终端代码中为带连字符 (-) 的用户名添加密码

标签 linux database postgresql ubuntu

我创建了一个具有用户智能的数据库。我想给它添加一个密码。这总是给我错误

我尝试在没有连字符的情况下创建另一个用户,但没有问题。 使用 Ubuntu https://gyazo.com/03a58dcbd539a75868d886d66ca299a9

createdb 'smart-brain'
psql 'smart-brain'
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.
smart-brain=# ALTER USER smart-brain WITH PASSWORD 'test123';
ERROR:  syntax error at or near "-"
LINE 1: ALTER USER smart-brain WITH PASSWORD 'test123';

最佳答案

这是未经测试的,但有效的 Postgres 标识符只能包含字母、数字、下划线或美元符号。连字符似乎未包含在该列表中。这意味着,假设用户 smart-brain 甚至存在,您应该使用双引号将其转义。尝试以下更改语句:

ALTER USER "smart-brain" WITH PASSWORD 'test123';

关于linux - 无法在终端代码中为带连字符 (-) 的用户名添加密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54053423/

相关文章:

android - 即使数据存在于数据库中,也无法从 sqlite 数据库检索数据

sql - 如何为 json 中缺少的属性构建 postgres json 查询?

node.js - 使用 pg-promise 的连接池

database - 如何将数据库中的点(数据)绘制到 OpensStreetMap?

linux - rsync 和(后)处理同步文件

linux - 如何从 Linux 命令行获取 exe 的编译日期

c++ - 通过 execvp : StrictHostKeyChecking=no: unknown option 运行 rsync

linux - Phabricator git ssh clone 失败并出现需要密码错误

php - 编写双连接来获取产品的子类别

database - "http://"是否应该与 URL 的数据库记录一起存储?